Ruby Object # send vs. negated equal

2 user1196609 [2012-03-08 16:02:00]

Почему "A".send('!='.to_sym, "B") вызывает NoMethodError в Ruby 1.8.7, а "A" != "B" - нет - и как выглядит правильный синтаксис для Object.send?

syntax ruby ruby-1.8


2 ответа


5 Решение Frederick Cheung [2012-03-08 16:08:00]

!= не является методом в ruby ​​1.8. Он был вынужден отрицать вызов ==


3 Jörg W Mittag [2012-03-09 03:47:00]

Поскольку вторая половина вопроса еще не ответила:

'A'.send(:==, 'B').send(:!) # Ruby 1.9

!'A'.send(:==, 'B')         # Ruby 1.8