|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
Операции присваивания правоассоциативны, а что было бы, если бы они были левоассоциативны?28.10.2021, 17:00. Показов 2486. Ответов 21
Метки нет (Все метки)
Здравствуйте! В моём учебнике по Java было написано следующее:
«Операции присваивания правоассоциативны. Это означает, что а = b = с равнозначно а = (b = с), что позволяет объединять операции присваивания в цепочку». Можно ли было бы объединить операции присваивания в цепочку, если бы они были левоассоциативны?
0
|
|
| 28.10.2021, 17:00 | |
|
Ответы с готовыми решениями:
21
Как в VS откатить файлы кода, если ранее они были уже сохранены и VS была закрыта? |
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 28.10.2021, 17:14 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
| 28.10.2021, 18:04 [ТС] | |
|
Я не совсем поняла… Числа ведь приравнивают друг к другу, а не перемножают/складывают, как Вы сказали.
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 28.10.2021, 18:48 | |
Сообщение было отмечено Julia Moskvina как решение
Решение
Julia Moskvina, смотри, если бы операция присваивания была бы левоассоциативна, то:
a = b = c превратилось бы в (a = b) = c, что означало:присвоить переменной a значение переменной b, затем переприсвоить переменную a значение переменной c, что достаточно бессмысленно само по себе, т. к. это было бы эквивалентно просто a = c.
1
|
|
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
| 28.10.2021, 22:04 [ТС] | |
|
Получается, всё-таки операция присваивания не может быть левоассоциативной?
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 28.10.2021, 22:05 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
| 28.10.2021, 22:13 [ТС] | |
|
Получается, так как операции присваивания правоассоциативны, а=b=c равносильно a=(b=c), а если бы они были левоассоциативны, выстраивание цепочки было бы бессмысленно… А когда а=(b=c) мы переменной b присваиваем значение с или переменной с присваиваем значение переменной b?
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 28.10.2021, 22:40 | |
|
1
|
|
|
|
|
| 29.10.2021, 11:10 | |
Сообщение было отмечено Julia Moskvina как решение
Решение
Вопрос из разряда "Нахиба попу баян". суть в том, шо так сложилось, шо в програмировании оператор присваивания всегда правоасоциативен, и имеет почти самый меньший приоритет. это приводит к тому, шо справа от него, можно записать выражение любой сложности, сначала програма его обчислит, и лишь потом, результат запишитт в переменую. будь он левоасоциативным, по сути нихиба бы не изменилось, писали бы не как сейчас(ф = х + у * й), а писали бы как в школьной тетрадке по математике (х + у + й = ф)
0
|
|
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
| 29.10.2021, 11:15 [ТС] | |
|
Допустим, что а=4; b= 3; c=6. Я выстроила цепочку а=b=с и вывела на экран значение а. Потом я заменила эту цепочку на выражение а=с. Вывелось то же самое значение, что и первом случае – 6! Получается, что выстраивание цепочек бессмысленно? Arsegg, Вы вчера мне написали, что если бы операции присваивания были правоассоциативны, это было бы бессмысленно. Но, опираясь на результаты моей программы, можно сказать, что и левоассоциативное присваивание тоже бессмысленно?
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 29.10.2021, 11:19 | |
|
Julia Moskvina, выведи значение переменной
b.
0
|
|
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
| 29.10.2021, 11:21 [ТС] | |
|
Вывелось 6.
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|||
| 29.10.2021, 11:24 | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
|
| 29.10.2021, 11:25 | |
|
Julia Moskvina, А шо по вашему должно было быть? или вы думаете шо если Моня ходит в гости к Саре так он уже не еврей?
ЗЫ -суть в том шо все три переменых получают одно значение, значение переменной с, будь оператор левоасоциативен, все три переменный получили бы значение переменной а. ЗЗЫ. Я таки дико извиняюсь, но если не ошибаюсь, то это написано даже в святом писании от Oracle
1
|
|
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
| 29.10.2021, 11:25 [ТС] | |
|
Что в переменную b вложили значение переменной с.
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||
| 29.10.2021, 11:27 | ||
a присваивалось бы значение c, тогда как значение переменной b осталось нетронутым.
0
|
||
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 99
|
|
| 29.10.2021, 11:30 [ТС] | |
|
InvalidCode, а разве в случае, когда оператор присваивания был бы левоассоциативны, было бы не такое выражение (а=b)=c? То есть, в переменную a вложено значение b или в переменную b вложили а?
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 29.10.2021, 11:31 | |
|
1
|
|
|
|
|
| 29.10.2021, 11:44 | |
Сообщение было отмечено Arsegg как решение
Решение
Julia Moskvina, если вам сделали обрезание, то это, таки на всю жизнь, но это не значит шо вы уже стали евреем. суть в том, шо правоасоциативные оператьры, сначала исчисляют все то, шо стоит справа от них тобись цепочка а=б=с равнозначна б = с, а = б. комуняки(левые операторы) делают все наоборот, сначала исчисляют все то, шо слева от них тоест цепочка а=б=ц равнозначна б = а, ц = б
Добавлено через 9 минут Julia Moskvina, Тут шобы разобраться нужно не один литр выпить. а лучше почитать эту книгу, если канечно осилите. в ней расказывается о принципах работы и разработки компиляторов, и там очень хорошо описаны принципы левой и правой ориентации операторов.
2
|
|
| 29.10.2021, 11:44 | |
|
Помогаю со студенческими работами здесь
20
Какое место число занимает в существующем ряду введенных чисел, если бы они были отсортированы по возрастанию? Если все числа последовательности одинаковые вывести, что они одинаковые,если разные - вывести, что они разные Metro UI Framework. Как сделать вкладки в tabcontrol, что бы они были слева? Сделать тест из 20 вопросов, но что бы они каждый раз были в случайном порядке при нажатии на ссылку, если были открыты другие ссылки с текстом - то они автоматом закрывались и открывалась вновь нажатая Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа разработанного в конфигурации КА2.
В качестве источника данных указан регистр накопления, в который записываются данные о. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|