Ruby输入输出问题

时间:2012-09-28 01:52:53

标签: ruby

一个简单的问题,但无法弄清楚如何解决它,缺乏Ruby语言的知识:

class Game
  def initialize
    get_command
  end
  def get_command
    command = gets
    puts command                # => POSITION
    puts command != "POSITION"  # => true
    if command != "POSITION"
      command = get_command 
    else  
      return true
    end
  end
end

a = Game.new

每当我运行一个应用程序并输入POSITION时,总是得到true"POSITION"相比,任何人都可以解释原因吗?

由于

1 个答案:

答案 0 :(得分:2)

因为你实际得到的是“POSITION \ n”。你可以在irb中看到这个:

1.9.3p194 :061 > command = gets
POSITION
 => "POSITION\n"

在进行比较之前,您应该删除命令:

command = gets.strip

command = gets.chomp

这将从输入中删除空格(包括换行符)。