Сейчас 15:26:55 Четверг, 2 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » JASP (Just Another Script Preprocessor)
JASP
Ty3uKДата: Понедельник, 02 Апреля 2012, 12:26:42 | Сообщение # 1
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
- небольшой препроцессор для языка Jass2, который запускается перед парсером vJass (JassHelper). Полную информацию о возможностях вы можете прочитать в мануале, все ссылки внизу.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Ty3uKДата: Среда, 25 Апреля 2012, 16:56:56 | Сообщение # 126
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
SirNikolas, да, теперь жасп несовместим с cJass. Местами. Библиотеку-то юзать можно, но только если уверен за отдельные части кода, а то //!nocjass и //!endnocjass криво работают

Добавлено (25 Апрель 2012, 16:56:56)
---------------------------------------------
Бтв, жасп теперь и на хайве


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Среда, 25 Апреля 2012, 16:58:42 | Сообщение # 127
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Если не ошибаюсь, изначально это все разрабатывалось для того, чтобы убрать несовместимость cJass и vJass...

А ты сначала парси особо важные куски, вроде тех же new, а потом остальное.


 

llkaДата: Среда, 25 Апреля 2012, 16:59:07 | Сообщение # 128
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
Ty3uK, Слуш, а можно ли реализовать геетеры и сеттеры в структурках? На вжассе?
 

Ty3uKДата: Среда, 25 Апреля 2012, 17:01:53 | Сообщение # 129
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
llka, что?
SirNikolas, изначально да, я конечно прикидываю алгоритм рационального парса cJass-блоков, но пока на ум дельного ничего не идет


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

llkaДата: Среда, 25 Апреля 2012, 17:03:12 | Сообщение # 130
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
Quote (Ty3uK)
что?

геттре - get
сеттер - set
как на АС3.0 и как на С(set {setter} get {geeter})
 

SirNikolasДата: Среда, 25 Апреля 2012, 17:09:30 | Сообщение # 131
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
llka,
Code
struct abc
    private integer i

    method operator Int takes nothing returns integer
         return i
    endmethod

    method operator Int= takes integer value returns nothing
        if value > 0 and value < 100 then
            set i = value
        endif
    endmethod
endstruct
Причем метод оператор Int даже будет inline'овым.


 

llkaДата: Среда, 25 Апреля 2012, 17:10:53 | Сообщение # 132
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
SirNikolas, И давно так можно делать?
 

SirNikolasДата: Среда, 25 Апреля 2012, 17:11:19 | Сообщение # 133
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (llka)
как на АС3.0 и как на С(set {setter} get {geeter})
На C#*
Да, хотелось бы увидеть такую запись:
Code
struct abc {
    integer Int {
        get {
            ...
            return ...
        }
        set {
            ...
        }
    }
}




Сообщение отредактировал SirNikolas - Среда, 25 Апреля 2012, 17:17:27
 

llkaДата: Среда, 25 Апреля 2012, 17:12:20 | Сообщение # 134
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
abc.Int = число?

Добавлено (25 Апрель 2012, 17:12:20)
---------------------------------------------
Охринеть, больше не чего сказать, почему этого нет в обучалке? А ну да яж их всеравно не читал.

 

SirNikolasДата: Среда, 25 Апреля 2012, 17:13:28 | Сообщение # 135
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (llka)
И давно так можно делать?
Достаточно давно. На предпоследней версии vJass (которая не обновлялась бог знает сколько) это есть.

Добавлено (25 Апрель 2012, 17:13:28)
---------------------------------------------
Использование:
Code
local abc x = abc.create()
set x.Int = 10
call BJDebugMsg(I2S(x.Int))
call x.destroy()


 

llkaДата: Среда, 25 Апреля 2012, 17:14:29 | Сообщение # 136
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
SirNikolas, Странно я когда читал статью про структурки(очень давно) там даже и близко нет намека на геттеры и сеттеры.
 

SirNikolasДата: Среда, 25 Апреля 2012, 17:18:38 | Сообщение # 137
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Оригинал надо читать.

 

Ty3uKДата: Воскресенье, 29 Апреля 2012, 14:50:04 | Сообщение # 138
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ник, проблема в целом в обработке пользовательских функций на cJass -_-

Добавлено (25 Апрель 2012, 18:19:50)
---------------------------------------------
А нет, вру, сделал вроде

Добавлено (28 Апрель 2012, 15:06:02)
---------------------------------------------
Прикрутил такую няшку для удобства пользования. Ничем не отличается от JassHelper'овского аналога (точнее, аналог у меня)

Добавлено (29 Апрель 2012, 14:50:04)
---------------------------------------------
По просьбе жителей Хайва (которые не признают cJass), запилил реплейс функций.

Code
mount GetTriggerUnit to GetSpellTargetUnit
var u = GetTriggerUnit()
unmount GetTriggerUnit from GetSpellTargetUnit
var us = GetTriggerUnit()

------>
Code
local unit u = GetSpellTargetUnit()
local unit us = GetTriggerUnit()


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

HexingДата: Воскресенье, 29 Апреля 2012, 15:04:00 | Сообщение # 139
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (Ty3uK)
mount GetTriggerUnit to GetSpellTargetUnit
var u = GetTriggerUnit()
unmount GetTriggerUnit from GetSpellTargetUnit
var us = GetTriggerUnit()

------>
Code
local unit u = GetSpellTargetUnit()
local unit us = GetTriggerUnit()

круто)


 

SirNikolasДата: Воскресенье, 29 Апреля 2012, 15:04:21 | Сообщение # 140
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Ну зачем такой многословный синтаксис? Лучше бы сам парсил define'ы. :)

 

lawsonДата: Воскресенье, 29 Апреля 2012, 15:08:07 | Сообщение # 141
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Hexing, А что это даст?

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Ty3uKДата: Воскресенье, 29 Апреля 2012, 15:10:42 | Сообщение # 142
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
lawson, буржуям даст спокойно поюзать макросы (частично)
SirNikolas, все для буржуев :) ушел в сторону команд линукса trollface


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 29 Апреля 2012, 15:11:52 | Сообщение # 143
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Ty3uK)
буржуям даст спокойно поюзать макросы

Quote (Ty3uK)
все для буржуев

и ни чего для народа.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 29 Апреля 2012, 15:12:00
 

Ty3uKДата: Воскресенье, 29 Апреля 2012, 15:15:35 | Сообщение # 144
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
lawson, буржуи - не народ? И что конкретно тебя не устраивает?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 29 Апреля 2012, 15:20:00 | Сообщение # 145
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ty3uK, Да не ниче, я то вообще в макросах и дефайнах по нулям. Хоть бы статью написал по полному разбору жаспа.

Добавлено (29 Апрель 2012, 15:20:00)
---------------------------------------------
Ty3uK, Я конечно мало че шарю, а нельзя ли сделать уничтожение переменной и ее обнуление одним вызовом?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Ty3uKДата: Воскресенье, 29 Апреля 2012, 15:20:30 | Сообщение # 146
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
lawson, кэп подсказывает, что я пишу и обновляю мануал

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 29 Апреля 2012, 15:20:38 | Сообщение # 147
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ведь по идеи, когда пользуешься в коде локалками то после выполнения они уже не нужны. Так было бы еще удобней.

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Ty3uKДата: Воскресенье, 29 Апреля 2012, 15:20:59 | Сообщение # 148
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
lawson, гы, а если тебе надо обнулить таймер, но не уничтожить его?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 29 Апреля 2012, 15:21:11 | Сообщение # 149
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Ty3uK)
кэп подсказывает

Извеняй, тупанул.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

SirNikolasДата: Воскресенье, 29 Апреля 2012, 15:23:19 | Сообщение # 150
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ty3uK)
а если тебе надо обнулить таймер, но не уничтожить его?
Или наоборот, уничтожить, а обнулить где-нибудь дальше по коду? Считаю, что хватит и разделенного.


 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » JASP (Just Another Script Preprocessor)
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz