Является ли следующее допустимым оператором / выражением ruby

#ruby

#ruby

Вопрос:

видел следующее в каком-то файле .rb

  name "something"
  

почему бы не использовать присваивание, подобное name = "something"

Ответ №1:

 name = "something"
  

присваивает something переменной с именем name .

 name "something"
  

вызывает метод, name передающий something в качестве параметра.

Это два разных оператора.

Комментарии:

1. на самом деле, name = "something" было бы вызвать метод name= с "something" в качестве параметра.

2.Нет, name = "something" никогда не вызывает name=() метод. Это происходит только с явными получателями, например foo.name = "something" .

3. Пока мы придираемся: ни одно из двух не является утверждением. В Ruby нет операторов, все является выражением.