2013-03-08 2 views
1

Где эти символы определены и для чего они используются?Как использовать приведенные ниже описания упомянутых символов?

: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

Вы можете уточнить свой вопрос? Что именно вы хотите знать? Символ - это просто символ. Это ничего не значит, ничего не делает. Ваш вопрос походит на то, как использовать номер '3' в Ruby. –

+0

Итак, вы сделали «Symbol.all_symbols», нашли эти четыре символа, и теперь вы хотите знать, какой код использует их и для чего они используют? –

+0

@muistooshort да. Вы правы. Могу ли я помочь вам в их использовании? –

ответ

1

Эти символы не появляются в источнике Руби, и не определяются ли они при их поиске:

$ rvm 1.9.3-p374 do irb 
1.9.3p374 :003 > Symbol.all_symbols.map(&:to_s).grep(/^w\d/) 
=> [] 

У вас есть irb, настроенный на загрузку любых расширений? Посмотрите в ваш .irbrc, если он у вас есть.

Эти символы обычно встречаются, среди других мест, библиотеки readline. irb использует readline. Возможно, что-то особенное о readline в Windows (например, оно закодировано в Ruby), что и определяет эти символы.