質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

2回答

749閲覧

Ruby classの外でexitを使用しメソッドの処理を抜け出したい

kousuke24

総合スコア29

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

1グッド

1クリップ

投稿2020/01/10 13:05

編集2020/01/11 04:06

現在Rubyでclass,methodを使用しプログラムを書き勉強しています。メソッド内にif文を二つ書き、どちらもtrueを返すコードを作成しました。

現在のコード

class Sample def number(arg) if arg == 3 puts "三" end if arg > 1 puts "一より大きい" end end end sample = Sample.new sample.number(3)

実行結果

三 一より大きい

これをclassの外でexitを使用し、最初のif文だけを実行させるプログラムを作りたいと思っています。※class、method内でexitを使わずに作成したいです!

実現したい結果

class Sample def number(arg) if arg == 3 puts "三" end if arg > 1 puts "一より大きい" end end end sample = Sample.new sample.number(3) この行(classの外)にexitコードを記述し、最初のif文だけを実行したいです。 実行結果 三

やって見たこと

if sample.number(3) exit end
exit unless sample.number(3).nil?
unless sample.number.nil?(3) exit end

上記の方法では全くできる気配がなく、どうすれば解決できるか途方にくれています。ご教授頂ければ幸いです。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

何をやりたいのかイメージしにくいのですが、class定義の中に手を加えず、メソッドの一部のみ実行したいということでしょうか?
それは無理です。そういう風にメソッドを作っておかなければならない。

投稿2020/01/10 13:10

otn

総合スコア84505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

もしかして、このようなことをなさりたいのでしょうか。

Ruby

1class Sample 2 def number(arg,mode) 3 if arg == 3 4 puts "三" 5 end 6 return if mode == 1 7 if arg > 1 8 puts "一より大きい" 9 end 10 end 11end 12 13sample = Sample.new 14sample.number(3,0) #最後まで実行する 15sample.number(3,1) #最初だけ実行する 16

投稿2020/01/11 02:14

tatsu99

総合スコア5438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問