@kotlin_lang

Страница 710 из 982
Dumitru
16.06.2018
16:59:55
на Heroku можно деплоить (тестировать) бесплатно web приложения (.jar) ?

Google
Никита?❄️
16.06.2018
17:05:26
на Heroku можно деплоить (тестировать) бесплатно web приложения (.jar) ?
создаёшь в репозитории файл Procfile, туда вставляешь web: java -jar -Dserver.port=$PORT target/your-built-jar-1.0.1.jar

и либо с гитхаба, либо с их консольки деплоишь автоматом

1337
16.06.2018
17:16:00
в хероку ваще изи все

логи просто в консоль выводятся

Dmitriy
16.06.2018
18:20:41
Доброго всем вечера/ночи. Есть дата класс, который в конструкторе принимает другой класс data class Model(val entity: Entity) Есть список объектов List<Entity> Как мне по простому превратить List<Entity> в List<Model>? Пока что на ум пришло создать val output = new arrayList<Model>() entities.foreach{ output.add(Model(it)) }

Может все же есть попроще метод? Или так норм?

Vladimir
16.06.2018
18:28:06
Dmitriy
16.06.2018
18:28:31
[Anonymous]
16.06.2018
19:44:23
Как делишки?)

Жабра
16.06.2018
19:48:24
Антон
16.06.2018
19:48:56
Google
Жабра
16.06.2018
19:49:11
Ору

Виталий
16.06.2018
20:57:45
Привет, Подскажите можно как то переопределить методы при создании объекта ? val window = Window("menu", windowStyle).also { } ну скажем в also или еще как ?

вообщем там родитель Actor - это мне придеться создать MyActor и наследовать Actor и потом Window наследовать мой MyActor - этож геморойно ради одного метода, может проще как то можно ?

Виталий
16.06.2018
21:00:32
нет
ясно (

Maxim
16.06.2018
21:00:39
Привет, Подскажите можно как то переопределить методы при создании объекта ? val window = Window("menu", windowStyle).also { } ну скажем в also или еще как ?
Не совсем понял о чем речь, но есть ведь override val. Это не подходит? Может в also вызывать абстраткный метод или свойство?

Bogdan
16.06.2018
21:00:55
ясно (
через переменые-функции можно

Виталий
16.06.2018
21:01:30
Bogdan
16.06.2018
21:02:27
fun Actor.act(){ .. } ?
нет, в твоем класе определяешь проперти-лямбду, вызываешь где нужно, присваивай где хочешь

но странный кейс

fun Actor.act(){ .. } ?
вы с джавой знакомы ?

Виталий
16.06.2018
21:04:50
http://kotlinlang.org/docs/reference/object-declarations.html#object-expressions
val window = Window("menu", windowStyle).also { object : Actor() { override fun act(delta: Float) { //.... super.act(delta) } } } спасибо - оно вроде ))

Виталий
16.06.2018
21:05:00
Bogdan
16.06.2018
21:05:02
Виталий
16.06.2018
21:07:54
не, чет не ак делаю

Maxim
16.06.2018
21:08:07
в also можно вызвать публичные методы, они как статические методы из джавы
В джаве вроде можно сокрытие методов делать. Т.е. типа оверрайдить статический метод?

Bogdan
16.06.2018
21:08:15
подробней про Window and Actor
как они связываются

Google
Виталий
16.06.2018
21:08:58
подробней про Window and Actor
window/widget/actor , где актор супер

надо переопределить метод супера

Bogdan
16.06.2018
21:09:27
window/widge

а вот тут переопределить ?

Maxim
16.06.2018
21:10:41
переопределять статик нельзя
In Java, you can't override static methods. However, a parent class and its subclasses can have static methods with identical signatures. In that case, the static method in the subclass is said to hide the identical method in the parent class. Overriding and hiding are both examples of what Java Puzzlers refers to as name reuse.

Bogdan
16.06.2018
21:12:32
никакого полиморфизма и наследования нет, читсая процедурщина

Виталий
16.06.2018
21:13:06
а вот тут переопределить ?
вообще я просто коротко написал )) там так: window/table/widgetGroup/group/actor метод который нужно переопределить есть в Actor и Group (2 сконца)

Bogdan
16.06.2018
21:14:11
вообще я просто коротко написал )) там так: window/table/widgetGroup/group/actor метод который нужно переопределить есть в Actor и Group (2 сконца)
давай проще описать задачку, я так понимаю тебе нужно реалиовать метод, но при создании объекта ?

Виталий
16.06.2018
21:14:25
ну а ваще кака разница он и в виндовс есть тамж цепочка наследования

он не абстракт

просто надо переопределить

open

Bogdan
16.06.2018
21:15:47
знаком с функциональными типами ?

Виталий
16.06.2018
21:16:17
по сути одно и тоже +-
ну вот как то надо (( что бы не содавать свой класс под Actor

Виталий
16.06.2018
21:16:41
Google
Виталий
16.06.2018
21:16:50
Актор твой класс ?
нет, библиотека

Bogdan
16.06.2018
21:16:56
нет, библиотека
object : Actor() { override fun act(delta: Float) { super.act(delta) } }

Maxim
16.06.2018
21:17:27
вот потому статик это плохо, статик привязывается к классу
Соглсен 100%. Но возможность такая есть ведь?

Виталий
16.06.2018
21:18:09
Bogdan
16.06.2018
21:19:10
не понял чет
это твое, только без алсо, создаешь обект, ты внем можешь переопределить, наследоватся от него нельзя

Виталий
16.06.2018
21:19:24
это работает, но куда мне этот object запихать

Bogdan
16.06.2018
21:20:04
это работает, но куда мне этот object запихать
в переменую где тебе нужен этот обект

Виталий
16.06.2018
21:22:51
в переменую где тебе нужен этот обект
не пойму val act = object : Actor() { override fun act(delta: Float) { //.... super.act(delta) } } val window = Window("menu", windowStyle) сюда ка кто

Виталий
16.06.2018
21:24:22
покажи классы, залей на пастебин
https://libgdx.badlogicgames.com/ci/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/ui/Window.html

java.lang.Object com.badlogic.gdx.scenes.scene2d.Actor com.badlogic.gdx.scenes.scene2d.Group com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup com.badlogic.gdx.scenes.scene2d.ui.Table com.badlogic.gdx.scenes.scene2d.ui.Window

Maxim
16.06.2018
21:26:19
какая ? тут немного не понял
Возможность заменить реализацию метода

Bogdan
16.06.2018
21:26:36
Возможность заменить реализацию метода
нет, ты вызываешь метод из конкретного класса Класс.метод(параметры)

Виталий
16.06.2018
21:27:49
вместо Actor - Window ?
да, дочерный Window

Google
Bogdan
16.06.2018
21:28:22
да, дочерный Window
и внем тебе нада переопределить act ?

Виталий
16.06.2018
21:31:35
поменяй на Window, наследование и полиморфизм
val window = object : Window("menu", windowStyle) { override fun act(delta: Float) { println("WINDOW") super.act(delta) } } спасибо )))

Rikland
17.06.2018
10:35:17
народ, есть вопрос, как в kotlin native позвать такую функцию? XDeviceInfo * XListInputDevices(Display *display, int *ndevices);

интересует конкретно int *ndevices, как определить такую переменную и можно ли это сделать на стеке?

Dibro
17.06.2018
10:46:20
интересует конкретно int *ndevices, как определить такую переменную и можно ли это сделать на стеке?
походу что-то вроде memScoped { val ndevices = allocArray<IntVar>(1) } см. https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md#memory-allocation про стек — хз

Dibro
17.06.2018
10:55:29
ок, посмотрим (: я про массив не подумал (:
вот ещё вариант кстати https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md#passing-pointers-to-bindings и как я понял по описанию, память там выделяется на стеке. т.е. в твоём случае наверное можно XListInputDevices(pDisplay, cValuesOf(__ndevices__))

Rikland
17.06.2018
11:15:55
Пилю программулину которой можно будет ремапить клавиши для трекбола (: Под линуксом естественно.

Aleqzandr
17.06.2018
12:19:49
гм. там как раз в ndevices записывается сколько из функции вернулось девайсов, это out параметр
Тогда зачем массив выделять? memScoped { val ndevices = alloc<IntVar>() } А в функцию передавать ndevices.ptr

Страница 710 из 982