Size: a a a

Kotlin Community

2021 January 06

с#

саша сок #KotlinGang... in Kotlin Community
при каждом новом сообщении создаётся новый инстанс локали => новые строки, или жвм это как-то оптимизирует?
источник

VS

Vladislav Sumin in Kotlin Community
саша сок #KotlinGang
при каждом новом сообщении создаётся новый инстанс локали => новые строки, или жвм это как-то оптимизирует?
Это либа какая или самописное решение?
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladislav Sumin
Это либа какая или самописное решение?
это я сам, поэтому всё могу переделать, если это ботлнек
источник

VS

Vladislav Sumin in Kotlin Community
саша сок #KotlinGang
при каждом новом сообщении создаётся новый инстанс локали => новые строки, или жвм это как-то оптимизирует?
Сделай ее object и вроде нормально, только нет compile time проверки что все переводы на месте
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladislav Sumin
Сделай ее object и вроде нормально, только нет compile time проверки что все переводы на месте
не нормально, потому что мне надо разные разные инстансы на разные локали делать (это телеграм бот и у разных юзеров могут быть разные локализации)
источник

П

Павел in Kotlin Community
Доброго времени суток. Установил IntelliJ IDEA и он повисает при попытке собрать хеллоуворлд, подсветка ошибок запаздывает. Это норма или искать проблемы на моей стороне?
источник

VS

Vladislav Sumin in Kotlin Community
саша сок #KotlinGang
не нормально, потому что мне надо разные разные инстансы на разные локали делать (это телеграм бот и у разных юзеров могут быть разные локализации)
А язык передавай как нибудь без создания инстанса, думаю это не сложно сделать ибо внутри у тебя скорее всего мапа
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladislav Sumin
А язык передавай как нибудь без создания инстанса, думаю это не сложно сделать ибо внутри у тебя скорее всего мапа
тогда не будет locale.string, а будет locale.string("ru") и реализация будет странная
источник

с#

саша сок #KotlinGang... in Kotlin Community
но сейчас меня больше волнует насколько это может стать проблемой, потому что остальные решение менее красивые и если это опасно, то я конечно могу сделать мапу

class Locale(locale: String) : BaseLocale(locale, globalMap) {
   val start by this
}
источник
2021 January 07

VS

Vladislav Sumin in Kotlin Community
саша сок #KotlinGang
но сейчас меня больше волнует насколько это может стать проблемой, потому что остальные решение менее красивые и если это опасно, то я конечно могу сделать мапу

class Locale(locale: String) : BaseLocale(locale, globalMap) {
   val start by this
}
Можно оставить инстанс класса для языка, но сами строки сделать object ом. Я бы тебе предложил как вариант делаешь sealed class Locale и там поля на кажд строку. И делаешь object Russian (override val hello ="строка на русском"): Locale ()
источник

VS

Vladislav Sumin in Kotlin Community
У тебя будет замкнутая иерархия, хочешь сделай базовую строку абстрактной тогда перевод обязателен, хочешь сделай опен и тогда на твое усмотрение.
источник

VS

Vladislav Sumin in Kotlin Community
Вот так, и никаких проблем с поиском по мапе, и инстан языка это object и compile time верификация и язык легко найти по его коду
источник

L

LevT in Kotlin Community
А вот еще вопрос.

...if that value (max) is nonzero, divides all elements
by that value and returns a new list;
- сделано:

fun normalize(doubles: List<Double>) = doubles
   .map { it / doubles.map { kotlin.math.abs(it) }.maxOrNull()!! }

normalize(listOf(1.0, 4.0, 2.0))


Надо:
otherwise returns the original list.  очевидно в том же функциональном стиле.  

Я сейчас занимаюсь не "решением задач", а изучением стандартных FP техник c котлином, так что просьба моя не читерство и не зашквар.
Помогите не застопориться опять на этой ерунде.
источник

IP

Iaroslav Postovalov in Kotlin Community
LevT
А вот еще вопрос.

...if that value (max) is nonzero, divides all elements
by that value and returns a new list;
- сделано:

fun normalize(doubles: List<Double>) = doubles
   .map { it / doubles.map { kotlin.math.abs(it) }.maxOrNull()!! }

normalize(listOf(1.0, 4.0, 2.0))


Надо:
otherwise returns the original list.  очевидно в том же функциональном стиле.  

Я сейчас занимаюсь не "решением задач", а изучением стандартных FP техник c котлином, так что просьба моя не читерство и не зашквар.
Помогите не застопориться опять на этой ерунде.
ну вот у тебя все элементы нули. возвращаешь исходный список. все.
источник

L

LevT in Kotlin Community
Iaroslav Postovalov
ну вот у тебя все элементы нули. возвращаешь исходный список. все.
Ну не if else же городить, неуместо
источник

IP

Iaroslav Postovalov in Kotlin Community
LevT
Ну не if else же городить, неуместо
а чем тебе не нравится if/else?
источник

IP

Iaroslav Postovalov in Kotlin Community
в хаскеле вот можно просто матчинг на уровне определения функции запилить
источник

IP

Iaroslav Postovalov in Kotlin Community
в котлине - только if else и when
источник

L

LevT in Kotlin Community
И впрямь у меня к ним личное, но в данном контексте учебника о них пока и слове не было. Только о фильтрах-мапах и простейших агрегациях
источник

IP

Iaroslav Postovalov in Kotlin Community
LevT
Ну не if else же городить, неуместо
если ты считаешь функциональным стилем код, когда у тебя просто один большой chain call, то это не совмем то
источник