今天学习 Set 代码,看到其中::new 这么写
def initialize(enum = nil, &block) # :yields: o
@hash ||= Hash.new(false)
enum.nil? and return
if block
do_with_enum(enum) { |o| add(block[o]) }
else
merge(enum)
end
end
关于其中的
enum.nil? and return
之前没见过,是个语法糖吗?有相关的资料看看嘛?