2020/01/10 実務で学んだこと

【実務で学んだこと】 Diary

その日に覚えたこと、学んだこと、知ったこと、気になったこと等を日記のように書いていきます。

今回は 2020/01/10(金)に学んだことを書いていきます。

【Rails】

ハッシュのValueが配列の時の取り出し方法

以下のような配列を含んだハッシュを、繰り返しで取り出したい場面がありました。

users = {
    :tom => ['トム', 24],
    :jon => ['ジョン', 22],
    :green => ['グリーン', 27]
}

valueの変数指定をカッコで囲むことで取得ができるようです。

users.each do | key, (name, age) |
    puts "#{key}: #{name}, #{age}"
end

#=> tom: トム, 24
#=> jon: ジョン, 22
#=> green: グリーン, 27
【Ruby超入門】ハッシュの基本

【Ruby超入門】ハッシュの基本

参考記事

ActiveJobの引数に渡せるクラス

ActiveJobの引数にTimeクラスを含んだハッシュを渡したらエラーとなりました。

どうやら決まったクラスしか渡せないみたいです。

参考記事

キーワードのない引数はキーワード引数よりも前に書く

メソッドに引数を渡す時には、引数がどのような意味を持つのかをわかりやすくするためにキーワードをつけることができます。

キーワード引数は以下のような形式で使用することができます。

def メソッド名(キーワード引数: デフォルト値, キーワード引数: デフォルト値)
  # 処理
end

基本的に通常の引数とキーワード引数を一緒に使用することはあまりよろしくないようですが、キーワード引数と混在している場合は、キーワードのない引数を先に記述する必要があります。

# NG
def メソッド名(キーワード引数: デフォルト値, 引数)
  # 処理
end

# OK
def メソッド名(引数, キーワード引数: デフォルト値)
  # 処理
end

参考記事