私は 2 日前に Ruby 言語を調べ始めたばかりで、C 派生言語の考え方にあまりにも制約されていることをすぐに知りました... 文字列そのものを比較しようとしています。
def menu_listen
action = gets
while !(action.eql?("up")) && !(action.eql?("down")) && !(action.eql?("close")) do
puts "'#{action}' is not a valid command at this time."
action = gets
end
return action
end
...以前は次のように書かれていました:
def main_listen
action = gets
while action != "up" && action != "down" && action != "close" do
puts "'#{action}' is not a valid command at this time."
action = gets
end
return action
end
thisString.eql?(thatString) は thisString == thatString と同じであるとこのサイトで読みましたが、どちらも機能しないため、そう思われます。コマンド プロンプトに入力した入力は、while ループを通過せず、応答として次のようになります。
'down
' is not a valid command at this time.
これは、Enter キーを押すと、コマンド プロンプト入力の新しい行としても保存されるということですか? 文字列比較が正しく機能するようにこれを実装する方法を誰か教えてもらえますか?