아래 코드에서 Ruby 로컬 변수에 이상한 동작이 나타났습니다. Ruby가 잘못된 부분에 빠져서 params
을 nil로 설정 한 것 같습니다. irb의 코드는 다음과 같습니다.Ruby의 이상한 지역 변수 동작
2.1.2 :001 > def params
2.1.2 :002?> {a:1}
2.1.2 :003?> end
2.1.2 :014 > def go1!
2.1.2 :015?> p params
2.1.2 :016?> if false
2.1.2 :017?> params = 1
2.1.2 :018?> end
2.1.2 :019?> p params
2.1.2 :020?> end
=> :go1!
2.1.2 :021 > go1!
{:a=>1}
nil
=> nil
누구든지 설명 할 수 있습니까?
도 참조 : http://stackoverflow.com/a/12708516/2988 –