include?メソッド
指定した値が配列や文字列内に含まれているかを判定するメソッドです。
指定した値が含まれている→true
指定した値が含まれていない→false を返り値として返します。
例1
string = ["hello", "goodbye"]
puts string.include?("hello")
true
# ターミナル出力
例2
string = ["hello", "goodbye"]
puts string.include?("thanks")
false
# ターミナル出力
include?メソッドとif文を使って文字列を検知するプログラムを作成する
条件1:名前を入力すると「登録が完了しました」という文字列を出力すること
条件2:名前の中にピリオド(.)がある場合は、「 "!エラー!記号は登録できません"」という文字列を出力すること
条件3:名前の中に空白(半角のみ)がある場合は、「 "!エラー!空白は登録できません"」という文字列を出力すること
※今回空白に関しては、半角スペースのみを考えることとします。
def check_name(str)
if str.include?(".")
puts "!エラー!記号は登録できません"
elsif str.include?(" ")
puts "!エラー!空白は登録できません"
else
puts "登録が完了しました"
end
end
puts "登録したい名前を入力してください(例)YamadaTaro"
str = gets
check_name(str)
条件1~3をcheck_nameメソッド内でif文を使って分岐させていきます。
今回、条件2,3以外は登録が完了しましたという返しが来るため、条件2と3から記述していきました。
ちなみに、if文は条件が当てはまった時点で処理が終了します。
最後にcheck_nameメソッドを呼び出しています。