首页 > 解决方案 > 为什么#itself 会占用一个块?

问题描述

将块传递给 时itself,与tapand不同yield_self,它似乎没有被执行,那么它是做什么用的呢?

'a'.itself { |it| raise }

什么都没有提出。

标签: ruby

解决方案


我想你可以将一个块传递给任何 ruby​​ 方法,如果不使用它会被忽略:

1.to_s{ raise "1"}
# => "1"
1.to_f{ raise "1"}
# => 1.0
1.nil?{ raise "1"}
#=> false

推荐阅读