【发布时间】:2015-11-08 00:57:10
【问题描述】:
我正在制作一个基本的“助手”程序.. 无论如何,这是代码:
def sayHelp()
puts "------------List of help and commands-------------"
puts "Help-- Shows a list of commands."
puts "Start [PROGRAM] (PROGRAM ARGS)-- Starts the specified program."
return true
end
version = "1.0"
ccommand = ""
puts "Welcome to RubyBot " + version + "."
puts "------------------------------------"
sleep(3)
system "clear" or system "cls"
puts "Enter \"help\" for a list of commands."
puts "Please enter a command: "
ccommand = gets
if ccommand == "help"
sayHelp()
else
puts "Not right bro"
end
我继续运行它并输入帮助,但它只是把 Not right bro 扔给我。我做错了什么?
【问题讨论】:
-
您在发布问题后阅读了您的问题吗?这是一团糟吗?您必须先学习如何发布代码,然后才能提出问题。在任何情况下,在命令行中输入的任何内容都会有一个换行符(“\n”)作为最后一个字符,并且“help\n”永远不会等于“help”。试试
gets.chomp。 -
抱歉,我还是新手,格式化时遇到了一些问题。无论如何我想通了,但感谢您的时间:D
-
啊啊啊……老
gets.chomp问题/答案。 FWIW:ruby 方法应该在snake_case中,如果没有方法参数,则不需要空括号。 -
顺便说一句,如果您想查看字符串中的实际内容,请使用命令:
p ccommand。事实上,在更改为gets.chomp之前尝试一下。