String#match
und Regexp#match
eine MatchData
zurück, wenn Spiel gelingt:Warum verhält sich `Symbol # match` anders als` String # match` und `Regexp # match`?
"".match(//) # => #<MatchData "">
//.match("") # => #<MatchData "">
//.match(:"") # => #<MatchData "">
Aber Symbol#match
gibt die Übereinstimmungsposition (wie String#=~
):
:"".match(//) # => 0
Warum Symbol#match
anders verhalten? Gibt es einen Anwendungsfall?
Sehr seltsame Entscheidung in der Tat ... – ndn
Schöne Frage. Zumindest wird es in der Dokumentation für 'Symbol # match' erwähnt: _Returns sym.to_s = ~ obj_. So ist es Zweck. – knut
Irgendwie verwandt: http://stackoverflow.com/questions/4884242/why-does-ruby-not-symbol-regex-match-operator – knut