0` `nil` .to_f#=> 0. 0`, ` "".to_f#=> 0.0` 的用例-6ren"> 0` `nil` .to_f#=> 0. 0`, ` "".to_f#=> 0.0` 的用例-我觉得如果 "".to_i 和 "".to_f 为 nil 或引发异常会很自然,而且确实如此定义 nil.to_i 或 nil.to_f 对我来说意义不大。 nil.to_i #=> 0, "".to-6ren">
gpt4 book ai didi

ruby - `nil` .to_i #=> 0`, ` "".to_i #=> 0` `nil` .to_f#=> 0. 0`, ` "".to_f#=> 0.0` 的用例

转载 作者:数据小太阳 更新时间:2023-10-29 09:02:24 25 4
gpt4 key购买 nike

我觉得如果 "".to_i"".to_fnil 或引发异常会很自然,而且确实如此定义 nil.to_inil.to_f 对我来说意义不大。

nil.to_i #=> 0, "".to_i #=> 0, nil.to_f#=> 0.0 的用例是什么"".to_f#=> 0.0?

最佳答案

两种情况:

  1. 初始值。

    @count = @count.to_i.next

    相对于

    @count = 0
    @count += 1
  2. 转换方便。

    通常你会得到返回一些值的集合,这些值是 nil。通常,您想要删除它们或将它们计为默认值。

    假设您有一种方法可以计算每个 SO 用户评分最高的帖子的平均分。如果用户根本没有帖子,User#highest_rated 将返回 nil:

    users.map{ |user| user.highest_rated.to_i }.reduce(:+) / users.size

    这不是一个完美的例子,但它一直在日常转换中发生。


为什么不引发异常或返回 nil

Ruby 超出了可用性。必须检查所有地方的 nil 值看起来有点笨拙。事实上,在很多情况下,当我使用这些操作时,正是为了确保将 nil 值转换为其默认对应值。

此外,to_i(例如)预计会返回一个整数。返回 nil 将是一个轻微的 wtf 时刻。

关于ruby - `nil` .to_i #=> 0`, ` "".to_i #=> 0` `nil` .to_f#=> 0. 0`, ` "".to_f#=> 0.0` 的用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32148640/

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