`block in num_to_s ': 정의되지 않은 지역 변수 또는 메서드

스테판 파루 나시 빌리

다른 기준에서 숫자를 문자열로 변환하는 메서드를 실행하려고합니다.

아래 힌트를 사용하여 다른 기반으로 변환하는 방법을 알아 냈습니다.

#You will want to use the %, or modulus function; this finds the remainder when you divide by a number:

(123 / 10**0) % 10 == 3 # ones place
(123 / 10**1) % 10 == 2 # tens place
(123 / 10**2) % 10 == 1 # hundreds place

그러나 스크립트를 실행하면 오류가 발생합니다.

/Users/stepan/Desktop/ruby_tester.rb:33:in `block in num_to_s': undefined local variable or method `digit' for main:Object

하지만 digit라는 지역 변수가 있다고 생각합니다. 내가 무엇을 잘못하고 있지?

Digits = {
    1 => "1",
    2 => "2",
    3 => "3",
    4 => "4",
    5 => "5",
    6 => "6",
    7 => "7",
    8 => "8",
    9 => "9",
    10 => "10",
    11 => "a",
    12 => "b",
    13 => "c",
    14 => "d",
    15 => "e",
    16 => "f",
}

def num_to_s(num,base)

    highest_power = 0
    answer = " "
    while base**highest_power < num 
        highest_power += 1 
    end

    puts highest_power

    for power in 0..highest_power do 
        digit = Digits[ ((num / base**power) % base) ]
        answer.prepend(digit)
    end
    puts answer

end

num_to_s(10,2)
매트

Digits 해시에 0을 추가합니다.

0 => "0",

(10 / 2**0) % 20에서 찾을 수없는 것으로 평가 Digits되므로 digitnil 로 설정 됩니다.

코드에 다른 문제 (10 => '10'및 11 => 'a'?)가 있고 작업을 수행하는 더 좋은 방법이 있지만이 문제를 극복해야합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

정의되지 않은 지역 변수 또는 메서드 'place'

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`arr '

분류에서Dev

Rails에서 정의되지 않은 지역 변수 또는 메소드 to_a?

분류에서Dev

NameError 정의되지 않은 지역 변수 또는 메서드 'drink'

분류에서Dev

모듈에 대한 정의되지 않은 지역 변수 또는 메서드

분류에서Dev

Ruby on Rails 오류 : 정의되지 않은 지역 변수 또는 메서드

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`last_email '

분류에서Dev

rails : 정의되지 않은 지역 변수 또는 메소드 '요청'

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`first_name '

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`created_at '오류

분류에서Dev

OmniauthCallbacksController에 대해 정의되지 않은 지역 변수 또는 메소드 'provider'

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`new_password_reset '

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`createaddress_hotel_users_path '

분류에서Dev

RSPEC 정의되지 않은 지역 변수 또는 메소드`응답 '

분류에서Dev

Rails-정의되지 않은 지역 변수 또는 메소드 '시간표'

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`current_user 'cancancan

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`task_params '

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`recipient_email '

분류에서Dev

정의되지 않은 지역 변수 또는 메소드`days_till_expired '

분류에서Dev

Rails : 정의되지 않은 지역 변수 또는 메소드 '옵션'

분류에서Dev

# <FritkotsController 오류 메시지에 대해 정의되지 않은 지역 변수 또는 메서드`fritkot '

분류에서Dev

오류 : 최상위 수준에 대해 정의되지 않은 지역 변수 또는 메서드 'var'

분류에서Dev

Rails View의 binding.pry : NameError : 정의되지 않은 지역 변수 또는 메서드

분류에서Dev

show.html.erb에서 렌더링 할 때 정의되지 않은 지역 변수 또는 메서드

분류에서Dev

respond_with (Ruby on Rails)가있는 정의되지 않은 지역 변수 또는 메서드

분류에서Dev

투표 acts_as_votable Rails에 대한 정의되지 않은 지역 변수 또는 메서드 가져 오기

분류에서Dev

# <RSpec :: ExampleGroups에 대해 정의되지 않은 지역 변수 또는 메서드`clientid '

분류에서Dev

# <RSpec :: ExampleGroups에 대해 정의되지 않은 지역 변수 또는 메서드`clientid '

분류에서Dev

Rails Routing Error (정의되지 않은 지역 변수 또는 메서드`micropost_comment ')

Related 관련 기사

  1. 1

    정의되지 않은 지역 변수 또는 메서드 'place'

  2. 2

    정의되지 않은 지역 변수 또는 메소드`arr '

  3. 3

    Rails에서 정의되지 않은 지역 변수 또는 메소드 to_a?

  4. 4

    NameError 정의되지 않은 지역 변수 또는 메서드 'drink'

  5. 5

    모듈에 대한 정의되지 않은 지역 변수 또는 메서드

  6. 6

    Ruby on Rails 오류 : 정의되지 않은 지역 변수 또는 메서드

  7. 7

    정의되지 않은 지역 변수 또는 메소드`last_email '

  8. 8

    rails : 정의되지 않은 지역 변수 또는 메소드 '요청'

  9. 9

    정의되지 않은 지역 변수 또는 메소드`first_name '

  10. 10

    정의되지 않은 지역 변수 또는 메소드`created_at '오류

  11. 11

    OmniauthCallbacksController에 대해 정의되지 않은 지역 변수 또는 메소드 'provider'

  12. 12

    정의되지 않은 지역 변수 또는 메소드`new_password_reset '

  13. 13

    정의되지 않은 지역 변수 또는 메소드`createaddress_hotel_users_path '

  14. 14

    RSPEC 정의되지 않은 지역 변수 또는 메소드`응답 '

  15. 15

    Rails-정의되지 않은 지역 변수 또는 메소드 '시간표'

  16. 16

    정의되지 않은 지역 변수 또는 메소드`current_user 'cancancan

  17. 17

    정의되지 않은 지역 변수 또는 메소드`task_params '

  18. 18

    정의되지 않은 지역 변수 또는 메소드`recipient_email '

  19. 19

    정의되지 않은 지역 변수 또는 메소드`days_till_expired '

  20. 20

    Rails : 정의되지 않은 지역 변수 또는 메소드 '옵션'

  21. 21

    # <FritkotsController 오류 메시지에 대해 정의되지 않은 지역 변수 또는 메서드`fritkot '

  22. 22

    오류 : 최상위 수준에 대해 정의되지 않은 지역 변수 또는 메서드 'var'

  23. 23

    Rails View의 binding.pry : NameError : 정의되지 않은 지역 변수 또는 메서드

  24. 24

    show.html.erb에서 렌더링 할 때 정의되지 않은 지역 변수 또는 메서드

  25. 25

    respond_with (Ruby on Rails)가있는 정의되지 않은 지역 변수 또는 메서드

  26. 26

    투표 acts_as_votable Rails에 대한 정의되지 않은 지역 변수 또는 메서드 가져 오기

  27. 27

    # <RSpec :: ExampleGroups에 대해 정의되지 않은 지역 변수 또는 메서드`clientid '

  28. 28

    # <RSpec :: ExampleGroups에 대해 정의되지 않은 지역 변수 또는 메서드`clientid '

  29. 29

    Rails Routing Error (정의되지 않은 지역 변수 또는 메서드`micropost_comment ')

뜨겁다태그

보관