전달 된 유형의 이름 (예 : String.name # => 'String'
)으로 변환하는 방법을 알고있는 Callable
(이 경우 Lambda
)을 반환하는 루비의 간단한 팩토리를 작성합니다.#to_s가 실패 할 수 있습니까?
Fixnum
을 캐스팅하려고하면 Integer
을 사용하고 있습니다. 전달 된 값을 변환 할 수 없으면 실패합니다. 마찬가지로 나는 단순히있는, 나는 믿는다 String
변환하지만, 모두가 실패 할 수 있기 때문에 내 Lambda
의 다소 일관성있게 (인상 #to_s
를 사용하지만, 내가 발견, String
의 자신을 등 Float
, Time.zone.parse(x).to_time
, ...
을 사용하고 있습니다 Exception
).
레일스가 제공하는 것 이외의 악의적 인 원숭이 패치가 없다고 가정하면 #to_s
이 예외를 발생시키지 않을 것입니까?
[String.to_s documentation] (http://www.ruby-doc.org/core-2.1.2/String.html#method-i-to_s) :'수신자를 반환합니다. ' –