这些符号在哪里定义,它们用于什么?
:w2_end
:w2_beg
:w1_beg
:w1_end
我使用行IRB
在Symbol.all_symbols
中找到了这些内容。
我的Ruby
版本和IRB
版本为:
C:\>ruby -v
ruby 1.9.3p374 (2013-01-15) [i386-mingw32]
C:\>irb --version
irb 0.9.6(09/06/30)
我在另一个Ruby
和IRB
版本中尝试了相同的操作,如下所示:
C:\>irb --version
irb 0.9.6(09/06/30)
C:\>ruby -v
ruby 1.9.3p392 (2013-02-22) [i386-mingw32]
Arr = Symbol.all_symbols
Arr.include?(:w2_end) #=> true
Arr.include?(:w2_beg) #=> true
Arr.include?(:w1_beg) #=> true
Arr.include?(:w1_end) #=> true
答案 0 :(得分:1)
这些符号不会出现在Ruby源代码中,也不会在我查找它们时定义:
$ rvm 1.9.3-p374 do irb
1.9.3p374 :003 > Symbol.all_symbols.map(&:to_s).grep(/^w\d/)
=> []
您是否已将irb配置为加载任何扩展程序?如果你有.irbrc,请查看.irbrc。
这些符号通常在readline库中找到。 irb使用readline。也许在Windows上的readline(例如用Ruby编码)有一些特殊的东西可以定义这些符号。