Если кто сталкивался, помогите с синтаксисом
В упор не понимаю в чём проблема:
Весь код:

Ответ нашёлся, табуляции не было...
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
15
Оно прям error выводило? Оно могла просто подчеркнуть, что ты забыл табуляцию.
На уровне модуля компилятор не ждёт табуляции, только объявление, посему воспринимает вызов как попытку объявить переменную
darkowlom:
Впервые вижу такое в языках
Ну хотя бы о Python ты должен был что-нибудь слышать....
28
Ну хотя бы о Python ты должен был что-нибудь слышать....
В Phython табуляция не влияет на компиляцию, потому что Phython - интерпретируемый язык, у него нет компилятора.
24
PT153, насколько я знаю, питон тоже можно скомпилировать при желании в байткод для его виртуальной машины, чтобы не интерпретировать заново каждый раз, как и большую часть современных интерпретируемых языков.
15
В Phython табуляция не влияет на компиляцию, потому что Phython - интерпретируемый язык, у него нет компилятора.
Я о компиляции Python* ничего не говорил.
17
Утром пол часа бился с TriggerAddAction, он не воспринимал функцию как функцию.
Вурст штука прикольная, но слишком сильно отличается от стандартного Jass к которому уже успел привыкнуть
endfunction также вызывает еррор :D
Залез в него из-за удобного создания объектов и прописывания того же макс хп одной строкой в коде :D
Ненавижу стандартный РО
15
PyCCKuu_4eJl, в идеале лучше по максимуму избегать нативных и бж-функций, заменяя их эквивалентамии из стандартной библиотеки, например
код
package Test
import NoWurst
import Trigger
import RegisterEvents

function actions()
    // ...

init
    CreateTrigger() // Тут ничего не поделаешь, берем нативную
    ..registerAnyUnitEvent(EVENT_PLAYER_UNIT_SPELL_EFFECT)
    ..addCondition( Condition(()->GetSpellAbilityId() == 'A000') )
    ..addAction(function actions) // Из пакета Trigger

    registerSpellEffectEvent('A000', function actions) // То же самое, но короче (пакет RegisterEvents)
29
В Phython табуляция не влияет на компиляцию, потому что Phython - интерпретируемый язык, у него нет компилятора.
Очень интересная история, только во всех современных "интерпретируемых" языках интерпретируется не текст, а байткод, который компилируется самым настоящим компилятором из текста программы, только не заранее, а каждый запуск. Как уже упомянули, тот же самый байткод можно сохранить в .pyc файл.
28
Doc, обычно компиляция также проверяет и соответствие типов, что в Python невозможно сделать. Потому я так и ответил. Но действительно, компиляцией может быть просто трансляция ЯП на низкоуровневый язык. Если Python таким промышляет, то тогда я действительно ошибся.
29
Компиляция ни в каком смысле не обязана проверять соответствие типов. Typechecking - отдельная фаза компиляции, которая может там быть или не быть. Это просто трансляция текста понятного человеку в данные, понятные машине. Виртуальной или физической. Я не смогу назвать ни одного более менее крупного языка, который бы не использовал байткод.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.