为什么当我粘贴脚本时,irb有时会感到害怕?

时间:2012-01-18 19:59:49

标签: ruby irb

def load_lib
    path = File.join(File.dirname(__FILE__), 'lib')
    failures = []
    Dir.glob("#{path}/**/*.rb").each {  |file|
        puts "loading: #{file} ... "
    }
end 

有脚本。当我单独放入每一行时,load_lib功能可用并且工作正常。但是当我将它粘贴到一个大块(Ubuntu终端,Sh Ctrl C)的irb中时,它会在Dir.glob(...行发出异常并显示出来:

Display all 931 possibilities? (y or n)
!
!=
!~
<=>
.... [dozens of lines in this vein]

然后根本不创建该方法。

以下是我一次将其粘贴到一行时会发生什么(成功):

>>  def load_lib
>>     path = File.join(File.dirname(__FILE__), 'lib')
>>     failures = []
>> Dir.glob("#{path}/**/*.rb").each {  |file|
?> puts file
>> }
>> end
=> nil
>> load_lib
./lib/alpha_processor.rb
./lib/development_mail_interceptor.rb
./lib/service_processors/beta_processor.rb

在粘贴时,irb不喜欢[]{}的某些内容吗?

1 个答案:

答案 0 :(得分:27)

这是因为你的源文件中有TAB字符。缩进空格。 : - )