【问题标题】:A basic "Helper" program not working as expected一个基本的“助手”程序没有按预期工作
【发布时间】: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 之前尝试一下。

标签: ruby function puts


【解决方案1】:
ccommand = gets

gets 返回的字符串有一个尾随的换行符,去掉它就可以了:

ccommand = gets.chomp

【讨论】:

    猜你喜欢
    • 2012-02-06
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 2023-02-15
    • 1970-01-01
    • 2014-05-07
    相关资源
    最近更新 更多