LoginSignup
0
0

More than 1 year has passed since last update.

特定の文字列検知

Posted at

check_nameメソッドを実装

以下の雛形から次の条件の処理を実装する。

・名前を入力すると「登録が完了しました」という文字列を出力すること

・名前の中にピリオド(.)がある場合は、「 "!エラー!記号は登録できません"」という文字列を出力すること

・名前の中に空白(半角のみ)がある場合は、「 "!エラー!空白は登録できません"」という文字列を出力すること

hinagata.rb
def check_name(str) 
  # 処理を記述
end

puts "登録したい名前を入力してください(例)YamadaTaro"
str = gets
check_name(str) 

include?メソッドを使う

include?メソッドはその文字列内や配列内に指定した値が含まれているかどうかを判定するメソッド。

example.rb
puts "hello".include?("llo")
# => true
array = ["apple", "banana"]
puts array.include?("なす")
# => false

これを生かして先ほどの雛形を実装すると以下のようになる。

practise.rb
def check_name(str) 
  if str.include?(".")
    puts "!エラー!記号は登録できません"
  elsif str.include?(" ")
    puts "!エラー!空白は登録できません"
  else
    "登録が完了しました"
  end
end

puts "登録したい名前を入力してください(例)YamadaTaro"
str = gets
check_name(str) 

check_nameメソッドを定義して仮引数strを設定。
変数strにgetsメソッドで入力した名前の値を代入し、実引数として渡す。
冒頭の条件の出力結果を出すために条件分岐する。
仮引数strで受け取った文字列に対してinclude?メソッドを使用し、”.”(ピリオド)と
” ”(半角スペース)がないかを判断している。

注意点としては条件分岐は条件が当てはまった時点で処理が終了してしまうので、「ピリオドや空白があるかどうか」という条件式を先に記述した方がよい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0