该sourcify
宝石增加了一个Proc#to_source
方法:
>> require 'sourcify'
=> true
>> p = Proc.new {}
=> #<Proc:0x000001028490b0@(irb):3>
>> p.to_source
=> "proc { }"
Run Code Online (Sandbox Code Playgroud)
一旦你将块作为字符串,就可以很容易地看到花括号之间是否有(或只有空格).
更新:Ruby 2.0+删除了块比较,因此不再仅使用内置方法.
Ruby用来比较Proc
s,但并不是很好.例如,您可以:
def is_trivial_block?(&block)
block == Proc.new{}
end
is_trivial_block?{} # => true
is_trivial_block?{ 42 } # => false
# but caution:
is_trivial_block?{|foo|} # => false
Run Code Online (Sandbox Code Playgroud)
因此,决定删除块比较,因此==
如果它们是同一个对象,则现在有两个块.
归档时间: |
|
查看次数: |
2264 次 |
最近记录: |