を出力します
person = {"Name" => "Randy", "Age" => 28, "Hometown" => "Jamesville",
"Favorite Food" => "Chicken"}
puts "I am #{person.fetch("Name")}. I am #{person.fetch("Age")}-years-old.
I'm from #{person.fetch("Hometown")} and my favorite food is #
{person.fetch("Favorite Food")}"
例えば
person = {name: "Randy",
age: 28,
hometown: "Jamesville",
favorite_food: "Chicken"}
代わりにKernel#sprintf
を使用できます。
sentence = "I am %{name}. I am %{age}-years-old.
I'm from %{hometown} and my favorite food is %{favorite_food}"
sprintf sentence, person
#=> "I am Randy. I am 28-years-old.\nI'm from Jamesville and my favorite food is Chicken"
またはこれらのメソッドの両方が(ちなみにHash
のための好適な構文である)ものの象徴キーに依存しているString#%
puts sentence % person
# I am Randy. I am 28-years-old.
# I'm from Jamesville and my favorite food is Chicken
#=> nil
を使用することができます
今、あなたのコードが明確ですそれが何をしているのか。少ないコードからどのように利益を得ますか?少ないコード!=より良いコード。あなたは、コードを明確かつ維持可能にしたいと思っています。数行のコードを保存するためにこのコードを犠牲にした場合(またはこのコードの文字数)、コードを維持または変更する必要がある場合にのみ、将来の自己(または他の誰か)の問題を解決します。 – Dbz
これを投稿する必要があります。https://codereview.stackexchange.com – Stefan
True Dbz、私はそれを考慮していませんでした。 –