gpt4 book ai didi

ruby-on-rails - #to_s 会失败吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:39 24 4
gpt4 key购买 nike

我正在用 Ruby 构建一个简单的工厂,它返回一个 Callable(在本例中是一个 Lambda),它知道如何转换为传递的类型的名称(例如 String.name # => 'String').

为了尝试转换 Fixnum,我正在使用 Integer,如果传递的值不可转换,它将失败。同样,我正在使用 FloatTime.zone.parse(x).to_time 等...

然而,对于 String,我发现自己只是简单地使用了 #to_s,我相信这会使我的 Lambda 有点不一致,因为所有但是 String 转换器可能会失败(引发 Exception)。

假设除了 Rails 提供的补丁之外,没有恶意的猴子补丁,#to_s 是否永远不会引发异常?

最佳答案

每个对象都继承自Object,它实现了默认的to_sinspect,返回“#”字符串。因此,如果您不重写该定义,#to_s 将适用于每个类。

但是,可以编写自己的 #to_s 实现并在那里引发异常,但这不太可能 - 我无法想象为什么有人要这样做。

关于ruby-on-rails - #to_s 会失败吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24935161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com