ある配列の値を取得してきてその値をc = a[b]
という方法で変数に代入しようとしたら、
undefined method
[]' for nil:NilClass (NoMethodError)`
というエラーが出て、解決方法が全く分からなかった。
ググり続けていると、tryメソッド
にいきついた。
tryメソッドとは
user.name
というメソッドを記述したときに、userがnilだと
エラーになります。
もしくは、name
がない場合もエラーになります。
この二つの問題を解決するのがtryメソッドで、user.try(:name)としてやる。
まとめると、tryメソッドは、
(1)userがnilでなければ、nameを表示する。
userがnilの場合は、何もしないというメソッド。
(2)もう一つの意味は、userにnameが実装されていない場合は何もしない。
ただ、二つ目の使い方はあまりしないな。
try!メソッドとは
もう一つ、try!メソッドというメソッドがあります。
これは、tryメソッドの(1)のみの意味をもつメソッドになります。
tryの(2)はあまり使わないのだったら、try!メソッドの方を使って行った方がいいかな。