JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
Kotlin 7
https://mevius.5ch.net/test/read.cgi/tech/1588748438/
探検
Kotlin 8
2023/01/02(月) 13:55:05.18ID:8T2JCaCm
2023/02/05(日) 14:57:24.55ID:eX3gCsU+
>>37
なんの話か知らんけどスレ違いでは?
なんの話か知らんけどスレ違いでは?
2023/02/05(日) 15:03:44.12ID:c43hBO2w
2023/02/05(日) 16:00:24.37ID:5cc7+aVs
Android のプログラミングについてならこの板にもスレがあるよ
https://mevius.5ch.net/test/read.cgi/tech/1488362439/
https://mevius.5ch.net/test/read.cgi/tech/1488362439/
2023/02/05(日) 16:45:28.95ID:JGp0Ajcj
>>40
ありがとう
ありがとう
2023/02/05(日) 16:58:52.92ID:O5yWrFkB
モチベなくなるとかいう舐めたやつがム板にいるの草
まずモチベあげてこいや
まずモチベあげてこいや
2023/02/05(日) 17:27:18.81ID:LxIjuN9C
2023/02/05(日) 18:20:15.79ID:UIX++ell
Kotlinでデスクトップアプリ作ろうと思ったら何が良いですか
2023/02/05(日) 18:26:40.59ID:g4sBqnE4
>>43
クソどうでもいいからこれ以上伸ばすなつまらん
クソどうでもいいからこれ以上伸ばすなつまらん
2023/02/05(日) 19:33:13.77ID:jEfF1RGv
結局kotlinはこの程度の民度にしかならんね
オワリオワリ
オワリオワリ
2023/02/05(日) 19:34:33.45ID:zHd5o0IW
はい
2023/02/06(月) 06:57:46.08ID:JSEbBT7Z
2023/02/06(月) 07:27:11.36ID:X90rLmc5
>>48
fleetとintellijの話をしてるんだけど、jetbrainsが苦しいやらkotlinやらの話はしてない
spaceをより連携しやすく設計したのがfleetであって明確にintellijと差別化された商品だと思うんだが、なんでintellijが廃れる話になるのか
リモート開発プラットフォームのspaceが普及するならfleetは必須ツールになるとは思う
「後援企業のJetBrainsが苦しくなれば」はなんの話をしてるのか意味不明だから再度返答求む
こっちはわからないから聞いてるの
fleetとintellijの話をしてるんだけど、jetbrainsが苦しいやらkotlinやらの話はしてない
spaceをより連携しやすく設計したのがfleetであって明確にintellijと差別化された商品だと思うんだが、なんでintellijが廃れる話になるのか
リモート開発プラットフォームのspaceが普及するならfleetは必須ツールになるとは思う
「後援企業のJetBrainsが苦しくなれば」はなんの話をしてるのか意味不明だから再度返答求む
こっちはわからないから聞いてるの
2023/02/06(月) 07:36:18.79ID:X90rLmc5
そもそもfleetは今のところ正式リリース後のライセンスは有料のみだから、spaceで開発しないなら使うことのない代物だろうに
2023/02/06(月) 07:43:38.58ID:sQrgNFA4
こいつ多分まういっていう荒らしだから相手にしなくてよし>>48
52デフォルトの名無しさん
2023/02/06(月) 16:18:15.14ID:Pcm2g4vQ >>49
下の方に Free のライセンスも書いてあるよ。検討中だから変わる可能性はあるが。
下の方に Free のライセンスも書いてあるよ。検討中だから変わる可能性はあるが。
53デフォルトの名無しさん
2023/02/06(月) 16:19:37.37ID:Pcm2g4vQ 下ってこのページの下ね。
https://www.jetbrains.com/ja-jp/fleet/
https://www.jetbrains.com/ja-jp/fleet/
2023/02/06(月) 16:26:21.80ID:X90rLmc5
>>52
お、ええやん
お、ええやん
2023/02/06(月) 22:36:04.89ID:JSEbBT7Z
2023/02/06(月) 22:55:57.47ID:X90rLmc5
kotlin1.8用のcompose compiler1.4がいつの間にか来てた
これでjava8と完全におさらばだ
これでjava8と完全におさらばだ
2023/02/07(火) 19:50:20.15ID:HKR0nzX7
2023/02/07(火) 19:53:23.74ID:GuvwFBq1
2023/02/07(火) 20:52:24.11ID:HKR0nzX7
60デフォルトの名無しさん
2023/02/07(火) 21:03:25.88ID:AieqUWxb Kotlinで作ることを前提にお題を求めてるのにC#で開発させようとするの草
2023/02/07(火) 21:13:17.87ID:MzyxuFjY
Compose for desktop はどうなんすか
2023/02/07(火) 21:16:53.83ID:GA6tm9zJ
63デフォルトの名無しさん
2023/02/07(火) 21:19:25.74ID:JG0DFLjy >>61
宣言的UIはカスだからC#で開発したほうがいい
宣言的UIはカスだからC#で開発したほうがいい
2023/02/07(火) 21:22:01.03ID:sxKwL+o5
>>44
JetBrainsはFleetエディタの開発にこれ使ってる
https://github.com/JetBrains/skiko
サポートプラットフォーム
Kotlin/JVM on Linux(x86_64 and arm64)
Kotlin/JVM on Windows(x86_64)
Kotlin/JVM on macOS(x86_64 and arm64)
Kotlin/JVM on Android(x86_64 and arm64), starting with API version 24
Kotlin/JS + WebAssembly in browsers
Kotlin/Native on iOS(arm64 and x64)
Kotlin/Native on macOS (arm64 and x64)
ちゃんと自分の製品の開発に使っててえらい
JetBrainsはFleetエディタの開発にこれ使ってる
https://github.com/JetBrains/skiko
サポートプラットフォーム
Kotlin/JVM on Linux(x86_64 and arm64)
Kotlin/JVM on Windows(x86_64)
Kotlin/JVM on macOS(x86_64 and arm64)
Kotlin/JVM on Android(x86_64 and arm64), starting with API version 24
Kotlin/JS + WebAssembly in browsers
Kotlin/Native on iOS(arm64 and x64)
Kotlin/Native on macOS (arm64 and x64)
ちゃんと自分の製品の開発に使っててえらい
2023/02/07(火) 21:26:24.81ID:MzyxuFjY
マイクロソフトのXamarinとは違うんですねえ
2023/02/12(日) 10:01:33.75ID:ergWQxlR
K2コンパイラ安定版もうそろそろ来るらしい
https://blog.jetbrains.com/kotlin/2023/02/k2-kotlin-2-0/
https://blog.jetbrains.com/kotlin/2023/02/k2-kotlin-2-0/
2023/02/12(日) 10:41:01.09ID:xxkzcwPc
今は1.8
1.9の次に2.0だから安定版はまだまだ後かと思うけど
1.9の次に2.0だから安定版はまだまだ後かと思うけど
2023/02/12(日) 13:27:40.86ID:HnI2C6C6
>>66
JVMとかJSのバックエンド部分は既にK2コンパイラに置き換え済みだぜ?Nativeはベース自体がK2コンパイラだし
https://blog.jetbrains.com/kotlin/2021/10/the-road-to-the-k2-compiler/
逆にフロントエンドとしてのK2コンパイラってのがよくわからん
記事を見る限りIDEと密に連携する部分っぽいけど
JVMとかJSのバックエンド部分は既にK2コンパイラに置き換え済みだぜ?Nativeはベース自体がK2コンパイラだし
https://blog.jetbrains.com/kotlin/2021/10/the-road-to-the-k2-compiler/
逆にフロントエンドとしてのK2コンパイラってのがよくわからん
記事を見る限りIDEと密に連携する部分っぽいけど
2023/04/19(水) 23:19:08.07ID:4p0qLLoT
it.nameやit::name
のnameの部分を文字列結合して
アドレス参照って可能でしょうか
やっぱ全部手打ちのマンパワーですかね・・・
のnameの部分を文字列結合して
アドレス参照って可能でしょうか
やっぱ全部手打ちのマンパワーですかね・・・
2023/04/20(木) 06:39:38.67ID:YgiO/wBC
>>69
正攻法としてはリフレクションを使うことになるんだろうけど、数が少ないなら手打ちの方が楽かな。
annotationで何とかできるのかもしれないけど、そこまでしたことがないので分からない。
メタプログラミング的には、gradleにソースコード書き換えのスクリプトを仕込むとか。
正攻法としてはリフレクションを使うことになるんだろうけど、数が少ないなら手打ちの方が楽かな。
annotationで何とかできるのかもしれないけど、そこまでしたことがないので分からない。
メタプログラミング的には、gradleにソースコード書き換えのスクリプトを仕込むとか。
71デフォルトの名無しさん
2023/04/20(木) 13:36:09.92ID:4kBjE/up >>69
君が何をやりたいのかいまいちわからない
君が何をやりたいのかいまいちわからない
2023/04/20(木) 20:32:58.66ID:OnLj6Vmm
ありがとうございます
検索単語の検討つかなかったので助かります
検索単語の検討つかなかったので助かります
2023/05/26(金) 06:46:38.30ID:aXYAncjI
Kotlin のコンパイラとか IDEA って一応オープンソースだけど、
コメント無さすぎじゃない?
意図的に削除してるわけではなく、こういう開発スタイルなだけ?
コメント無さすぎじゃない?
意図的に削除してるわけではなく、こういう開発スタイルなだけ?
2023/05/26(金) 19:54:29.39ID:sy2y3XVh
IT先進国ではソースコードから意味が読み取れるようになってる
コメントを書かないといけないということはソースコードが糞ということ
コメントを書かないといけないということはソースコードが糞ということ
2023/05/26(金) 20:37:52.00ID:mvbRRaiF
大昔ガチでそれ主張してる有名なプログラマがいた気がするな
2023/05/27(土) 03:04:22.51ID:hhb34/XN
それで結局キーワードが長くなり記号が減りまるで英文のようになるとすると、俺にとってそれはクソとなるのではないかと思う。
2023/05/27(土) 07:43:30.62ID:FognjnHm
そんなことにはなれへんで。往生しまっせ~
2023/05/27(土) 08:07:28.84ID:ap1zYrbm
コメントがなぜ必要かというと要はサマリーが欲しいからなんだよ
よみゃわかる、とかいわれてもいちいち全部読んでたら時間のムダ以外の何ものでもない
30分のYoutube動画のURLだけ提示して「見れば全部説明してある」とかいわれても困るわけ
動画の内容は何で、これを見ると何がわかるのか、要点はなにか、それ書けということ
読む人の時間を節約するために、効率を上げるために的確なコメントがあるってのがわからん
脳タリンの言いそうな言葉が、「コードですべて説明できている」
よみゃわかる、とかいわれてもいちいち全部読んでたら時間のムダ以外の何ものでもない
30分のYoutube動画のURLだけ提示して「見れば全部説明してある」とかいわれても困るわけ
動画の内容は何で、これを見ると何がわかるのか、要点はなにか、それ書けということ
読む人の時間を節約するために、効率を上げるために的確なコメントがあるってのがわからん
脳タリンの言いそうな言葉が、「コードですべて説明できている」
2023/05/27(土) 08:36:27.58ID:FognjnHm
そんなのはソースコードの外側に書けば良いこと
2023/05/27(土) 14:06:25.50ID:ObF3i/yO
ぶっちゃけ詳細な情報はAIで生成する時代が来る
プログラマーが書くのはクラスやファイルに対して1行ぐらいの概要で良くなる
プログラマーが書くのはクラスやファイルに対して1行ぐらいの概要で良くなる
81デフォルトの名無しさん
2023/05/28(日) 14:52:33.49ID:fKPLYy9v やがて人の欲しがりそうなことを予測して先に作ったり実行したりするようになる。
82デフォルトの名無しさん
2023/05/29(月) 16:21:12.69ID:F8hmnix6 そして人間は栽培されるようになる。
2023/05/29(月) 16:24:50.25ID:BskQWRzX
youtubeのサマリーは概要欄や説明文のところに書いてある
2023/06/28(水) 14:51:16.64ID:qwzkqtvX
Int?をIntでオーバーライドできるようですが逆は多分不可能ですよね?
検索してもなかなか情報が無いので
検索してもなかなか情報が無いので
85デフォルトの名無しさん
2023/06/29(木) 11:46:45.40ID:IO1TL2jD nullを表現できる型よりも出来ない型の方が表現できる状態が一つ少ないんだから override できて当然だと思うが。
86デフォルトの名無しさん
2023/06/30(金) 06:11:35.03ID:KO9roK1Y 漠∞!!!!
及∞!!!!!
斗∞!!!!!!
語∞!!!!!!!
原∞!!!!!!!!
芋∞!!!!!!!!!
表∞!!!!!!!!!!
牛∞!!!!!!!!!!!
及∞!!!!!
斗∞!!!!!!
語∞!!!!!!!
原∞!!!!!!!!
芋∞!!!!!!!!!
表∞!!!!!!!!!!
牛∞!!!!!!!!!!!
87デフォルトの名無しさん
2023/07/17(月) 05:21:02.23ID:0PvTd+Ok Kotlin 1.9.0
2023/07/20(木) 14:25:41.42ID:x8Idengv
以下の2つのfilterって全く同じ処理ですか?
速度はほぼ同じようですしサイズも同じですし
fun main(){
val l = (1..1000000).toList()
val s = System.currentTimeMillis()
val m = l.filter { it in 3..500000 }
val s2 = System.currentTimeMillis()
val n = l.filter { it >= 3 && it <= 500000 }
val s3 = System.currentTimeMillis()
println(s2-s)
println(s3-s2)
println(m.size)
println(n.size)
}
速度はほぼ同じようですしサイズも同じですし
fun main(){
val l = (1..1000000).toList()
val s = System.currentTimeMillis()
val m = l.filter { it in 3..500000 }
val s2 = System.currentTimeMillis()
val n = l.filter { it >= 3 && it <= 500000 }
val s3 = System.currentTimeMillis()
println(s2-s)
println(s3-s2)
println(m.size)
println(n.size)
}
89デフォルトの名無しさん
2023/07/21(金) 01:25:51.58ID:esLQ8StN >>88
ほぼ同じになるのではないかな。 it in 3..500000 は IntRange(3, 500000).contains(it) って書いたのと同じだし。
contains() メソッドのソースを見るとこう書いてある。
override fun contains(value: Int): Boolean = first <= value && value <= last
ただ、最適化されなかった場合は IntRange クラスのインスタンスを毎回作ることになるのでその分だけメモリ確保(及び不要になった時の解放)を毎回することになってそれが無駄になる。なので最終的なコードが同じになるかどうかはコンパイラ次第になる。
ほぼ同じになるのではないかな。 it in 3..500000 は IntRange(3, 500000).contains(it) って書いたのと同じだし。
contains() メソッドのソースを見るとこう書いてある。
override fun contains(value: Int): Boolean = first <= value && value <= last
ただ、最適化されなかった場合は IntRange クラスのインスタンスを毎回作ることになるのでその分だけメモリ確保(及び不要になった時の解放)を毎回することになってそれが無駄になる。なので最終的なコードが同じになるかどうかはコンパイラ次第になる。
90デフォルトの名無しさん
2023/07/21(金) 01:44:23.23ID:esLQ8StN そう言えば実行環境が JVM だと HotSpot とかの実行時最適化がされるのでコードが少々違っても大差ない速度になる可能性がある。
91デフォルトの名無しさん
2023/07/24(月) 12:07:12.59ID:8gMzjgKK 負の値に対して mod() 使った時と % 使った時で結果が違う。
(-7) % 3 は結果が -1
(-7).mod(3) は結果が 2
ソースを追ってみたら Int.mod() は kotlin/libraries/stdlib/src/kotlin/util/FloorDivMod.kt にある拡張関数が使われていた。
数学のルールとしては余りは0以上でなければいけないことになっているので結果が 2 の方が正しい。
その代わりその場合は割り算の結果が -3 で出る必要があるが、それは Int.floorDiv() を使うと計算できるようになっていた。( / 記号を使うと -2 になる)。
これ Kotlin 1.5 からのようだが(多分リリースノート等に書かれていることだろうが)、今まで気が付かなかった。
(-7) % 3 は結果が -1
(-7).mod(3) は結果が 2
ソースを追ってみたら Int.mod() は kotlin/libraries/stdlib/src/kotlin/util/FloorDivMod.kt にある拡張関数が使われていた。
数学のルールとしては余りは0以上でなければいけないことになっているので結果が 2 の方が正しい。
その代わりその場合は割り算の結果が -3 で出る必要があるが、それは Int.floorDiv() を使うと計算できるようになっていた。( / 記号を使うと -2 になる)。
これ Kotlin 1.5 からのようだが(多分リリースノート等に書かれていることだろうが)、今まで気が付かなかった。
2023/07/24(月) 12:23:30.67ID:dSKtSeZa
他の言語でも当たり前やん。
93デフォルトの名無しさん
2023/07/27(木) 13:43:57.78ID:gIycSMlB IntelliJ IDEA がAIに繋がるようになったそうだな。
やはりそのうち「アレやっといて」とか言うだけで全部やってくれるようになるんだろうな。
やはりそのうち「アレやっといて」とか言うだけで全部やってくれるようになるんだろうな。
2023/07/28(金) 06:28:10.00ID:fwyKXBPr
AI化で、JSONとクラスの変換やORMの自動生成とかを一言だけでやってくれるようになると助かる。
2023/07/28(金) 22:14:31.76ID:0RAcqx90
AIが書いてくれた部分は色分けしてほしいな
2023/08/03(木) 21:22:22.37ID:JmIQL7Xi
Int?をIntでオーバーライドできるって書いてあるけどオーバーロードじゃないの
全然意味が変わってくると思うんだが
全然意味が変わってくると思うんだが
2023/08/03(木) 21:57:38.76ID:l7e2epMI
文脈によるとしか…
2023/08/04(金) 15:33:07.93ID:XIAkXQCa
Coroutinesを勉強しようと思ってるんですが
error: unresolved reference: kotlinx
他エラー多数
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
}
このような依存関係を追加すれば動きそうですが
kotlinc c001.kt
kotlin C001Kt
などとやって動かす方法は無いのでしょうか
Coroutinesはandroid専用なのですか?
c001.kt
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("World!")
}
println("Hello")
}
error: unresolved reference: kotlinx
他エラー多数
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
}
このような依存関係を追加すれば動きそうですが
kotlinc c001.kt
kotlin C001Kt
などとやって動かす方法は無いのでしょうか
Coroutinesはandroid専用なのですか?
c001.kt
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("World!")
}
println("Hello")
}
2023/08/04(金) 18:48:39.15ID:oQLXycol
それはAndroidのメインスレッドを考慮したライブラリでしょ
通常版を普通に入れればいいんじゃない
https://github.com/Kotlin/kotlinx.coroutines/blob/master/README.md
通常版を普通に入れればいいんじゃない
https://github.com/Kotlin/kotlinx.coroutines/blob/master/README.md
100デフォルトの名無しさん
2023/08/04(金) 19:17:16.93ID:FKUenUop 英語読めない人は色々と向いてないよ
101デフォルトの名無しさん
2023/08/04(金) 21:07:52.11ID:LzfYm8xL >>98
chatGPTにその質問をまるままコピペして質問してみたよ
https://i.imgur.com/BhfnYa7.jpg
chatGPTの答えで意味通じてる?
Kotlinはよく知らないからわからないけど、JavaScriptではすごく貢献してくれている
chatGPTにその質問をまるままコピペして質問してみたよ
https://i.imgur.com/BhfnYa7.jpg
chatGPTの答えで意味通じてる?
Kotlinはよく知らないからわからないけど、JavaScriptではすごく貢献してくれている
102デフォルトの名無しさん
2023/08/04(金) 22:08:16.75ID:hYKWZiai103デフォルトの名無しさん
2023/08/05(土) 01:08:23.15ID:NvWXSifX104デフォルトの名無しさん
2023/08/05(土) 04:09:23.74ID:UibUwgvW10598
2023/08/07(月) 15:30:19.77ID:bKCC1GJD kotlinc -classpath /home/hoge/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.6.4/2c997cd1c0ef33f3e751d3831929aeff1390cb30/kotlinx-coroutines-core-jvm-1.6.4.jar c001.kt -include-runtime -d c001.jar
コンパイルは出来ましたが
Exception in thread "main" java.lang.NoClassDefFoundError: kotlinx/coroutines/GlobalScope
at C001Kt.main(c001.kt:4)
at C001Kt.main(c001.kt)
Caused by: java.lang.ClassNotFoundException: kotlinx.coroutines.GlobalScope
...
chatgptに聞いたりググったりして
gradle init --dsl kotlin
2 enter 4 enter ...
などとしてみてapp/build.gradle.ktsのdependenciesに
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
を書いて./gradlew runしてみましたが
> Task :app:compileKotlin
w: file:///hoge/kt/c001/app/src/main/kotlin/c001/App.kt:4:5 This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
そもそもkotlinx.coroutines.*とkotlin.coroutines.*があるようですが
コンソールアプリで使えるのは後者なのでしょうか
もしそうだとすると上のサンプルコード自体コンソールでは使えないかもしれません
色々試してみていますがまだうまく動かせていません
初心者すぎてすいません
コンパイルは出来ましたが
Exception in thread "main" java.lang.NoClassDefFoundError: kotlinx/coroutines/GlobalScope
at C001Kt.main(c001.kt:4)
at C001Kt.main(c001.kt)
Caused by: java.lang.ClassNotFoundException: kotlinx.coroutines.GlobalScope
...
chatgptに聞いたりググったりして
gradle init --dsl kotlin
2 enter 4 enter ...
などとしてみてapp/build.gradle.ktsのdependenciesに
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
を書いて./gradlew runしてみましたが
> Task :app:compileKotlin
w: file:///hoge/kt/c001/app/src/main/kotlin/c001/App.kt:4:5 This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
そもそもkotlinx.coroutines.*とkotlin.coroutines.*があるようですが
コンソールアプリで使えるのは後者なのでしょうか
もしそうだとすると上のサンプルコード自体コンソールでは使えないかもしれません
色々試してみていますがまだうまく動かせていません
初心者すぎてすいません
106デフォルトの名無しさん
2023/08/07(月) 15:42:07.47ID:0QKbZCOV chatgptに聞くだけじゃなくて公式ドキュメントも読めよな
107デフォルトの名無しさん
2023/08/07(月) 15:45:07.87ID:HxjEfC0+108デフォルトの名無しさん
2023/08/07(月) 15:47:09.42ID:GkxhoiSP109デフォルトの名無しさん
2023/08/07(月) 16:58:45.75ID:7+qP6XW5110デフォルトの名無しさん
2023/08/07(月) 20:31:42.18ID:8OjWeX4X 公式サイト程度の簡単英語すら読めないってヤバイよ
111デフォルトの名無しさん
2023/08/07(月) 23:12:11.67ID:dolrRGoi この頃は自動翻訳しても結構読める日本語になるので、面倒な時は翻訳している。
ブラウザに自動翻訳のボタン付いてて楽だし。
ブラウザに自動翻訳のボタン付いてて楽だし。
112デフォルトの名無しさん
2023/08/08(火) 04:42:08.20ID:7gEoIqTk 多分>>105のkotlinc使ってコンパイル成功したやつで実行出来るとおもうんだけど、
コンパイル時に使ったjarの場所を実行時にも指定する必要があるはず
コンパイル時に使ったjarの場所を実行時にも指定する必要があるはず
113デフォルトの名無しさん
2023/08/08(火) 04:55:31.62ID:7gEoIqTk gradle使う場合(ここでは7.2使用)はgradle init --dsl kotlinして、質問にはこんな感じに答えて
2: application
4: Kotlin
1: no - only one application project
それで作ったプロジェクトでApp.ktを>>98のc001.ktのコードに置き換えて、
app/build.gradle.ktsのdependenciesにimplementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")を追加して、
./gradlew runで実行できたよ
./gradlew buildするとAppTest.ktがApp.ktと合ってないのでエラーになるからappHasAGreeting()の中身を空にしとくといい
2: application
4: Kotlin
1: no - only one application project
それで作ったプロジェクトでApp.ktを>>98のc001.ktのコードに置き換えて、
app/build.gradle.ktsのdependenciesにimplementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")を追加して、
./gradlew runで実行できたよ
./gradlew buildするとAppTest.ktがApp.ktと合ってないのでエラーになるからappHasAGreeting()の中身を空にしとくといい
11498
2023/08/09(水) 14:27:04.56ID:9U6EOwhw 113さんの方法で実行できました。バージョンは最初1.5.0でコンパイルしましたが最新の1.7.3でも動きました
これで勉強できます。ありがとう!
これで勉強できます。ありがとう!
115デフォルトの名無しさん
2023/08/17(木) 14:46:06.81ID:OpFORHD6 androidアプリでデータ保存するとしたら今はroomになると思うのですが
room + koin + coroutine
room + coroutine flow
room + livedata
room + rxjava3
など色々な技術がありますがこれが最新ってのはどれなんでしょうか?オススメの組み合わせはありますか?
room + koin + coroutine
room + coroutine flow
room + livedata
room + rxjava3
など色々な技術がありますがこれが最新ってのはどれなんでしょうか?オススメの組み合わせはありますか?
116デフォルトの名無しさん
2023/08/17(木) 20:28:07.81ID:BGu5pbVD room hilt coroutine flow viewModel, Jetpack compose
117デフォルトの名無しさん
2023/08/18(金) 00:47:46.24ID:vBC0Q9CB118デフォルトの名無しさん
2023/09/02(土) 10:58:57.91ID:EZqgn//v 以下のbyはどういう文法なのでしょうか
val navBackStackEntry by navController.currentBackStackEntryAsState()
クラスとプロパティの委譲のbyとはまた別物ですよね?
val navBackStackEntry by navController.currentBackStackEntryAsState()
クラスとプロパティの委譲のbyとはまた別物ですよね?
119デフォルトの名無しさん
2023/09/02(土) 12:33:55.85ID:LowIWjqn プロパティ移譲じゃない?
120118
2023/09/02(土) 14:26:35.12ID:EZqgn//v >>119
ありがとうございます
前後の文脈も示すべきでした
ttps://developer.android.com/jetpack/compose/navigation?hl=ja
ここにあるコードの抜粋
val navController = rememberNavController()
Scaffold(
bottomBar = {
BottomNavigation {
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentDestination = navBackStackEntry?.destination
...
この使われかたはプロパティじゃないと思うのですがどうでしょうか
ありがとうございます
前後の文脈も示すべきでした
ttps://developer.android.com/jetpack/compose/navigation?hl=ja
ここにあるコードの抜粋
val navController = rememberNavController()
Scaffold(
bottomBar = {
BottomNavigation {
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentDestination = navBackStackEntry?.destination
...
この使われかたはプロパティじゃないと思うのですがどうでしょうか
121デフォルトの名無しさん
2023/09/02(土) 17:54:56.94ID:JCftPCiU これかな
Local delegated properties
https://github.com/Kotlin/KEEP/blob/master/proposals/local-delegated-properties.md
ローカル移譲プロパティ?
Local delegated properties
https://github.com/Kotlin/KEEP/blob/master/proposals/local-delegated-properties.md
ローカル移譲プロパティ?
122118
2023/09/04(月) 10:07:53.25ID:FcZAE9nJ >>121 ありがとうございます
検索してもインターネットには情報が少ないですね
エラーメッセージを頼りにちいさいサンプルを書いてみましたが、
error: unresolved reference: test
このエラーが消せませんでした
委譲ならtestが呼べると思ったのですが
import kotlin.reflect.KProperty
public interface A{
fun test() : Unit
operator fun getValue(b : Nothing?, c:KProperty<*>) : String
}
public val impl = object : A{
override fun test() = println("hello world")
override fun getValue(b: Nothing?, c: KProperty<*>) = "str"
}
fun main(){
val da by impl
da.test()
}
検索してもインターネットには情報が少ないですね
エラーメッセージを頼りにちいさいサンプルを書いてみましたが、
error: unresolved reference: test
このエラーが消せませんでした
委譲ならtestが呼べると思ったのですが
import kotlin.reflect.KProperty
public interface A{
fun test() : Unit
operator fun getValue(b : Nothing?, c:KProperty<*>) : String
}
public val impl = object : A{
override fun test() = println("hello world")
override fun getValue(b: Nothing?, c: KProperty<*>) = "str"
}
fun main(){
val da by impl
da.test()
}
123デフォルトの名無しさん
2023/09/04(月) 10:58:04.18ID:3ylJB9rm >>122
移譲の形式でval da by implとした場合、da.test()はdaのgetValue(....)した結果をレシーバとしてtest()メソッドを呼ぶという意味になるよね?つまり"str".test()という意味になってエラーになるだろう
移譲でないval da = implとすればda.test()は呼べるはず
移譲の形式でval da by implとした場合、da.test()はdaのgetValue(....)した結果をレシーバとしてtest()メソッドを呼ぶという意味になるよね?つまり"str".test()という意味になってエラーになるだろう
移譲でないval da = implとすればda.test()は呼べるはず
124118
2023/09/04(月) 14:21:13.43ID:FcZAE9nJ >>123
ありがとうございます。一人では絶対にわからなかったと思います
getValueにはそういう意味があるのですね
以下のように書き換えてhello worldが表示できました
import kotlin.reflect.KProperty
public interface A{
fun test() : Unit
operator fun getValue(b : Nothing?, c:KProperty<*>) : A
}
public val impl = object : A{
override fun test() = println("hello world")
override fun getValue(b: Nothing?, c: KProperty<*>) = this
}
fun main(){
val da by impl
da.test()
}
ありがとうございます。一人では絶対にわからなかったと思います
getValueにはそういう意味があるのですね
以下のように書き換えてhello worldが表示できました
import kotlin.reflect.KProperty
public interface A{
fun test() : Unit
operator fun getValue(b : Nothing?, c:KProperty<*>) : A
}
public val impl = object : A{
override fun test() = println("hello world")
override fun getValue(b: Nothing?, c: KProperty<*>) = this
}
fun main(){
val da by impl
da.test()
}
125デフォルトの名無しさん
2023/09/16(土) 09:51:42.96ID:8u+hT5wA 「Kotlin」が人気言語ランキングトップ20に返り咲き--9月のTIOBE指標
https://japan.zdnet.com/article/35208961/
https://japan.zdnet.com/article/35208961/
126デフォルトの名無しさん
2023/09/16(土) 10:43:09.92ID:YSu5R3en javaのが上なのか
Kotlinに移行した開発者は増えてると思うんだがそこまででもないのか?
最近検索にひっかかるドキュメントはjavaよりKotlinのほうが多い印象
Kotlinに移行した開発者は増えてると思うんだがそこまででもないのか?
最近検索にひっかかるドキュメントはjavaよりKotlinのほうが多い印象
127デフォルトの名無しさん
2023/09/16(土) 11:40:23.57ID:8u+hT5wA Android 向けアプリの開発では結構使われているのではないかな。知らんけど。
Java の場合は20年以上前から色々な事に使われてきてプログラマも多いし本も多いから上なのは当然の事。
というかそもそも Kotlin は JavaVM で動くやつが最初に出て Java のライブラリ使って動くことが前提なのでまだまだ Java なしではいられない状態。
Java の場合は20年以上前から色々な事に使われてきてプログラマも多いし本も多いから上なのは当然の事。
というかそもそも Kotlin は JavaVM で動くやつが最初に出て Java のライブラリ使って動くことが前提なのでまだまだ Java なしではいられない状態。
128デフォルトの名無しさん
2023/09/16(土) 18:54:40.30ID:YSu5R3en androidはbuild.gradleもGroovyからKotlin(build.gradle.kts)に置き換えられるようになったし
かなりKotlin推しって感じ
俺はjavaから乗り換えた。Kotlinは書いていて割と楽しい方だと思う
そして名前がかわいいという最強のメリット
かなりKotlin推しって感じ
俺はjavaから乗り換えた。Kotlinは書いていて割と楽しい方だと思う
そして名前がかわいいという最強のメリット
129デフォルトの名無しさん
2023/09/17(日) 10:21:48.92ID:VwpwudFm var書いて変数名の後にコロン書いてまた変数型
の一手間を惜しまない人にはオススメ
の一手間を惜しまない人にはオススメ
130デフォルトの名無しさん
2023/09/17(日) 15:07:05.62ID:+bXFaSn8 型の指定は省略出来ることが多いが、それで可読性が下ることもあるかな。
131デフォルトの名無しさん
2023/09/17(日) 18:59:31.43ID:Tq9Zm9TM 確かにできるだけ型注釈はほしいな
Haskellなんかは型を明示してないとわけわからなくなったり
型注釈によってプログラムの動作が変わるまである
型注釈でプログラムの動作(全解探索か最初の解探索か)が変わるコードを始めてみたときは感動した
Haskellなんかは型を明示してないとわけわからなくなったり
型注釈によってプログラムの動作が変わるまである
型注釈でプログラムの動作(全解探索か最初の解探索か)が変わるコードを始めてみたときは感動した
132デフォルトの名無しさん
2023/09/17(日) 21:30:35.28ID:SFlUWSkF varとvalの使い分けに価値があるんだから手間とは感じないなあ
コーディング量トータルで見たら誤差すぎる
JavaScript系でletとconst書くのが面倒とか聞いたことないし
コーディング量トータルで見たら誤差すぎる
JavaScript系でletとconst書くのが面倒とか聞いたことないし
133デフォルトの名無しさん
2023/09/17(日) 23:41:10.25ID:70jB6wMR まだ使い始めて4ヶ月ぐらいだけど
徹底してnullセーフティを追求する言語仕様のよさがやっとわかりはじめた
基本!!は使っちゃダメなのだよね?
徹底してnullセーフティを追求する言語仕様のよさがやっとわかりはじめた
基本!!は使っちゃダメなのだよね?
134デフォルトの名無しさん
2023/09/18(月) 01:35:25.07ID:iIjoZZgL 自分で新たに作る Kotlin プログラムでは !! を使うように書く必要性がないのでは?
135デフォルトの名無しさん
2023/09/18(月) 07:37:13.91ID:z3xniIT9 importと利用できる名前が
リンク出来ないのが個人的に見づらい
Pythonみたく
import numpy as np
np.array()
が見やすく名前の衝突もなくいいなぁ
リンク出来ないのが個人的に見づらい
Pythonみたく
import numpy as np
np.array()
が見やすく名前の衝突もなくいいなぁ
136デフォルトの名無しさん
2023/09/18(月) 08:02:25.49ID:4OJ2QsEy >>135
できるみたいだけど
https://codelabsjp.net/kotlin-practice-renameimport/
>【Kotlin練習問題】importの名前を変更する
>クラスや関数をimportする際、import文の後にas 新しい名前と書き加えることで
>別の名前を指定することができます。別のライブラリからの似たような名前の
>クラスや関数を複数個使いたい時など、混乱を避けるのに便利です。
できるみたいだけど
https://codelabsjp.net/kotlin-practice-renameimport/
>【Kotlin練習問題】importの名前を変更する
>クラスや関数をimportする際、import文の後にas 新しい名前と書き加えることで
>別の名前を指定することができます。別のライブラリからの似たような名前の
>クラスや関数を複数個使いたい時など、混乱を避けるのに便利です。
137デフォルトの名無しさん
2023/09/18(月) 09:09:48.94ID:UmWRU5gb asは知らなかったなー便利だな
Kotlinすぐバージョンがあがるから、知らない機能がたくさんある
先日もこんなちょっとクスっとする機能を知った
fun main(){
println(1_000_000) //3桁ごとにアンダーバーで区切った数値が使える
println(3_000L) //Long型
}
Kotlinすぐバージョンがあがるから、知らない機能がたくさんある
先日もこんなちょっとクスっとする機能を知った
fun main(){
println(1_000_000) //3桁ごとにアンダーバーで区切った数値が使える
println(3_000L) //Long型
}
レスを投稿する
ニュース
- 【おこめ】ベトナムから密輸のコメを「国産」と偽り販売容疑、ベトナム人ら2人追送検…300トン売って1億3000万円稼いだか 大阪 [ぐれ★]
- 【速報】流行語年間大賞に高市早苗首相「働いて働いて働いて働いて働いてまいります/女性首相」 [Ailuropoda melanoleuca★]
- モーニングショーで女性弁護士、「世界中の国を見渡しても日本ほど中国ともめている国は今はどこもない」「挑発しちゃっている状況」 [muffin★]
- 高市首相「いいから黙って全部オレに投資しろ」“進撃の巨人”のセリフで対日投資呼びかけ [おっさん友の会★]
- 【速報】長期金利、一時1.850%に上昇 ★2 [蚤の市★]
- 【流行語大賞】2025 T&D保険グループ新語・流行語大賞、高市早苗首相の「働いて働いて働いて働いて働いて」が年間大賞! [煮卵★]
- 【高市悲報】モーニングショー女弁護士「世界中の国を見渡しても日本ほど中国ともめている国は今はどこもない。挑発しちゃっている状況」 [802034645]
- 【朗報】バーガーキング、新規出店「25店舗」一挙発表wwwwwwwwwww
- 【悲報】タイ🇹🇭、ガチで終わる、出生率が遂に0.9を割り込み日本人以下の出生率へ [339035499]
- 高市早苗ちゃん。 流行語大賞をゲット [485983549]
- たしかにネトウヨの巨大化は把握してたけど、まさか2025年にここまで一気に気持ち悪い国になると思ってた? [452836546]
- 青山繁晴環境副大臣「南鳥島のレアアースは、中国産の約20倍の純度がある」 [834922174]
