Один из моих коллег и я пытались понять, почему символы не автоматически разбиваются на строки при выполнении сопоставления с регулярным выражением:
>> :this =~ /./
=> false
>> :this =~ :this
=> false
>> :this =~ /:this/
=> false
Одна теория состояла в том, что Symbol переопределяет метод: = ~, поэтому мы провериливыход: это. методы.Мы обнаружили, что Symbol не переопределяет: = ~ ( 1 ), но также заметил очень странный метод:
>> :this.respond_to? :taguri=
=> true
В японском языке た ぐ り (taguri) означает «наматываниеи т. д.) "( 2 ), но я не могу понять, как это связано с символом, и не могу найти источник Ruby для метода в Символекласс.
Любые подсказки?