선택적 인수 Array.to_i는 여전히 배열을 반환합니다.

오식

repeat(string, number)문자열을 여러 번 반복하는 선택적 인수가 있는 간단한 함수를 만들고 있습니다. 포럼을 잘 살펴보고 잘 활용하려고 노력했습니다. 이전에 답변을 받았으면 용서 해주세요. 반복 횟수로 함수를 호출하면 *arg정수 배열이 생성되고 .map (& : to.i) 또는 단순히 array.to_i를 사용하여 정수로 변환 할 수 없습니다. 여기에 도움을 주시면 감사하겠습니다 :)

이 코드는 평가하려고 할 때 실패합니다. number < 3

def echo(string)
    string
end

def shout(string)
    echo(string).upcase
end

def repeat(string, *number)
    number = number.map { |i| i.to_i }
     outputStr = ''
    if number < 3
       echo(string) + " " + echo(string)
       #puts number.inspect.length
       else
           #count = number
           while number > 0
           number -= 1
           outputStr += echo(string) + " "
           end
       outputStr[0, outputStr.length - 1]
        #    
        #     number.times do {|i| outputStr += echo(string) + " " + echo(string)}

        #     end
        #     outputStr
    end
end

repeat('hi', 3)
sonna

이 코드는 평가하려고 할 때 실패합니다. number < 3

코드를 실행할 때 다음 오류가 발생합니다.

echo_repeat.rb:13:in `repeat': undefined method `<' for [3]:Array (NoMethodError)
Did you mean?  <<
  from echo_repeat.rb:31:in `<main>'

배열이 3보다 작은 지 물어 보려고하는데 Ruby가 처리 할 줄 모릅니다. 다음과 같은 경우에 대한 배열을 평가하는 시도 할 수 있었다 one?, any?또는 all?이하 3보다; 예 :

number.one? { |n| n < 3 }
number.any? { |n| n < 3 }
number.all? { |n| n < 3 }

그러나 당신은

문자열을 여러 번 반복하기 위해 선택적 인수가있는 간단한 repeat (string, number) 함수를 만들고 있습니다.

그리고 repeat함수는 number매개 변수 로 인수 배열을받습니다 .

def repeat(string, *number)

선택적 인수를 선언하려면 매개 변수가 지정되지 않은 경우에 설정해야하기 때문에 이는 의도적 인 것입니까? 예 :

def repeat(string, number = 1)

이것은 no number가 주어 졌을 때 문자열을 한 번만 반복합니다 . 예 :

repeat('hi')
# => "hi"
repeat('hi', 3)
# => "hi hi hi"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

배열에서 짝수 값을 제거하는 내 함수는 여전히 짝수를 반환합니다.

분류에서Dev

모두 선택 또는 개별적으로 선택하여 여러 확인란을 선택합니다.

분류에서Dev

PHP 함수는 여러 배열 값을 문자열로 반환합니다.

분류에서Dev

선택 자의 배열을 검색하고 일치하는 인덱스를 반환합니다.

분류에서Dev

Angular 2는 배열을 다시 바인딩 한 후 선택한 값을 유지하여 선택합니다.

분류에서Dev

pandas 다중 인덱스 DataFrame 열 수준 값은 선택 후에도 여전히 존재합니다.

분류에서Dev

선택적 매개 변수가 특정 값으로 제공되는 경우 'never'유형을 반환합니다.

분류에서Dev

Swift의 배열 인덱싱이 선택적 값을 반환하지 않는 이유는 무엇입니까?

분류에서Dev

배열에서 NaN을 제거하도록 설계된 코드는 여전히 NaN JS를 반환합니다.

분류에서Dev

RECURSIVE 함수는 반환 전 var_dump가 작동하는 동안 배열을 NULL로 반환합니다.

분류에서Dev

Ace 편집기는 기본적으로 전체 라인을 선택합니다.

분류에서Dev

fstream c ++ 함수는 전체 라인 fstream을 반환합니다.

분류에서Dev

@@ RowCount는 이전 선택 조건이 False 인 경우에도 1을 반환합니다.

분류에서Dev

배열을 사용하여 알 수없는 요소의 필터를 적용합니다. 또는 사용자로부터 선택 레코드 숨기기

분류에서Dev

선택적 바인딩을 사용하여 선택적 매개 변수를 다시 선언하는 것이 지원됩니까?

분류에서Dev

n-zero-packed array is a 배열 인수가 n-zero-packed이면 함수는 true를 반환합니다.

분류에서Dev

함수가 반환하는 문자열을 인쇄합니다. 여기에 두 가지 경우가 있습니다. 하나는 문자열에 대한 포인터, 다른 문자 배열을 반환합니다.

분류에서Dev

JS Array.splice는 원래 배열을 반환하고 여기에 연결합니다.

분류에서Dev

PHP array_filter는 객체 배열에 빈 배열을 반환합니다.

분류에서Dev

UIDatePicker에서 시간을 잠글 수 있지만 날짜는 여전히 선택할 수 있습니까?

분류에서Dev

char 배열을 가리키는 포인터를 반환합니다. 배열의 전체 내용을 어떻게 인쇄합니까?

분류에서Dev

PostgreSQL 11 : row_to_json ()의 coalesce ()는 여전히 null을 반환합니다.

분류에서Dev

정규식을 제외하고는 여전히 일치를 반환합니다.

분류에서Dev

PHP는 While 루프와 배열을 사용하여 반환 된 모든 값을 인쇄합니다.

분류에서Dev

PHP는 While 루프와 배열을 사용하여 반환 된 모든 값을 인쇄합니다.

분류에서Dev

문자열 배열을 정수 배열로 변환 한 후 함수는 널 배열을 반환합니다.

분류에서Dev

문자열 배열을 정수 배열로 변환 한 후 함수는 널 배열을 반환합니다.

분류에서Dev

권한이없는 사용자는 여전히 선택할 수 있습니다.

분류에서Dev

여러 번 사용 된 배열을 반환하는 함수는 매번 동일한 값을 제공합니다.

Related 관련 기사

  1. 1

    배열에서 짝수 값을 제거하는 내 함수는 여전히 짝수를 반환합니다.

  2. 2

    모두 선택 또는 개별적으로 선택하여 여러 확인란을 선택합니다.

  3. 3

    PHP 함수는 여러 배열 값을 문자열로 반환합니다.

  4. 4

    선택 자의 배열을 검색하고 일치하는 인덱스를 반환합니다.

  5. 5

    Angular 2는 배열을 다시 바인딩 한 후 선택한 값을 유지하여 선택합니다.

  6. 6

    pandas 다중 인덱스 DataFrame 열 수준 값은 선택 후에도 여전히 존재합니다.

  7. 7

    선택적 매개 변수가 특정 값으로 제공되는 경우 'never'유형을 반환합니다.

  8. 8

    Swift의 배열 인덱싱이 선택적 값을 반환하지 않는 이유는 무엇입니까?

  9. 9

    배열에서 NaN을 제거하도록 설계된 코드는 여전히 NaN JS를 반환합니다.

  10. 10

    RECURSIVE 함수는 반환 전 var_dump가 작동하는 동안 배열을 NULL로 반환합니다.

  11. 11

    Ace 편집기는 기본적으로 전체 라인을 선택합니다.

  12. 12

    fstream c ++ 함수는 전체 라인 fstream을 반환합니다.

  13. 13

    @@ RowCount는 이전 선택 조건이 False 인 경우에도 1을 반환합니다.

  14. 14

    배열을 사용하여 알 수없는 요소의 필터를 적용합니다. 또는 사용자로부터 선택 레코드 숨기기

  15. 15

    선택적 바인딩을 사용하여 선택적 매개 변수를 다시 선언하는 것이 지원됩니까?

  16. 16

    n-zero-packed array is a 배열 인수가 n-zero-packed이면 함수는 true를 반환합니다.

  17. 17

    함수가 반환하는 문자열을 인쇄합니다. 여기에 두 가지 경우가 있습니다. 하나는 문자열에 대한 포인터, 다른 문자 배열을 반환합니다.

  18. 18

    JS Array.splice는 원래 배열을 반환하고 여기에 연결합니다.

  19. 19

    PHP array_filter는 객체 배열에 빈 배열을 반환합니다.

  20. 20

    UIDatePicker에서 시간을 잠글 수 있지만 날짜는 여전히 선택할 수 있습니까?

  21. 21

    char 배열을 가리키는 포인터를 반환합니다. 배열의 전체 내용을 어떻게 인쇄합니까?

  22. 22

    PostgreSQL 11 : row_to_json ()의 coalesce ()는 여전히 null을 반환합니다.

  23. 23

    정규식을 제외하고는 여전히 일치를 반환합니다.

  24. 24

    PHP는 While 루프와 배열을 사용하여 반환 된 모든 값을 인쇄합니다.

  25. 25

    PHP는 While 루프와 배열을 사용하여 반환 된 모든 값을 인쇄합니다.

  26. 26

    문자열 배열을 정수 배열로 변환 한 후 함수는 널 배열을 반환합니다.

  27. 27

    문자열 배열을 정수 배열로 변환 한 후 함수는 널 배열을 반환합니다.

  28. 28

    권한이없는 사용자는 여전히 선택할 수 있습니다.

  29. 29

    여러 번 사용 된 배열을 반환하는 함수는 매번 동일한 값을 제공합니다.

뜨겁다태그

보관