[루비 수수께끼] &.및 try

5239 단어 Ruby

문제.

1&.to_hoge #=> ?
























답안

1&.to_hoge #=> NoMethodError: undefined method `to_hoge' for 1:Fixnum 

잠깐 설명 좀 해주세요.

# 存在しないメソッドを呼ぶ場合、
# tryだとnilになるが、
# &.だとNoMethodErrorになる。
1.try(:to_hoge) #=> nil
1&.to_hoge #=> NoMethodError: undefined method `to_hoge' for 1:Fixnum 

#ちなみに、レシーバがnilだったら、どっちでもnilになる。
nil.try(:to_hoge) #=> nil
nil&.to_hoge #=> nil

좋은 웹페이지 즐겨찾기