简单的Ruby代码没有运行

时间:2012-01-28 20:20:39

标签: ruby

有人能告诉我为什么世界上这不起作用?以下代码是文件prog.rb

整个内容
class String
    def to_b
        return true if self == "true"
        false
    end
end

这是错误:

path/prog.rb:1: syntax error, unexpected keyword_def, expecting
<' or ';' or '\n'
             return true if self =...
                ^

文件中没有坏字符,我使用的是Ruby 1.9.3。代码在IRB中进行测试,发现可以正常工作。

这是一个错误吗?

由于

2 个答案:

答案 0 :(得分:5)

我的猜测是你的编辑器如何节省回车问题。它说它期望<;\n - 这意味着它没有检测到应该在最后出现的\n(回车) class String行。

检查编辑器的回车设置并重新保存文件。

答案 1 :(得分:1)

这可能是正确的做法:

class String
    def to_b
        return (self == "true")
    end
end