LoginSignup
5
4

More than 5 years have passed since last update.

ruby try/try!メソッドの活用法

Posted at

ある配列の値を取得してきてその値を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!メソッドの方を使って行った方がいいかな。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4