Var1 = Var2 = 0

  • Автор темы morpheus
  • Дата начала
M

morpheus

Интересный для меня вапрос, кто моет обьснить почему в Лотусе не прокатывает конструкция типа
Код:
If a1 = a2 = a3 = 0 then
....
end if
знаю что в некоторых языках такая конструкция идет на ура

Я в программировании самоучка, может что и пропустил :unsure:
 
M

morpheus

Для: K-Fire
Я акадимиеев не кончал, мне бы популярнее обьснить :)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Наверное, в стандарте на Васик такое не предусмотрено.
 
K

K-Fire

<!--QuoteBegin-Morpheus+27:12:2006, 16:18 -->
<span class="vbquote">(Morpheus @ 27:12:2006, 16:18 )</span><!--QuoteEBegin-->акадимиеев не кончал, мне бы популярнее обьснить
[snapback]51938" rel="nofollow" target="_blank[/snapback]​
[/quote]

Сорри :) Суть в общем то проста: в стандарте LS-а такой конструкции не предусмотрено видимо, поэтому транслятор скрипта такую кострукцию и не понимает.
Хотя практически могут быть глюки в реализации транслятора, что он не сругнется когда встретит такую конструкцию, но правильно работать это не будет.
 
M

morpheus

Для: Medevic
так то оно так, но ведь меня терзает сей уже чисто философский вопрос? :)
и как всегда WHY? :)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Для: Morpheus
Не знаю.
Но могу сказать, что если бы я писал стандарт васека, то язык был бы похож на си. :)
 
M

morpheus

Для: Medevic
:) :) :D

Для: K-Fire
а так это называеться транслятор, тю а я то думал ...ну хоть буду теперь знать правильные название... мдя нада идти учиться на програмиста.. С++ наверна


Фсем спасиба :)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-K-Fire+27:12:2006, 17:31 -->
<span class="vbquote">(K-Fire @ 27:12:2006, 17:31 )</span><!--QuoteEBegin-->Хотя практически могут быть глюки в реализации транслятора, что он не сругнется когда встретит такую конструкцию, но правильно работать это не будет.

[snapback]51940" rel="nofollow" target="_blank[/snapback]​
[/quote]
Не похоже. Проверил в VBA. Такая же фигня.
 
E

Elena Nefedova

кто моет обьснить почему в Лотусе не прокатывает конструкция типа
Код:
If a1 = a2 = a3 = 0 then
....
end if
знаю что в некоторых языках такая конструкция идет на ура
В Perl, например, любой оператор возвращает значение. Оператор a3 = 0 возвращает значение 0, после чего а2 получает значение 0 (результат первого присвоения), а уже а1 получает значение 0, равное результату второго присвоения.
То есть, приведенное в вопросе выражение эквивалентно выражению
Надеюсь, я не очень все запутала :) .
В Java эта конструкция также работает, хотя там и не каждый оператор возвращает значение


ЗЫ: если знак = считать оператором присвоения, а знак == оператором равенства, то сказанное выше верно. В LS же оба оператора обозначаются знаком = . Может, потому и не принимает "левых" выражений?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!