https://kotlinlang.org logo
Join the conversationJoin Slack
Channels
100daysofcode
100daysofkotlin
100daysofkotlin-2021
advent-of-code
aem
ai
alexa
algeria
algolialibraries
amsterdam
android
android-architecture
android-databinding
android-studio
androidgithubprojects
androidthings
androidx
androidx-xprocessing
anime
anko
announcements
apollo-kotlin
appintro
arabic
argentina
arkenv
arksemdevteam
armenia
arrow
arrow-contributors
arrow-meta
ass
atlanta
atm17
atrium
austin
australia
austria
awesome-kotlin
ballast
bangladesh
barcelona
bayarea
bazel
beepiz-libraries
belgium
berlin
big-data
books
boston
brazil
brikk
budapest
build
build-tools
bulgaria
bydgoszcz
cambodia
canada
carrat
carrat-dev
carrat-feed
chicago
chile
china
chucker
cincinnati-user-group
cli
clikt
cloudfoundry
cn
cobalt
code-coverage
codeforces
codemash-precompiler
codereview
codingame
codingconventions
coimbatore
collaborations
colombia
colorado
communities
competitive-programming
competitivecoding
compiler
compose
compose-android
compose-desktop
compose-hiring
compose-ios
compose-mp
compose-ui-showcase
compose-wear
compose-web
connect-audit-events
corda
cork
coroutines
couchbase
coursera
croatia
cryptography
cscenter-course-2016
cucumber-bdd
cyprus
czech
dagger
data2viz
databinding
datascience
dckotlin
debugging
decompose
decouple
denmark
deprecated
detekt
detekt-hint
dev-core
dfw
docs-revamped
dokka
domain-driven-design
doodle
dsl
dublin
dutch
eap
eclipse
ecuador
edinburgh
education
effective-kotlin
effectivekotlin
emacs
embedded-kotlin
estatik
event21-community-content
events
exposed
failgood
fb-internal-demo
feed
firebase
flow
fluid-libraries
forkhandles
forum
fosdem
fp-in-kotlin
framework-elide
freenode
french
fritz2
fuchsia
functional
funktionale
gamedev
ge-kotlin
general-advice
georgia
geospatial
german-lang
getting-started
github-workflows-kt
glance
godot-kotlin
google-io
gradle
graphic
graphkool
graphql
graphql-kotlin
graviton-browser
greece
grpc
gsoc
gui
hackathons
hacktoberfest
hamburg
hamkrest
helios
helsinki
hexagon
hibernate
hikari-cp
hire-me
hiring
hongkong
hoplite
http4k
hungary
hyderabad
image-processing
india
indonesia
inkremental
intellij
intellij-plugins
intellij-tricks
internships
introduce-yourself
io
ios
iran
israel
istanbulcoders
italian
jackson-kotlin
jadx
japanese
jasync-sql
java-to-kotlin-refactoring
javadevelopers
javafx
javalin
javascript
jdbi
jhipster-kotlin
jobsworldwide
jpa
jshdq
juul-libraries
jvm-ir-backend-feedback
jxadapter
k2-early-adopters
kaal
kafka
kakao
kalasim
kapt
karachi
karg
karlsruhe
kash_shell
kaskade
kbuild
kdbc
kgen-doc-tools
kgraphql
kinta
klaxon
klock
kloudformation
kmdc
kmm-español
kmongo
knbt
knote
koalaql
koans
kobalt
kobweb
kodein
kodex
kohesive
koin
koin-dev
komapper
kondor-json
kong
kontent
kontributors
korau
korean
korge
korim
korio
korlibs
korte
kotest
kotest-contributors
kotless
kotlick
kotlin-asia
kotlin-beam
kotlin-by-example
kotlin-csv
kotlin-data-storage
kotlin-foundation
kotlin-fuel
kotlin-in-action
kotlin-inject
kotlin-latam
kotlin-logging
kotlin-multiplatform-contest
kotlin-mumbai
kotlin-native
kotlin-pakistan
kotlin-plugin
kotlin-pune
kotlin-roadmap
kotlin-samples
kotlin-sap
kotlin-serbia
kotlin-spark
kotlin-szeged
kotlin-website
kotlinacademy
kotlinbot
kotlinconf
kotlindl
kotlinforbeginners
kotlingforbeginners
kotlinlondon
kotlinmad
kotlinprogrammers
kotlinsu
kotlintest
kotlintest-devs
kotlintlv
kotlinultimatechallenge
kotlinx-datetime
kotlinx-files
kotlinx-html
kotrix
kotson
kovenant
kprompt
kraph
krawler
kroto-plus
ksp
ktcc
ktfmt
ktlint
ktor
ktp
kubed
kug-leads
kug-torino
kvision
kweb
lambdaworld_cadiz
lanark
language-evolution
language-proposals
latvia
leakcanary
leedskotlinusergroup
lets-have-fun
libgdx
libkgd
library-development
linkeddata
lithuania
london
losangeles
lottie
love
lychee
macedonia
machinelearningbawas
madrid
malaysia
mathematics
meetkotlin
memes
meta
metro-detroit
mexico
miami
micronaut
minnesota
minutest
mirror
mockk
moko
moldova
monsterpuzzle
montreal
moonbean
morocco
motionlayout
mpapt
mu
multiplatform
mumbai
munich
mvikotlin
mvrx
myndocs-oauth2-server
naming
navigation-architecture-component
nepal
new-mexico
new-zealand
newname
nigeria
nodejs
norway
npm-publish
nyc
oceania
ohio-kotlin-users
oldenburg
oolong
opensource
orbit-mvi
osgi
otpisani
package-search
pakistan
panamá
pattern-matching
pbandk
pdx
peru
philippines
phoenix
pinoy
pocketgitclient
polish
popkorn
portugal
practical-functional-programming
proguard
prozis-android-backup
pyhsikal
python
python-contributors
quasar
random
re
react
reaktive
realm
realworldkotlin
reductor
reduks
redux
redux-kotlin
refactoring-to-kotlin
reflect
refreshversions
reports
result
rethink
revolver
rhein-main
rocksdb
romania
room
rpi-pico
rsocket
russian
russian_feed
russian-kotlinasfirst
rx
rxjava
san-diego
science
scotland
scrcast
scrimage
script
scripting
seattle
serialization
server
sg-user-group
singapore
skia-wasm-interop-temp
skrape-it
slovak
snake
sofl-user-group
southafrica
spacemacs
spain
spanish
speaking
spek
spin
splitties
spotify-mobius
spring
spring-security
squarelibraries
stackoverflow
stacks
stayhungrystayfoolish
stdlib
stlouis
strife-discord-lib
strikt
students
stuttgart
sudan
swagger-gradle-codegen
swarm
sweden
swing
swiss-user-group
switzerland
talking-kotlin
tallinn
tampa
teamcity
tegal
tempe
tensorflow
terminal
test
testing
testtestest
texas
tgbotapi
thailand
tornadofx
touchlab-tools
training
tricity-kotlin-user-group
trójmiasto
truth
tunisia
turkey
turkiye
twitter-feed
uae
udacityindia
uk
ukrainian
uniflow
unkonf
uruguay
utah
uuid
vancouver
vankotlin
vertx
videos
vienna
vietnam
vim
vkug
vuejs
web-mpp
webassembly
webrtc
wimix_sentry
wwdc
zircon
Powered by Linen
russian
  • l

    lewik

    02/20/2018, 3:13 PM
    Есть библиотечный способ, узнать, пересекаются ли две коллекции? Типа isIntersect ?
    m
    • 2
    • 1
  • g

    gildor

    02/27/2018, 8:18 AM
    да
    l
    s
    • 3
    • 193
  • o

    orangy

    02/27/2018, 10:06 PM
    Каша варится, просто ещё не готова 🙂
    👨‍🍳 2
    🍲 2
    👍 2
    c
    • 2
    • 2
  • c

    caffeine

    03/02/2018, 10:50 PM
    Потому что уже не 0.1, а 0.6, а из коробки до сих пор hello world собрать не может.
    p
    • 2
    • 2
  • m

    maccimo

    03/03/2018, 1:39 PM
    В #general тишина, спрошу здесь: Кто-нибудь знает, зачем в каждый
    *.class
    -файл, скомпилированный
    kotlinc
    , внедряется аттрибут
    SourceDebugExtension
    ? Разве пары
    SourceFile
    and
    LineNumberTable
    недостаточно?
    m
    c
    • 3
    • 2
  • a

    altavir

    03/10/2018, 7:01 AM
    На случай, если тут есть Физтехи (МФТИ). В ближайшую среду, мы попробуем сделать небольшой семинар (или скорее просто обсуждение) по поводу использвоания Kotlin для научных расчетов. В 15.30 в 517-А ГК. Я пока не очень понимаю, кто там будет, поэтому формат тоже непонятен. Если это будет интересно, мы потом сделаем регулярный семинар на эту тему.
    👍 3
    o
    v
    +2
    • 5
    • 21
  • a

    altavir

    03/14/2018, 5:53 PM
    @orangy Я тут немного подумал на тему того, а что могло бы существенно способствовать продвижению Kotlin в научной среде. Как я уже говорил, конкурировать с Python довольно сложно. Он динамический и свою нишу оккупирует довольно прочно. Но в принципе Kotlin мог бы существенно потеснить С++ в смысле расчетов, где требуется высокая скорость. Уже сейчас на Kotlin JVM можно писать высоко производительные научные вычисления (что мы и делаем), но многие научные библиотеки существую в Fortran/C/C++ экосистеме, так что с ними довольно сложно взаимодействовать из JVM. Когда будет готов Kotlin native и если будет бесшовный мост между Kotlin native и Kotlin JVM, на мой взгляд это был бы очень существенный сдвиг в смысле программирования для науки.
    o
    e
    +2
    • 5
    • 26
  • l

    lewik

    03/23/2018, 12:45 PM
    Как заставить when падать при компиляции? Без использования выражения А то ща приходится писать
    val check =  when ()...
    b
    • 2
    • 2
  • l

    lewik

    03/24/2018, 1:48 PM
    Где найти примеры по kotlin test js ?
    i
    • 2
    • 2
  • l

    lewik

    03/29/2018, 9:23 AM
    Вот бы выражение на которое опирается when было доступно как it внутри "case"ов. Да, через let решается, но вот если бы встроенно было
    d
    g
    • 3
    • 17
  • b

    beholder

    04/07/2018, 3:47 PM
    Можно ли выключить автоматическое дополнение кода когда объявляешь переменную? Пишешь например
    var s
    - и тут выскакивает список с кучей всего, приходится Esc нажимать
    o
    • 2
    • 4
  • a

    aleksey.tomin

    04/08/2018, 7:59 AM
    @abreslav Про pattern matching - обсудил со знакомым, работающим на scala. Да, он стал фанатом pattern matching (когда перешёл с java на scala). Говорит, что всё стало намного проще и понятнее. Потом поговорил с java-программистом. Тот при обработке деревьев сначала пишет псевдоко на p.m. а потом переводит его в java. Так что его любят те, кто распробовал. Что говорит скорее в его пользу. Но делать очень сложно, да. Вот если бы сделать это библиотекой, или “почти библиотекой” (как корутины)...
    o
    e
    g
    • 4
    • 6
  • k

    kds

    04/09/2018, 9:31 AM
    А лучше - сразу в UUID
    s
    • 2
    • 1
  • n

    nardinroot

    04/10/2018, 9:41 PM
    Думаю вопрос типовой (может даже тупой) но все перерыл немогу найти ответа 😞 Проблема со свойствами начинающимися с "is" определенными в интерфейсе
    interface I1 {
        /*@set:JvmName("getIsRequired")
        @get:JvmName("setIsRequired")*/
        var isRequired: Boolean
    
        var test: Boolean
    }
    
    class C1 : I1 {
        override var isRequired: Boolean = false
    
        override var test: Boolean = false
    
        @set:JvmName("getIsRequired1")
        @get:JvmName("setIsRequired1")
        var isRequired1: Boolean = false
    }
    JvmName - не получается применить в интефейсе (закоментированный код). И в java я получаю
    isRequired
    и
    setRequired
    а мне нужно
    getIsRequired
    и
    setIsRequired
    i
    • 2
    • 2
  • a

    aleksey.tomin

    04/20/2018, 2:49 AM
    Вроде и хочется спросить про электронную версию, да и пофиг уже- есть на англиском, платить второй раз лень 🙂 Или в русском издании есть дополнения полезные?
    l
    y
    s
    • 4
    • 4
  • b

    beholder

    04/25/2018, 9:18 AM
    Вот блин, теперь и youtrack.jetbrains.com не открывается. Ну кому всё это помешало?
    m
    r
    • 3
    • 9
  • l

    lewik

    05/03/2018, 9:48 AM
    В kotlin js есть DI а-ля spring? С аннотациями
    b
    c
    • 3
    • 3
  • l

    lewik

    05/07/2018, 8:26 PM
    Kotlin frontend plugin: Как ускорить compileKotlin2Js ?
    b
    • 2
    • 2
  • c

    caffeine

    05/08/2018, 6:20 PM
    Всем привет. Вопрос. Речь о kotlin-js Примерно такая ситуация
    external interface Foo {
        var text: String?
            get() = definedExternally
            set(value) = definedExternally
    }
    Далее наследуюсь от него
    interface Bar : Foo{
    
    .....
    
    }
    В итоге в JS файле код вида
    Object.defineProperty(CSSTemplate.prototype, 'text', Object.getOwnPropertyDescriptor(TreeCssClass.prototype, 'text'));
    Как это можно исправить? что бы эти поля, которые объявлены в
    external interface Foo
    не писались в JS файл для классов наследников?
    b
    • 2
    • 7
  • s

    sannysoft

    05/11/2018, 11:49 AM
    Коллеги, подскажите, почему я получаю ок, а не timeout?
    runBlocking {
            val timeoutResult = async {
                withTimeoutOrNull(2000) {
                    sleep(15000)
                    "ok"
                }
            }.await() ?: "timeout"
    
            println(timeoutResult)
        }
    e
    • 2
    • 6
  • l

    lewik

    05/16/2018, 11:47 AM
    Вот есть у меня data classы для запроса и ответа. Есть обертка над XMLHttpRequest и ей передается объект класса запроса и обработчик, принимающий в аргумент ответ. Типа
    fun request<reified T : Response>(
    requestData: Request,
    callback: (T) -> Unit
    )
    Как сделать так, чтобы нельзя было указать неправильные типы ответа и запроса? Сами классы ответа и запроса - всегда лежат парочкой. Как сделать так, чтобы в callback сразу "проставлялся" соответствующий тип?
    r
    • 2
    • 1
  • l

    lewik

    05/16/2018, 12:34 PM
    Т.к. при отправке запроса мы вынуждены указывать точный класс отправляемого запроса, то это нам и даст тип ответа. Я все правильно понял?
    interface Request<Response>
    interface Response
    
    data class SomeRequest(): Request<SomeResponse>
    data class SomeResponse(): Response
    g
    • 2
    • 1
  • l

    lex

    05/17/2018, 3:43 AM
    @caffeine зачем эти сложности? запрос - dto, который просто сериализуется по каким-либо правилом либо в url параметры, либо в тело запроса, а респонс - та структура в которую надо распарсить, нафига RPC то?
    c
    • 2
    • 2
  • l

    lewik

    05/17/2018, 11:47 AM
    С помощью котлина как то svg создать можно? https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom.svg/index.html Абстрактные классы, как то создать через функции можно? Может я не нашел
    o
    c
    • 3
    • 4
  • a

    Alexander Khyzhun

    05/25/2018, 8:11 AM
    привет, не подскажите, есть ли где-то видео на русском про даггер2, с понятным объясненияем что и как?
    g
    • 2
    • 1
  • u

    123

    05/28/2018, 10:20 PM
    есть ли какой-то сборник того, что поменялось с котлин 1.0.0 по текущую версию или единственный способ это пройтись по релиз нотсам?
    r
    i
    • 3
    • 3
  • u

    123

    05/29/2018, 6:26 PM
    правильно ли я понимаю, что основные отличия inline функций от обычных лямбд: 1. нет оверхеда т.к. просто копируется кусок кода (это очевидное) 2. inline нельзя передать в другую функцию, а лямбду можно, поэтому там и генерируется анонимный класс
    s
    v
    • 3
    • 5
  • a

    Alexjok

    05/30/2018, 8:29 AM
    Всем привет! Я недавно стал изучать Котлин, нахожусь в процессе чтения книги и документации на сайте. Вижу, что сейчас Котлин это больше про android (мое субъективное мнение), а кто-то пробовал при помощи Котлина организовывать MQ очереди между приложениями? Собираюсь попробовать связку websphere mq и Kotlin, может кто-то сталкивался. Спасибо
    l
    d
    b
    • 4
    • 11
  • p

    priporov

    06/07/2018, 3:49 PM
    кто-нибудь пробовал котлин под микроконтроллеры? Есть ли хеллоу-ворды работы для stm32 или хотя бы avr?
    m
    • 2
    • 1
  • m

    m

    06/10/2018, 7:58 PM
    Привет. Неужели в Kotlin нет простого способа задать тип для геттера отличньім от типа поля? Например, чтоб гетер возвращал not null значение а само поле бьіло nullable. Или вот еще https://discuss.kotlinlang.org/t/idiomatic-way-to-expose-a-property-using-a-more-narrow-type/4863
    g
    • 2
    • 5
Powered by Linen
Title
m

m

06/10/2018, 7:58 PM
Привет. Неужели в Kotlin нет простого способа задать тип для геттера отличньім от типа поля? Например, чтоб гетер возвращал not null значение а само поле бьіло nullable. Или вот еще https://discuss.kotlinlang.org/t/idiomatic-way-to-expose-a-property-using-a-more-narrow-type/4863
g

gildor

06/10/2018, 11:32 PM
Сейчас нет, популярный фича реквест, есть issue про это
Пока только делаю приватное поле + публичное с другим типов и геттером
m

m

06/11/2018, 4:00 AM
Ок. Жаль. Спасибо.
g

gildor

06/11/2018, 4:01 AM
Можно проголосовать и добавить свой usecase https://youtrack.jetbrains.com/issue/KT-14663
m

m

06/11/2018, 6:22 AM
Спасибо. Проголосовал и добавил
View count: 5