ruby模块使用时出现奇怪错误

时间:2014-03-11 20:26:24

标签: ruby module

我有以下脚本:

start.rb

require 'csv'
require_relative "modules/01httpserver"
01httpserver.helloworld("something")

在文件夹/ modules中我有文件01httpserver.rb,该文件中的代码如下:

01httpserver.rb

module 01httpserver
  def self.helloworld(name)
    puts "Hello, #{name}"
  end
end

所以当我运行start.rb时,我收到以下错误:

start.rb:26: syntax error, unexpected tIDENTIFIER, expecting end-of-input
01httpserver.helloworld("something")
            ^

造成这种情况的原因是什么?谢谢!

2 个答案:

答案 0 :(得分:2)

变量和常量不能以数字开头。所以试图运行

1a = 10

会抛出相同的错误。

巧合的是,0XXXX表示八进制数,因此010的计算结果为8。

答案 1 :(得分:1)

在Ruby中,变量/类名不能以数字开头,因此01httpserver是无效的变量名。