非常に初歩的な質問で恐縮ですが、以下の式がなぜ文法エラーになるのかいまいち理解できず困っております。
ruby
1v2 = true || raise "Error" 2p v2
shell
15-1-1.rb:105: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' 2v2 = true || raise "Error" 3 ^
条件演算子||
は演算子の左側の評価が真であれば、右側の評価は行わない、と理解しています。左側がtrueになっている以上、v2にtrueを代入して処理が終わるのではないか、と考えてしまいます。
右側に raise
を置いているのが問題ということなのでしょうか?条件演算子||
の左右にはあくまで「値」しか置けないということなのでしょうか?この辺の正確な知識がなく困っております。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/28 02:51