1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ruby include?メソッドを使ってプログラムを作成する

Posted at

include?メソッド

include?メソッドについては以前の投稿で書きました。

今回include?メソッドをもう一度調べているときに、大文字小文字を区別せずに検索する方法があることを知りました。

例:大文字小文字を区別せずに検索する

string = "Hello World"
puts string.downcase.include?("hello world")
true
# ターミナル出力

downcaseメソッドは、大文字を小文字に変換します。
今回は小文字に変換して、("hello world")を検索したという流れです。

include?メソッドを使って、特定の数字が含まれているかをチェックするプログラムを作成

下記条件です。

  • 条件1:配列内に1,2,3が全て入っている場合は、「True」と出力すること
  • 条件2:配列内に1,2,3の全てが入っていない場合は、「False」と出力すること
def array123(nums)
  if nums.include?(1) && nums.include?(2) && nums.include?(3)
    puts "True"
  else
    puts "False"
  end
end

# 呼び出し例
array123([1, 1, 2, 3, 1])
True
# ターミナル出力

解説

1行目では、array123メソッドの仮引数numsに配列([1, 1, 2, 3, 1])が格納されています。
2行目では、配列に1, 2, 3が含まれているかどうか条件分岐を使って記述しています。
演算子&&を使って複数の条件設定が可能です。

もし条件分岐の記述を以下のようにしたらどうなるか?

def array123(nums)
  if nums.include?([1, 2, 3])
    puts "True"
  else
    puts "False"
  end
end

# 呼び出し例
array123([1, 1, 2, 3, 1])

ターミナルでは以下のように返されます。

False

呼び出し例に書いてある配列は、1, 2, 3以外の(全部で5つの数字)が含まれています。
そのため、Falseと返されてしまいます。
&&を使って1つずつ数字が含まれているか確認することで、正しく検知してくれるということです。

参考文献

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?