Вниз  OwnLang
- 13.12.2019 / 17:31
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Тупа кафе, попробуй еще сделать деление на ноль в коде
__________________
 знает толк
- 13.12.2019 / 19:56
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, ты только g используешь при отрисовке, но в update у тебя используется b, как и в touch.
Предлагаю завести массив
buffer = []
В touch добавлять не в b, а в buffer
А перед отрисовкой добавлять из буфера в b:
  1. if (!buffer.isEmpty()) {
  2.   b <<= buffer
  3.   buffer = []
  4. }

__________________
 let live

Изменено aNNiMON (13.12 / 19:59) (всего 1 раз)


Прикрепленные файлы:
x.own (1.95 кб.) Скачано 55 раз
- 13.12.2019 / 22:23
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
aNNiMON, классный фор :gg:
у меня еще вопрос:
  1. b <<= buffer
  2. buffer = []
как работает <<=?
:ps: твой скрипт тоже падает :hack:

Изменено Alexandr (13.12 / 22:24) (всего 2 раза)
- 14.12.2019 / 00:57
Aladdin
  Пользователь

Aladdin 
Сейчас: Offline
aNNiMON, есть пару предложений насчет синтактиса языка
сделать в добавок к анонимным функциям лябмды
тогда вместо
  1. onTouch(def(event) {
  2.  ...
  3. }
  1. onTouch( { event ->
  2.  ...
  3. }
а мапы заменить на
  1. map = [key : value, ...]


Изменено Aladdin (14.12 / 00:58) (всего 1 раз)
- 14.12.2019 / 06:22
snaulX
  Пользователь

snaulX 
Сейчас: Offline
Aladdin, я бы лямбды по другому реализовывал (но анонимные функции мне здесь вполне нравятся):
  1. onTouch((event) => expr)
  2. onTouch((event) => { a lot
  3. of
  4. expressions
  5. })
И кстати требуется доки по классам и include (как он работает) и т.д. А то об include не знал пока не увидел чей-то код который юзает этот оператор :hack:
- 14.12.2019 / 09:55
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, << это merge array
  1. arr = [1, 2, 3]
  2. println arr << [4, 5, 6]
В примерах всё есть.


Aladdin, я хочу как в Котлине. Если последний аргумент функции принимает функцию, то писать так:
onTouch { e -> code }
uithread {
   // code
}
http(url, method) { data ->
}
Хотя такие лямбды не нравятся, постоянно норовит написать func { data -> {
  // Code
}}

snaulX, include просто подключает исходник, находящийся по заданному пути в файлах или в ресурсах. Он не встраивает контент в текущий исходник. Как только исполнение доходит до него, то выполняется всё, что там есть. Никакие новые области видимости тоже не создаются под него.

А класс это сахарная обёртка над map.
  1. class X {
  2.   a = 1
  3.   b = "abc"
  4.   def f1() = 4
  5.   def getB() = this.b
  6.   def toMap() = this
  7. }
  8. x = new X()
  9. println x.toMap()

__________________
 let live

Изменено aNNiMON (14.12 / 10:17) (всего 5 раз)
Наверх  Всего сообщений: 586
Фильтровать сообщения
Поиск по теме
Файлы топика (60)
Поиск по форуму