[解決済み] Rubyの帰着点とは?
2023-06-19 14:49:24
質問
とはどのような違いがあるのでしょうか?
return
のように変数を入れるだけと、以下のように
ノーリターン
def write_code(number_of_errors)
if number_of_errors > 1
mood = "Ask me later"
else
mood = "No Problem"
end
mood
end
戻る
def write_code(number_of_errors)
if number_of_errors > 1
mood = "Ask me later"
else
mood = puts "No Problem"
end
return mood
end
どのように解決するのですか?
return
を使用すると、早期にブレイクアウトすることができます。
def write_code(number_of_errors)
return "No problem" if number_of_errors == 0
badness = compute_badness(number_of_errors)
"WHAT?! Badness = #{badness}."
end
もし
number_of_errors == 0
であれば
"No problem"
はすぐに返されます。 しかし、メソッドの最後では、あなたが観察したように、それは不要です。
編集します。
ということを示すために
return
が即座に終了することを示すために、この関数を考えてみましょう。
def last_name(name)
return nil unless name
name.split(/\s+/)[-1]
end
としてこの関数を呼び出すと
last_name("Antal S-Z")
として呼び出すと
"S-Z"
. もし、これを
last_name(nil)
と呼ぶと
nil
. もし
return
はしなかった
が即座に終了しなかった場合、それは
nil.split(/\s+/)[-1]
を実行しようとしますが、これはエラーを投げるでしょう。
関連
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] JavaScriptで複数の値を返す?
-
[解決済み] Bash関数におけるreturnとexitの違いについて
-
[解決済み] Rubyのincludeとrequireの違いは何ですか?
-
[解決済み] Rubyで文字列の連結を行う
-
[解決済み】Rubyのrequire_relativeとrequireの違いは何ですか?
-
[解決済み] Rubyです。変数を文字列にマージする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyの文字列の中から"˶‾‾‾˵"を削除するにはどうしたらいいですか?
-
[解決済み] rubyのClassとKlassの違いは何ですか?
-
[解決済み] Rubyでモジュール変数を作成する
-
[解決済み] Rubyのプライベートモジュールメソッド
-
[解決済み] Hash.new([]などのHashのデフォルト値を使用すると、予期せぬ動作(値が消える/変わる)が発生します。)
-
[解決済み] Rubyで配列を一度に初期化するには?
-
[解決済み] ルビー、!オペレーター(a/k/a ダブルバン)[重複]|日本郵船
-
[解決済み] Rubyで2つの配列のマージとインターリーブ
-
[解決済み] メソッド名の最後にある「!」や「?」は何のため?
-
[解決済み] Rubyのモジュール/ミキシンからクラスメソッドを継承する