-1

これが私のコードです:

@cmd == "exit"

@cmdが文字列変数「exit」の場合、trueを返しません。なぜ何か提案はありますか?

-編集-

-解決済み

エラー:@cmdは'@cmd =gets'を使用して作成されたため、@cmdに'\n'が追加されました。ご協力いただきありがとうございます!

4

2 に答える 2

4

@cmdには、exit以外のものが含まれている必要があります。@cmdに改行やスペースなどの空白文字が含まれている可能性はありますか?おそらく試してみてください:

@cmd.chomp!
@cmd.strip!
@cmd == "exit"

@cmdが$stdin.readlineから設定されている場合は、改行文字が含まれている可能性があります。ストリッピングとチョッピングは、不確実性を排除するのに役立ちます。

于 2012-11-21T20:11:30.433 に答える
1

正確に何であるかを見てください@cmd

p @cmd

または試してみてください:

@cmd.to_s == "exit"
于 2012-11-21T20:09:36.730 に答える