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

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

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

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

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Q&A

解決済

2回答

766閲覧

Ruby 演算子 trueを返したい。

read_blue2

総合スコア13

Ruby

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

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

0グッド

0クリップ

投稿2018/02/23 13:54

3通りの選択肢からランダムに選ばれたものと、getsで文字入力したものと、
等しい際には、trueで返したいと思っているのですが、等しい場合でも
うまくいきません。

if suiri == murder.sample then が間違っているのでしょうか。
どう修正したらよいか教えていただけないでしょうか。
よろしくお願い致します。

Ruby

1```Encoding.default_external = "cp932" 2 3murder = ["シキ","モハヤ", "コナン"] 4murder.sample 5puts "シキ, モハヤ, コナン ,この中に犯人がいます" 6puts "犯人だと思う人物を入れてください" 7#犯人を入力 8suiri = gets 9 10puts murder.sample 11puts suiri 12# 正解したら犯人という 13if suiri == murder.sample then 14 print("名探偵") 15else 16 print("ポンコツ") 17end

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

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

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

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

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

guest

回答2

0

murder.sampleの返り値は何かしらの変数に入れる必要があるかと…

ruby

1murder = ["シキ","モハヤ", "コナン"] 2target = murder.sample 3puts "シキ, モハヤ, コナン ,この中に犯人がいます" 4puts "犯人だと思う人物を入れてください" 5 6# 犯人を入力 7 8suiri = gets 9 10puts target 11puts suiri 12 13# 正解したら犯人という 14 15if suiri == target then 16 print("名探偵") 17else 18 print("ポンコツ") 19end

投稿2018/02/23 14:40

編集2018/02/23 15:20
namnium1125

総合スコア2043

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

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

read_blue2

2018/02/23 14:49

変数いれる必要があるのですね。ありがとうございました。
namnium1125

2018/02/23 15:19

その仰り方だと理解されているのかいないのかわからないのですが… (^ ^; 何故入れる必要があるか、考えてみましたか?
read_blue2

2018/02/24 01:52

理解を確認する追記コメント、ありがとうございます。なんとなく思ったのは、①ランダムのものから1つに確定したため、変数を入れる必要がある②場所を超えて(表現がまだおぼろげですが)、参照できるようにするため、入れる必要があると考えていましたが、理解合っているでしょうか?
namnium1125

2018/02/24 02:35

合っています。理解しておられて何よりです(^_^)
read_blue2

2018/02/24 08:58

合っていて、良かったです♪ありがとうございました!!
guest

0

ベストアンサー

getsは入力に改行が含まれる場合改行も含んだ文字列を返すので
String#chompを用いて末尾の改行を取り除く必要があります。

なお、変数に入った文字列が改行を含んでいるのかについてはpメソッドを使うとよいです

ruby

1s = gets 2p s # => "コナン\n" 3p s.chomp # => "コナン"

投稿2018/02/23 14:36

asm

総合スコア15147

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

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

read_blue2

2018/02/23 14:57

改行を含むのですね!詳しく説明していただき、感謝です。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問