Kotlin 7

■ このスレッドは過去ログ倉庫に格納されています
2020/05/06(水) 16:00:38.76ID:LXTBA+hx
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 6
https://mevius.5ch.net/test/read.cgi/tech/1561186797/
2020/10/19(月) 16:27:27.20ID:liiL750E
>>319
kotlinが初言語なので、kotlin関係ないのかすらわかってませんでした
2020/10/19(月) 16:36:22.44ID:0TVa/n4S
初めての人のちんこが大きいと実感するのは二人目以降だからな
2020/10/19(月) 18:01:49.83ID:liiL750E
いろいろなところで何度も呼ばれる処理はメソッド化して共通にする、
特定の画面、特定のボタン固有の処理はリスナでOK

という認識であってますか?
2020/10/19(月) 18:06:22.73ID:hsGVQ31A
よく分からんけど
例えばandroidの話ならandroidスレで聞いた方が良いよ
2020/10/19(月) 18:14:43.79ID:liiL750E
すんません
Androidの話なので移動します
325デフォルトの名無しさん
垢版 |
2020/10/20(火) 03:30:40.57ID:NqApQAye
Kotlinならリスナーの関数を渡したいところだな。
リスナーのクラスではなく。
2020/10/20(火) 07:44:43.16ID:Cn8Loi3u
自分も関数に一票
2020/10/20(火) 09:13:03.48ID:QuVmy3Ai
>>325
なんかメリットある?
無駄な行数食うだけにしか見えん
setOnClickListener{〜〜〜〜}
の〜〜〜部分に処理書いた方がすっきりしない?
2020/10/20(火) 09:45:41.49ID:oW+M9fYI
あれ?
kotlinって関数オブジェクト使えましたっけ?
2020/10/20(火) 12:16:37.18ID:pbE9KFPp
android の java も、java8 指定してれば、リスナーにラムダ渡せるやろ
2020/10/20(火) 15:42:07.05ID:FsiL/fhc
使えましたっけも何もKotlinの特性を活かそうと思ったら多用するだろ
2020/10/20(火) 22:34:01.23ID:NqApQAye
>>327
それそれ。Kotlin ならそういう風に関数渡す書き方が良かろう。
332デフォルトの名無しさん
垢版 |
2020/10/20(火) 22:37:40.83ID:NqApQAye
>>328
もう渡しまくりだよ。
2020/10/21(水) 00:32:40.75ID:L9+JuToE
>>331
関数渡す・・・?どこが?????
334デフォルトの名無しさん
垢版 |
2020/10/21(水) 00:48:26.94ID:qfY9UfeH
>>333
{ } で括って送ってるじゃん。
内部的には Java と同じにしてクラスのインスタンス送ってるだけだろうけどね。
2020/10/21(水) 00:51:33.39ID:rydvJ0KE
>>334
それを関数を渡すって表現は違うだろw
初心者か?w
2020/10/21(水) 01:51:12.05ID:TRe2T820
ラムダ式は可読性を向上させるためのものだから、ラムダ式を使うべきかどうかはソースコードが読みやすいかどうか主観で判断してok
2020/10/21(水) 02:05:49.40ID:itS4lvMF
>>335
どう違うのか具体的に教えてほしい
2020/10/21(水) 06:48:40.18ID:BtVJB35t
ラムダを受け取るメソッドの定義を見れば、明らかに関数オブジェクトを受け取ってるのが分かるだろうにな
ていうか普通に書いてたら自分でもそういうメソッド作ることはいくらでもあるだろ
2020/10/21(水) 09:20:06.89ID:t/TiBMqj
丸括弧が省略されてるだけで引数に渡してるじゃん
2020/10/21(水) 10:13:30.90ID:rGZIGqVb
>>335が馬鹿なだけ
2020/10/21(水) 13:58:10.36ID:v6AhSc1z
>>339
多分そういう仕組みになってることを知らなかったんだろうな
2020/10/21(水) 19:56:38.22ID:7tx42Oy8
引数の最後が {〜} の関数リテラルの場合に、それを引数の()の右外側に追い出せる
引数が {〜} の関数リテラル1つだけなら、引数の()そのものを省略できる
2020/10/21(水) 21:37:56.85ID:lxmGvu01
>>342
ラムダの場合だけじゃね?
2020/10/21(水) 23:10:40.68ID:VoCqBc25
ラムダじゃない関数リテラルってあるの?
2020/10/21(水) 23:51:29.92ID:lxmGvu01
>>344
匿名関数
2020/10/22(木) 00:30:36.49ID:+v9eblZ/
だから {〜} の関数リテラルって書いてあるんでしょ

でも、書いたこと無かったけど、匿名関数でリスナー書けるんだねえ
setOnClickListener ( fun (v: View) { } )
これはたしかに丸括弧省略するとコンパイルがとおらん
2020/10/22(木) 00:39:26.04ID:QVpvIRcC
>>346
いや通るだろ
348デフォルトの名無しさん
垢版 |
2020/10/22(木) 01:53:39.85ID:RoszH/Tf
これみんな同じな。

fun f(s: String) = println("*$s*")
"abc".let(::f)

"abc".let(fun (s: String) { println("*$s*") } )
"abc".let { s -> println("*$s*") }
"abc".let { println("*$it*") }
2020/10/22(木) 02:39:29.62ID:+v9eblZ/
>>347
setOnClickListener fun (v: View) { }
Function invocation 'setOnClickListener(...)' expected. No value passed for parameter 'l'.
2020/10/22(木) 02:45:49.52ID:+v9eblZ/
>>348
これも
"abc".let() { println("*$it*") }
"abc".let( { println("*$it*") } )
2020/10/22(木) 07:54:02.64ID:N79iPiyb
>>346
ワンチャン通りそうにも見えるけど、だめなんだな。
まあそんなコード書くんじゃねえ、ですむ話だが。
352デフォルトの名無しさん
垢版 |
2020/10/22(木) 10:51:40.89ID:vPWH9GQz
(fun (s: String) { println("*$s*") } )("abc")
{ println("*$s*") }("abc")
2020/10/22(木) 11:57:56.81ID:HxQdVMd0
Kotlin入門したやつが増えてるんかな
いいことだ
2020/10/22(木) 15:31:59.08ID:RoszH/Tf
>>352
2行目のやつはできないぞ。
355デフォルトの名無しさん
垢版 |
2020/10/22(木) 17:01:22.13ID:vPWH9GQz
({ println("*$s*") })("abc")
2020/10/22(木) 17:22:41.10ID:nSQZzvp4
こうだな
{s:String -> println("*$s*")}("abc")
2020/10/22(木) 17:40:44.89ID:nSQZzvp4
>>355
試してから書き込めよ
358デフォルトの名無しさん
垢版 |
2020/10/22(木) 21:16:35.53ID:RoszH/Tf
>>335
ところで、関数を渡している事がお分かりいただけただろうか?

C言語で言うなら関数へのポインタ渡してるみたいなものだな。
359デフォルトの名無しさん
垢版 |
2020/10/22(木) 22:18:39.15ID:OxqRNNZs
この時代に生きててSNS発信を頑張らないやつはアホだ。
https://www.youtube.com/watch?v=TPMNmuWQm_o
【事例付き】YouTuberは最強の副業である件について。
https://www.youtube.com/watch?v=wB8hNuNVoIw&;t=267s
【初心者向け】YouTubeの始め方・稼ぎ方を徹底解説!
https://www.youtube.com/watch?v=YEw-a8qlADM
【貧者の工夫で戦え】ガラケーだっていい。YouTube始めるのにパソコンはいらない!
https://www.youtube.com/watch?v=jYdWfjjzD7Y
YouTubeを伸ばすコツ【5つの本質論/初心者向けのセミナーです】
https://www.youtube.com/watch?v=fn-LxP9Unmc
【悲報】YouTuberはマジで難しいので、ほぼ挫折すると思う【無理ゲー】
https://www.youtube.com/watch?v=iKREw5p0Yqc
2020/10/23(金) 10:45:46.62ID:aYh6EAUg
うんこと淋
2020/10/23(金) 20:05:38.09ID:PBud1Ljv
kotlinでAPI にリクエスト投げるときって何使うのが普通?
ライブラリとか使わずにJava標準のhttp URL connection?
2020/10/23(金) 20:14:35.53ID:S8a6Blv6
android?
2020/10/23(金) 20:15:58.96ID:HGIF+iw8
REST APIのこと言ってるのかなー
2020/10/23(金) 20:23:23.59ID:74U/tpIM
>>361
好きなの使えとしかいえないわ。apacheのやつとか、kotlin製がいいならfuelとか。
2020/10/23(金) 22:04:23.29ID:RV7G8YSK
>>362
今やってるのはAndroidだねー
2020/10/23(金) 22:05:07.60ID:RV7G8YSK
>>364
いや、俺が好きなのとかじゃなくて普通は何使うのか聞いてるわけよ
使用率とかね
2020/10/23(金) 22:20:16.28ID:k/z35/a+
ktorでしょ
2020/10/24(土) 00:09:17.37ID:vw9rmPE9
okhttp retrofit
2020/10/24(土) 08:14:41.28ID:Vns5s0/C
それこそググって見つけたライブラリのギフハブのスター数でも比べればいいだろ
2020/10/24(土) 09:34:55.38ID:tXc4rr2K
>>369
お前は何使ってんの?
2020/10/24(土) 14:46:08.24ID:kDlm7vyJ
聞き方がクソすぎるから教えない
初心者丸出しで初歩的な質問するなら普通に聞けよ
2020/10/24(土) 22:22:03.82ID:e+F7FuqO
なんか伸びてるなと思ったらクソみたいなガキの会話でワロタ

聞き方がムカつくから教えないとか。。。w
僕は使ってないので教えられません
詳しく無いので教えられません
の間違いだろwww
373デフォルトの名無しさん
垢版 |
2020/10/24(土) 22:29:16.90ID:cah2kODn
>>361
何使うのが普通かは知らない。
俺の場合はJava標準のしか知らないので普通はそれを使う。
2020/10/25(日) 00:17:30.20ID:mcT94BIp
ライブラリ使う奴は思考を放棄したアホだよね
2020/10/25(日) 07:14:27.20ID:fCZBO0ew
もはや釣りのつもりなのかもわからん
2020/10/25(日) 09:04:01.55ID:wyPnD9CJ
ndkでC言語で通信処理書くのが普通だぞ
2020/10/25(日) 11:39:31.01ID:pByoxzLt
この手のキチガイはRuby界隈でよく見かけるけどこちょりんスレで見るのは珍しいな
2020/10/25(日) 18:22:39.49ID:SbF5vudw
煽ってるつもりなんだろうけど下手くそすぎて煽りにすらなってないのが趣深い
2020/10/25(日) 21:50:48.59ID:paWzi42L
煽りにすらなってない(顔真っ赤だけど平静を装いながら)




2020/10/26(月) 11:09:41.52ID:OddFJxsE
そろそろ飽きたからもういいよ、おつかれさん
381デフォルトの名無しさん
垢版 |
2020/10/26(月) 15:03:30.94ID:EltRWJ/H
問題を解決する気が無い
雑談したいだけ
ぱよちん野党と一緒だなω

前向きな話しようぜ
382デフォルトの名無しさん
垢版 |
2020/10/27(火) 22:28:46.51ID:wfYFUdXE
>>374
使わないとできないじゃん
2020/10/27(火) 22:59:38.24ID:kHBqpxnd
できないことはないけどよほど暇でない限り車輪の再発明になるから仕事でやってはいけない
学習目的で個人的にやってみるのは良いと思う
2020/10/28(水) 16:57:14.90ID:yGKOA24C
logcatに出力される内容をテキストファイルに出力したいんだけどどうすればいい?
openFileOutputで任意の文字列をファイルに出力するところまでは出来たから、logcatの内容をstring型で取得する方法を知りたい
ググってもよくわからんかった
2020/10/28(水) 17:21:10.47ID:eEjR+I1x
kotlin関係なくね?
2020/10/28(水) 18:21:55.09ID:buwV59eZ
>>384
logcat の取得はセキュリティ的な危険性から一般アプリでは禁止されたんじゃないかな
なので自分のログをファイルに落としたかったら、Log クラスじゃなくて、別のロガーを使う
そのロガーの中から、Log クラスの関数呼んで logcat に出したり、ファイルに出力したりすればいい
探せばそういのが見つかる
2020/10/28(水) 18:51:48.24ID:yGKOA24C
>>385
kotlinでの書き方聞いてるんだから関係あるだろバーカ

>>386
あざーす
2020/10/28(水) 19:33:15.28ID:qIVMVvdR
またこいつか
2020/10/28(水) 20:11:08.16ID:eEjR+I1x
>>387
だったらJavaのソース出してKotlinでの書き方聞けよ
それができないのはKotlin関係ないからだろ?
2020/10/28(水) 20:53:30.45ID:NIynvX0P
>>389
流石に的外れすぎるぞそれは…
2020/10/28(水) 21:43:31.50ID:kbv4LFJH
それKotlinじゃなくAndroidの質問だろってのはよく見るけど、非Android系のコトラーなんか1割も居なさそう
Kotlin/JSとKotlin/Native期待してたのに残念
2020/10/29(木) 06:34:19.56ID:1z8oQa3r
勉強会行くと最近は3割くらいはサーバーサイドになってるな
まあそれでもAndroid勢が圧倒的に多いけど
2020/10/29(木) 14:14:27.74ID:gnqN5oYg
go糞過ぎる
kotlinに戻りたい
2020/10/29(木) 20:44:58.33ID:aDvl9SAP
いまどきポインタとかw
395デフォルトの名無しさん
垢版 |
2020/10/30(金) 00:06:28.80ID:X2Arn8L3
>>394
ポインタはC言語の概念だからスレ違い。
アドレス参照と表現してもらいたい。
2020/10/30(金) 00:12:59.31ID:rZnJagT7
ポン太カードはお持ちですか?ってLAWSONで聞かれなくなった
2020/10/30(金) 01:44:09.57ID:hd8pq5M+
気持ち悪いくらい気持ちよく書けるな
もうjavaには戻れん
groovyも言語は良かったけどKotlinはIDEが凄まじすぎるわ
2020/10/30(金) 04:49:46.43ID:mO2xl9AM
kotlinそんなにいいのか
399デフォルトの名無しさん
垢版 |
2020/10/30(金) 05:29:17.93ID:X2Arn8L3
三項演算子が冗長だぞ
2020/10/30(金) 06:08:40.16ID:mO2xl9AM
やはり文法が多すぎるな
2020/10/30(金) 07:57:00.83ID:C9ceSm6V
!!を許容する派と認めない派で揉める
also派とwith派で揉める
by lazy派とlateinit派で揉める
kotlinはケンカになるからやめとけ
2020/10/30(金) 08:28:54.23ID:3hbInUE2
そこでDartをお勧めしたい
2020/10/30(金) 08:33:25.55ID:UitTZA9p
>>401
うむ
404デフォルトの名無しさん
垢版 |
2020/10/31(土) 12:57:52.07ID:xdc4Eeuq
>>396
そういやローソンって au PAY で払ったら自動でPontaポイント足されてると考えて良いんだろうか
2020/11/01(日) 09:25:44.70ID:CzYnIilS
ケンカしろよ
2020/11/01(日) 11:54:40.16ID:2fv/suSL
Kotlin必要になって少し触ってるけど、コンセプトがよくわからない。あるべき姿を追っちゃうとScalaみたいな敷居が高いものになるから、適当なところで妥協したものを作った、ってこと?
2020/11/01(日) 13:55:44.06ID:PWR7yRTE
Kotlinは学者の研究用言語じゃねえんだよ
現場のドカタにとっての使い勝手の良さを重視して作られてる
理想より現実を見ている言語なんだよ
2020/11/01(日) 16:04:25.42ID:0HRkYbAe
いがみ合っているように見えて>>406>>407の意見にはそれほど違いがない。公式見解だった気がする。
>>406
コンセプトと言えるかどうかはわからないけど、KotlinのDSL記法を試してみると、
Kotlinの文法の多くはこのためにあるんだなと思うことができる(個人の感想です)。
2020/11/01(日) 16:14:50.06ID:nLXPRXUb
DSLはどちらかというとGroovyの思想で、Kotlinはその流れを汲みつつも普段使いをやや優先したって印象かな
2020/11/02(月) 20:15:02.79ID:V9FEG9XS
>>406
Scalaは理論というか哲学レベルの完全性を、Kotlinは実務で使う上での利便性をとことん追求している。
出自がアカデミックセクターなのと商用IDEベンダーの違いがそのまま現れてると思うよ。
2020/11/02(月) 21:59:55.18ID:sY6lI3WZ
理論だけの頭でっかちの世の中の実際には何の役にも立たない無用の長物のゴミ
2020/11/02(月) 22:04:59.67ID:lGH5kgvM
>>411
自己紹介?
と思ったが理論すらないアホだったなお前は
413406
垢版 |
2020/11/03(火) 12:47:12.63ID:UvRrulQw
ありがとう。とすると、素のjavaからの量的な拡張というか、改善なんだね。生産効率は上がりそうだけど、既存言語の面倒な問題にはあまり突っ込まない感じするから、不具合が激減するとかは期待できないのかな。
414406
垢版 |
2020/11/03(火) 12:53:27.79ID:UvRrulQw
理論がくだらない、とは自分はあまり思ってなくて、理論的にある種の不具合が根絶できるとわかるなら、それは追求する価値はあると思うけど。ただ、現実の開発現場でそれがペイするかはもちろん別だけどね。

最近は書きやすい言語が増えてきて、フレームワークも色々あるし、単に言語の量的な改善というのはコンセプトになり得ないと思ってたけど、色々便利なら採用する価値あるんだろうね。
2020/11/03(火) 13:30:13.38ID:qpgkpv1L
結論付け方がおかしいぞ
nullセーフは既存の面倒な問題への対策と不具合削減だろ
Kotlinはあるべき姿の追求ではなく適当なところでの妥協の産物という話で合ってるというのに、量的な拡張、改善だって話はどこから出てきた?
今理解に必要なことは、Kotlinはあるべきを追求してデザインされたものではないからコンセプトから演繹的に学習しようというスタンスはやめて、イメージだけで決め付けず、nullセーフやDSLといった各論を学んでから帰納的に把握すればいい
416406
垢版 |
2020/11/03(火) 14:21:58.69ID:AahD7IT6
nullセーフは例外発生の警告度を強めるだけで、null自体をやめてるわけではない、ということだよね?量的、というのは例えばそういう意味でした。

まぁでもとりあえずは使ってみようと思います。ありがとうございました。
2020/11/03(火) 16:42:07.16ID:nALcz4uh
警告じゃなくてエラーな
2020/11/04(水) 00:42:24.62ID:Sd8kUbYc
コンパイル時に解決できることのありがたさよ
2020/11/04(水) 08:00:31.74ID:bj5YbrcR
そもそも日本語の文章力が怪しすぎるだろ
技術書以外の本も読めよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況