Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。
Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。
Q&A
解決済
4回答
6269閲覧
総合スコア63
1グッド
1クリップ
投稿2019/12/24 14:47
1
a = 1 if a == 1 puts "#{a}は1です1" end
という真のみの判定しかない処理があるとします。これを三項演算子のように一行で納めたいのですが何かいい方法はありますでしょうか? 初歩的な質問ではありますが、何卒よろしくお願いします。
a == 1 ? "#{a}は1です1" : break
は、思っていた処理結果と違っていました。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答4件
0
ベストアンサー
別に、一行に書けばいいのではないでしょうか。
Ruby1セミコロンで区切って、 2if a == 1; puts "#{a}は1です1";end 3あるいは、 4if a == 1 then puts "#{a}は1です1" end
Ruby
1セミコロンで区切って、 2if a == 1; puts "#{a}は1です1";end 3あるいは、 4if a == 1 then puts "#{a}は1です1" end
elseが無い場合、条件が偽なら全体の値はnilなので、三項演算子で書くと、
else
nil
Ruby1a == 1 ? puts "#{a}は1です1" : nil
1a == 1 ? puts "#{a}は1です1" : nil
となります。
あるいは、場合によっては、
Ruby1a == 1 && puts "#{a}は1です1"
1a == 1 && puts "#{a}は1です1"
投稿2019/12/24 15:37
総合スコア86461
回答へのコメント
2019/12/27 03:51
質問文のコードを rubocop でチェックすると、こんな警告が出ます。
参考情報
... 不可 if some_condition do_something end 良好 do_something if some_condition これも良好 some_condition && do_something ...
... 不可 if some_condition do_something end
良好 do_something if some_condition
これも良好 some_condition && do_something ...
こんなふうに書き換えれば、警告はなくなります。
投稿2019/12/26 23:22
総合スコア22328
いろいろあります
puts "#{a}は1です1" if a == 1 a == 1 && puts "#{a}は1です1"
投稿2019/12/24 21:13
総合スコア23678
nilは如何でしょう?
a = 1;puts a == 1 ? "#{a}は1です1" : nil #=> 1は1です1
投稿2019/12/24 15:11
総合スコア432
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
Rubyでif文を一行にしたい。(真のみ)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/27 03:51