Rubyのブロックを使うヘ(^o^)ノ

こんなメソッドを作ってみる

User = Struct.new(:name)
user = User.new("murajun1978")

def hello(name)
  "Hello, #{name}"
end

hello(user.name) # => "Hello, murajun1978"

よくある感じ

んじゃ、ブロックを使ってみよう

User = Struct.new(:name)
user = User.new("murajun1978")

def hello_tag(name = yield)
  "Hello, #{name}"
end

result = hello {
  if user.name == "murajun1978"
    "#{user.name}ヘ(^o^)ノ"
  else
    "#{user.name}(>_<)"
  end
}
result # => "Hello, murajun1978ヘ(^o^)ノ"

あまり良さが伝わらないけど...

呼び出し元でごりごりできます

Happy Hacking٩( ‘ω’ )و