Сокращенная логика для добавления переменной на многих языках

#syntax

#синтаксис

Вопрос:

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

Например. (В 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 или i увеличивающее число.

Есть ли какой-нибудь язык, который поддерживает это?

Ответ №1:

конечно, x=y x — это то же самое, что и y = x

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

Тем не менее, я бы предложил .prepend() метод jQuery

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

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

1. Это дает точно такой же результат. Я не уверен, чего вы хотите достичь.

2. Нет — это не одно и то же с точки зрения логики программы, предположим, у вас есть две переменные, одну var html из которых вы создаете со сложными функциями и var title хотите добавить. Вы не хотите передавать html title переменную. Я не хочу изучать язык, основанный на этой детали, мне интересно, есть ли какой-нибудь язык, который поддерживает это. К сожалению, я не могу понизить ваш ответ.

3. Ваш отредактированный ответ более полезен, но идея состоит в том, чтобы упростить синтаксис.

4. вы хотите сделать это на стороне сервера или клиента?

5. Сторона не имеет значения. Здесь речь идет о логике синтаксиса.

Ответ №2:

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

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