Я пытался дать ответ, но похоже, что Руби умнее меня:
# Adults! Don't try this at work. We're what you call "amateurs"
def a=(*args)
if args.size == 1
STDERR.puts "Assignment"
@a = args[0]
else
STDERR.puts "Comparison"
return args[0] == args[1]
end
end
self.a=([1,2,3])
Assignment
=> [1, 2, 3]
self.a=([1,2,3],[4,5,6])
SyntaxError: (irb):12: syntax error, unexpected ',', expecting ')'
self.a=([1,2,3],[4,5,6])
^
from C:/Ruby19/bin/irb:12:in `<main>'
self.send(:a=, [1,2,3],[4,5,6])
Comparison
=> false