【发布时间】:2023-03-24 21:00:01
【问题描述】:
我正在用 Ruby 构建一个简单的工厂,它返回一个 Callable(在本例中为 Lambda),它知道如何转换为传递的类型的名称(例如 String.name # => 'String')。
要尝试转换Fixnums,我正在使用Integer,如果传递的值不可转换,它将失败。同样,我正在使用Float、Time.zone.parse(x).to_time 等...
然而,对于Strings,我发现自己只是使用#to_s,我相信这会使我的Lambdas 有点不一致,因为除了String 转换器之外的所有转换器都可能失败(引发Exception)。
假设没有恶意的猴子补丁,除了 Rails 提供的补丁,#to_s 真的不会引发异常吗?
【问题讨论】:
-
来自String.to_s documentation:
Returns the receiver.
标签: ruby-on-rails ruby casting