Почему "A".send('!='.to_sym, "B") вызывает ошибку NoMethodError в Ruby 1.8.7, а "A" != "B" нет - и как будет выглядеть правильный синтаксис для Object.send?
"A".send('!='.to_sym, "B")
"A" != "B"
Object.send
!= - это не метод в ruby 1.8. Он запрограммирован как отрицание вызова ==
!=
Поскольку на вторую половину вопроса еще не ответили:
'A'.send(:==, 'B').send(:!) # Ruby 1.9 !'A'.send(:==, 'B') # Ruby 1.8