Сейчас 01:47:37 Четверг, 7 июня, 2012 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


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

 

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

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


 

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

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

 

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

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

 

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
10 уровень
Группа: КоМодераторы
Сообщений: 3974
Награды: 1
Репутация: 832
Блокировки:
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
10 уровень
Группа: КоМодераторы
Сообщений: 3974
Награды: 1
Репутация: 832
Блокировки:
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
10 уровень
Группа: КоМодераторы
Сообщений: 3974
Награды: 1
Репутация: 832
Блокировки:
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
10 уровень
Группа: КоМодераторы
Сообщений: 3974
Награды: 1
Репутация: 832
Блокировки:
Оригинал надо читать.

 

Ty3uKДата: Воскресенье, 29 Апрель 2012, 14:50:04 | Сообщение # 138
10 уровень
Группа: Проверенные
Сообщений: 4397
Награды: 0
Репутация: 671
Блокировки:
Ник, проблема в целом в обработке пользовательских функций на 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()


 

HexingДата: Воскресенье, 29 Апрель 2012, 15:04:00 | Сообщение # 139
10 уровень
Группа: Проверенные
Сообщений: 1231
Награды: 1
Репутация: 252
Блокировки:
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
10 уровень
Группа: КоМодераторы
Сообщений: 3974
Награды: 1
Репутация: 832
Блокировки:
Ну зачем такой многословный синтаксис? Лучше бы сам парсил define'ы. :)

 

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

Nic nie wiem bo mam chuj.
Кароче делаю ИИ на JASS
 

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

 

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

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

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

Nic nie wiem bo mam chuj.
Кароче делаю ИИ на JASS


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

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

 

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

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


Nic nie wiem bo mam chuj.
Кароче делаю ИИ на JASS
 

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

 

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

Nic nie wiem bo mam chuj.
Кароче делаю ИИ на JASS
 

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

 

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

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

Nic nie wiem bo mam chuj.
Кароче делаю ИИ на JASS
 

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

 

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

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