0

我想把一个大的变量定义放在一个单独的文件中,以免碍事。不过,我一定是做错了什么,因为我的puts电话没有发出任何声音。

my_class.rb:

class foobar
  def initialize
    require 'datafile.rb'
    puts @fat_data
  end
end

数据文件.rb:

@fat_data = [1,2,3,4,5,6,7,8,9,10]

你可以这样使用require吗?

4

2 回答 2

0

如果您只想从类定义中获取数据,还可以使用 __END__ 和 DATA:

无用的 Ruby 技巧:DATA 和 __END__

于 2010-03-13T10:49:18.263 回答
0

你可以这样做:

my_class.rb:

class Foobar
  def initialize
    init_fat_data
    puts @fat_data
  end
end

数据文件.rb:

class Foobar
  private

  def init_fat_data
    @fat_data = [1,2,3,4,5,6,7,8,9,10]
  end
end

或者,也许,更改class Foobardatafile.rbmodule MyData然后将模块包含Foobarmy_class.rb.

于 2010-03-13T12:16:10.640 回答