以下の内容はhttps://kamatimaru.hatenablog.com/entry/2025/10/26/234756より取得しました。


Rubyのハッシュとキーワード引数の省略記法

Ruby3.1からハッシュとキーワード引数の省略記法が使えます。

仕事でコードレビューをしていて「これは何だ?」と思ってしまったので確認しておきたいと思います。

www.ruby-lang.org

ハッシュの場合

事前にc = 3のようにローカル変数を定義している場合、{ c: }と書くだけで{c: 3}と同じ意味になります。

mapping1 = {
  a: 1,
  b: 2
}
pp mapping1 # {a: 1, b: 2}

c = 3
mapping2 = {
  c:,
  d: 4
}
pp mapping2 # {c: 3, d: 4}

キーワード引数の場合

事前にname = "田中"のようにキーワード引数と同じ名前のローカル変数を定義している場合、hello(name:)と書くだけでhello(name: name)と同じ意味になります。

def hello(name:)
  puts "こんにちは#{name}さん!"
end

hello(name: "山田") # こんにちは山田さん!

name = "田中"
hello(name:) # こんにちは田中さん!

参考

qiita.com

WEB+DB PRESS Vol.127』を読むとこの省略記法が導入された背景もわかって理解が深まります。

gihyo.jp




以上の内容はhttps://kamatimaru.hatenablog.com/entry/2025/10/26/234756より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14