Crystal の Proc
こういう関数があって:
def greeting(&block) yield "Hello, World!" end
こんな風に渡すことができるよ:
# # 通常通りにブロックを渡す。 greeting { |v| puts v } # # puts を Proc にして渡す。 greeting &->puts(String) # # puts を Proc にしたものをブロックとして渡す。 proc = ->puts(String) # greeting proc # これはエラー! greeting &proc
Crystal ではオーバーロードができるので、ブロック無しの greeting
を呼び出したい場合は、
ブロック無しの greeting
を作ろう?