Max*_*iro 5 ruby csv ruby-on-rails
我的问题很简单:
我是否必须require 'csv'使用Ruby on Rails上课?
如果我打开rails console并尝试使用CSV gem它可以工作,但是我必须在文件中这样做吗?
Tom*_*ord 11
该CSV库是ruby标准库的一部分; 它不是宝石(即第三方库).
与所有标准库(与核心库不同)一样,csvruby解释器不会自动加载.所以,是的,在你的应用程序的某个地方你需要require它:
irb(main):001:0> CSV
NameError: uninitialized constant CSV
from (irb):1
from /Users/tomlord/.rbenv/versions/2.4.4/bin/irb:11:in `<main>'
irb(main):002:0> require 'csv'
=> true
irb(main):003:0> CSV
=> CSV
Run Code Online (Sandbox Code Playgroud)
在诸如rails应用程序之类的大型项目中,您可能会发现csv实际上已经加载了; 也许在某个地方"模糊",如在宝石内,或某处config/initializers/*,或config/application.rb.
但是,依赖于像这样"无关"的地方加载的库通常是一个坏主意; 这样做可能会导致在更改时无意中破坏其他代码,或者在此处逐渐加载越来越多的库,即使不再需要某些代码也是如此.
所以简而言之:是的,我建议写require 'csv'在任何使用该CSV库的文件的顶部.或者,在一个更大的项目中,显然需要在许多地方加载和使用这个库,你可以考虑只在全球范围内加载它config/application.rb
| 归档时间: |
|
| 查看次数: |
549 次 |
| 最近记录: |