Сокращенная логика для добавления переменной во многих языках - PullRequest
1 голос
/ 07 октября 2011

Мне интересно, почему сокращенные формы операторов присваивания работают только одним способом, это означает добавление значения переменной.

Пример.(В Javascript):

x+=y    x=x+y 
x-=y    x=x-y   
x*=y    x=x*y 
x/=y    x=x/y 
x%=y    x=x%y

Часто я встречал ситуации, когда мне нужно добавить переменную:

Пример.

x=y+x

Предположим, x и y являются строками иВы объединяетесь.

Я хотел бы иметь синтаксис, который допускает что-то вроде:

x=+y

Как и в случае с i ++ или ++, я увеличиваю число.

Какой язык поддерживает это?

Ответы [ 2 ]

1 голос
/ 07 октября 2011

несомненно, x = y + x - это то же самое, что и y + = x

Я озадачен тем, почему вы выучите новый язык только для экономии на 1 символе!

Однако,Я бы предложил метод JQuery .prepend()

http://api.jquery.com/prepend/

0 голосов
/ 16 октября 2011

Существуют языки, которые позволяют определять новые операторы и / или перегружать существующие операторы (см. Перегрузка операторов ).

Но операторы и их использование должны быть однозначными. В вашем примере x=+y может быть интерпретировано как x=y+x (как вы указали), но также как x=(+x) (+ как унарная операция как операция отрицания в -1). Эта двусмысленность может затруднить использование языка, особенно когда программисты хотят сделать свой код коротким и лаконичным. По этой же причине некоторые языки не имеют синтаксический сахар , например, операторы до / после увеличения / уменьшения (например, Python).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...