Если я скажу:
x = "abc"
это похоже на объявление, определение и присвоение, все одновременно, независимо от того, говорил ли я что-либо о х в программе ранее.
Это правильно?
Я не уверен, какова правильная терминология в Ruby для объявлений, определений и назначений или есть ли даже различия между этими вещами из-за динамической типизации в Ruby.
@ tg: Что касается вашего пункта № 2: даже если x существовал до оператора x = "abc", не могли бы вы назвать оператор x = "abc" определением / переопределением?