Ruby symboli nie robi automatycznie stringify podczas wykonywania mecz regex na nich, które jest łatwe do zrobienia, gdy masz zmienne zawierające symbole i zapomnieć, że trzeba do nich zadzwonić na #to_s przed próbą regex meczu:Dlaczego Ruby nie jest symbolem nr = = ~ (operator dopasowania do wyrażenia regularnego)?
>> :this =~ /./
=> false
>> :this =~ :this
=> false
>> :this =~ /:this/
=> false
okazuje się, że: = ~ jest zdefiniowana w obiekcie, Ruby 1.8 jest pierwotna klasa:
http://rubybrain.com/api/ruby-1.8.7/doc/index.html?a=M000308&name==~
oczywiście, realizacja prostu zwraca false, pozostawiając go do podklasy jak ciąg i wyrażenia regularnego zapewnić sensowne wdrożenia.
Dlaczego więc Symbol nie zapewnia czegoś takiego?
Dowolni lingwiści z Rubinów wiedzą?
Pisałem dobrą ilość kodu Ruby, i nie mieć kiedykolwiek natknąłem się na problem, więc nie mogę powiedzieć, że jest to łatwe. –