Ну, я думаю, что причина дело обстоит так состоит в том, потому что qwerty = 4
ambiguous—, Вы определяете новую переменную, названную qwerty
, или называете метод set? Ruby разрешает эту неоднозначность путем высказывания, что это создаст новую переменную, таким образом эти self.
требуется.
Вот другой случай, где Вам нужно self.
:
class A
def test
4
end
def use_variable
test = 5
test
end
def use_method
test = 5
self.test
end
end
a = A.new
a.use_variable # returns 5
a.use_method # returns 4
, Как Вы видите, доступ к test
неоднозначен, таким образом, эти self.
требуется.
кроме того, это - то, почему примером C# является на самом деле не хорошее сравнение, потому что Вы определяете переменные способом, который однозначен от использования метода set. Если Вы определили переменную в C#, который был тем же именем как средство доступа, необходимо будет квалифицировать вызовы к средству доступа с this.
, точно так же, как случай Ruby.
Они говорят, что Eclipse может предоставить это в своей следующей версии.
[обновление - 2016]
Облачная IDE Eclipse доступна по адресу http://www.eclipse.org/che/
Не уверен, что это именно то, что вы ищете, но Bespin - это онлайн-редактор, который выглядит интересно ...
Вы можете использовать ideone.com - он служит простым компилятором java (и многих других языков) и средой выполнения.