Kotlin 7at TECH
Kotlin 7 - 暇つぶし2ch112:デフォルトの名無しさん
20/07/03 15:19:52.63 /+uSoVK/.net
>>110
60fpsには対応してるだろうから
1000÷60= 16.66666666666667ミリ秒

113:デフォルトの名無しさん
20/07/03 20:18:19 nJYArvJj.net
そんな早くてバッテリー消費問題ないんでしょうか

114:デフォルトの名無しさん
20/07/03 20:28:37.63 0RfpkPOi.net
実測したらいいんじゃないんですかね

115:デフォルトの名無しさん
20/07/03 20:31:45.18 nJYArvJj.net
わからないならレスしないでくださいうざいだけです

116:デフォルトの名無しさん
20/07/03 23:20:29 8QUz9sdR.net
>>112
バッテリーの消費は実験してみないとわからないんじゃないかな?
滑らかさとのトレードオフだと思うけど
映画並みの24コマまで落としても良いんじゃない?または倍の48とか
電子ペーパーでもない限り気にしなくて良いんじゃないですか?
一昔前は30fpsが普通だったし、
ゲームなら120とか144とかあるし、なんとも
最近の1000fpsプロジェクター並みでなくても良いでしょう?

117:デフォルトの名無しさん
20/07/03 23:55:37.18 zEGBQA4b.net
16.67ミリ秒はジョークかと思って見てたがマジだったんか
小文字と”後進”で何か他の用語だと思ってるみたいだけど
Global Positioning SytemのGPSのことだと思うぞ

118:デフォルトの名無しさん
20/07/04 00:08:10.73 6k6IaQvA.net
どうもおかしいと思ったらそうかGPSロガーね
んじゃ1Hzから10Hzの製品があるからそれで

119:デフォルトの名無しさん
20/07/04 00:54:52.30 +bmFKfmX.net
役に立たないクズばかり

120:デフォルトの名無しさん
20/07/04 01:32:25.11 D+qkQPx7.net
Kotlin関係ないしな

121:デフォルトの名無しさん
20/07/04 05:26:38 b24EOlvX.net
地図の縮尺や想定する端末の移動速度にもよるからな

122:デフォルトの名無しさん
20/07/04 12:12:20.99 LEDuzYUZ.net
自分で調べることもできない時点で向いてないよキミ
挙句5ちゃんで質問して逆ギレとかアホすぎかと

123:デフォルトの名無しさん
20/07/04 12:13:46.08 xxQcNpXl.net
言語とAPIと開発環境はそれぞれ別物だよね。
初心者には区別がつきにくいだろうけど、混乱を助長するような書籍は害悪。

124:デフォルトの名無しさん
20/07/06 00:17:47.24 ADv1sI7y.net
この本は俺に理解できないから混乱を助長している

125:あはーん
20/07/07 18:21:40.25 v+6s5ql8.net
あはーん

126:デフォルトの名無しさん
20/07/07 18:33:18.94 e1WbjzO/.net
この本って?

127:デフォルトの名無しさん
20/07/07 22:04:35 VydMzePW.net
>>125
この本=混乱を助長するような書籍
特定の本を指してはいない。
>>123は、>>122が自身の理解力が足りないことを書籍のせいにしていると
決めつけて揶揄したいだけ。

128:デフォルトの名無しさん
20/07/08 15:19:31 2mocGHPx.net
唐突かつ広範な主張
マウントスタート
主観的な理由
地に足のつかない結論

わずかな文章に愚かさが詰め込まれていて揶揄せずにおれない

129:デフォルトの名無しさん
20/07/08 23:11:44.22 i2MlnrFX.net
はじめてthreadに手を出したのですが↓こんな感じでおけ?
thread{}で囲った中身を別スレッドに放り投げて
その中身の処理が途中だろうと、完了しようと気にせず
UIスレッドの流れが継続していく
別スレッドに投げた処理が終わるまで待つみたいな方法あります?
いま使ってる例題ではsleepで待ってて、その無駄に長い時間の中でスレッド処理を待ってるみたいなので

130:デフォルトの名無しさん
20/07/08 23:41:51.53 NVZFXRh+.net
コールバック

131:デフォルトの名無しさん
20/07/09 00:39:56.84 0T+HUGb0.net
ありがと
threadだけ調べたくてもcoroutineが出てきて情報量に混乱してました

132:デフォルトの名無しさん
20/07/09 01:43:00.45 LG+3kSUn.net
>>128
例題と記載ありますが何かの本で勉強してますか?

133:デフォルトの名無しさん
20/07/09 05:56:52.89 0T+HUGb0.net
本もネットも使ってます
やさしいkotlin入門という名前から想像できない文字だらけの本wとネットを参考にスレッドの勉強してます
thread{
for文1
for文2
}
sleep(1000)

for文{
thread1{}
thread2{}
}
sleep(1000)
を試すくらいのことしかまだできてないです
sleep(1)と短くしたら出力が変なことなりましてw

134:デフォルトの名無しさん
20/07/09 09:27:26 vrNDocOm.net
joinでも待てる?

135:デフォルトの名無しさん
20/07/09 11:44:03.74 DLLEuHaF.net
joyでなら待ってるぜ

136:デフォルトの名無しさん
20/07/09 12:24:35.47 4NYFt4sg.net
>>134
氏ね

137:デフォルトの名無しさん
20/07/09 12:35:39 DLLEuHaF.net
>>135
結合でも待てる?って誘われてるのかと

138:デフォルトの名無しさん
20/07/09 19:25:08.95 vZ/o15d/.net
Kotlin最強すぎないか?
これもはや派遣社員取ったろ

139:デフォルトの名無しさん
20/07/09 19:25:25.49 vZ/o15d/.net
派遣社員ではなく覇権の間違いです

140:デフォルトの名無しさん
20/07/09 23:24:02.22 1tGjzBmd.net
1.4-M3

141:デフォルトの名無しさん
20/07/10 11:38:29.99 g0Z+ZvbJ.net
日頃どんなことを入力しているのかが何となく分かった。

142:デフォルトの名無しさん
20/07/10 21:28:55.09 w97MfSEx.net
>>140 kwsk



144:デフォルトの名無しさん
20/07/10 22:18:02 Ej4pI5WX.net
>>141
ガイジ

145:デフォルトの名無しさん
20/07/11 10:13:38.72 VzEHY2C8.net
結局KotlinのライブラリってJavaのライブラリってことでいいの?
例えばファイルの入出力とかは、書き方は変わるもののJavaのファイルIOを使えばいいの?

146:デフォルトの名無しさん
20/07/11 10:23:07.19 ojQODuiX.net
>>140
突然どうした?

147:デフォルトの名無しさん
20/07/11 11:02:53.91 n/S+GwYQ.net
>>143
そうだよ
Kotlinのライブラリは品質低いんで割り切って無視した方がいい

148:デフォルトの名無しさん
20/07/11 16:24:45.94 feKeXoV6.net
普通の Kotlin (Kotlin JVM) の場合は Java のライブラリ、Kotlin Native は Native のライブラリ(JetBrain製?)、JavaScript にするやつは JavaScript のライブラリ。
その他、他の実行環境が出来たらその実行環境でのライブラリ。

149:デフォルトの名無しさん
20/07/13 09:48:50.93 fDIR05qm.net
javaよりkotlin選んでインポートしてる

150:デフォルトの名無しさん
20/07/22 16:24:09.18 XxQgUTdc.net
どのプログラミング言語が使われているのか、JetBrainsが調査レポートを発表
URLリンク(www.atmarkit.co.jp)

151:デフォルトの名無しさん
20/07/22 18:14:33.88 AakSpTOC.net
>JetBrainsが調査
怪しい

152:デフォルトの名無しさん
20/07/22 19:13:31.55 icfwM+LK.net
こんなのただのアンケートだからなサンプルが偏ってない保証もないし
たとえば
> 「オープンソースプロジェクトに貢献しているか」という質問に対し、
> 「貢献していないが、貢献したい」と答えた回答者が44%、
> 「数回しか貢献していない」が20%、
> 「時々貢献している(年数回)」が16%、
> 「定期的に貢献している(少なくとも月1回)」が11%、
> 「貢献していないし、貢献したくない」が4%
って書いてあると、なるほどみなオープンソースに貢献しようとしてるのかー
っていう印象になるけど、アンケートにこの選択肢あったとして普通に
最後選ぶやつおらんだろうし、普段ほとんどオープンソースにかかわりなく
正直かかわる予定もないやつがどれに入れるかっていうと一番上の選択肢
しかないっていう・・ほとんど�


153:U導尋問みたいなもんだ



154:デフォルトの名無しさん
20/07/22 19:17:53.45 qWj4g8Z5.net
公平に統計を取る気があるなら本来この選択肢は
「貢献していない」
「数回程度貢献した」
「定期的に貢献している」
のように「気分の要素」を抜いた選択肢であるべきで
そうなるとおなじサンプルなのに「貢献していないが48%」
の結果がでるわけだ
ようするに、このアンケート自体が「何らかの意図を誘導
する目的でおこなわれている」のは明白なわけ

155:デフォルトの名無しさん
20/07/22 20:09:32.32 XxQgUTdc.net
いや、それ以前の問題として、JetBrainsがアンケートをすれば当然JetBrainsが気に入っている人の回答が多くなる。
主にそういう人がJetBrainsのサイトを見ていて、そしてそこで見つけたアンケートに答えるわけだから。
なのでどんな質問にしようが偏って当然。Webでのアンケートはどこでやろうとも無作為にはならないからそういう偏りが出る。
この場合Kotlinが多めに出ている事はまず間違いないと思う。

156:デフォルトの名無しさん
20/07/28 21:06:47 sJUxEW2z.net
1.4がようやくRCまで来た。

157:デフォルトの名無しさん
20/07/29 00:03:15 EGWHpTAL.net
>>153
おめでとうございます!1.4の開発大変でしたか?

158:デフォルトの名無しさん
20/07/29 04:37:32.10 WMWtXzPZ.net
>>154
いや、RCになったとはいえ正式版リリースまでは開発に使わないことにしている。

159:デフォルトの名無しさん
20/07/29 10:03:51.57 v4pSWkDl.net
>>154
そうですね、Kotlin 1.4を開発することは我々にとって非常にタフなエクスペリエンスでした
しかし皆さんに必ず気に入っていただけると確信しています!

160:デフォルトの名無しさん
20/07/29 13:03:54.85 sJZR+BBb.net
>>156
お前には聞いてないwwww

161:デフォルトの名無しさん
20/07/29 14:14:15.61 MvKFAsvB.net
Kotlin 1.4-M3 公開: 標準ライブラリに関する変更
URLリンク(blog.jetbrains.com)
RCの記事も日本語訳期待

162:デフォルトの名無しさん
20/07/29 22:35:03.20 FRzV9We2.net
C#が、C++に取って代わらなかったように、kotlinも中途半端な存在になるんだろうな

163:デフォルトの名無しさん
20/07/29 22:53:33 VkDJG1SF.net
そもそもC++に対するC#ほどの存在感までにすら到達してねーぞKotlin

164:デフォルトの名無しさん
20/07/29 23:10:43.51 MLfjbhuP.net
書籍がjava並みに出たらね、、、

165:デフォルトの名無しさん
20/07/30 02:41:58.93 l+t/gnGC.net
時間は掛かるかもな。まあでもそんなに爆発的に流行らんでも良いと思うが。

166:デフォルトの名無しさん
20/07/30 03:13:00.51 +HjSLtNW.net
普通にはやってるが
お前の職場がレベル低いだけだろ

167:デフォルトの名無しさん
20/07/30 03:24:16.82 1x/ITK+u.net
javaほど参考資料がないからNDKでC++使ったりしてる
わいのレベルが低いといわれたらそれまでだけど

168:デフォルトの名無しさん
20/07/30 03:46:42.80 h+N/x6i+.net
とりあえず、他言語のライブラリに寄生してる以上、better javaレベルでしかないからな現状..
マルチプラットホームが進んで標準ライブラリももっと豊富になれば..?

169:デフォルトの名無しさん
20/07/30 07:51:22.96 rZsKkQI3.net
残念だけど、もうbetter javaを超える成長はないと思うよ
既に流行が旬を過ぎてしまった

170:デフォルトの名無しさん
20/07/30 08:59:23.65 l+t/gnGC.net
旬ねえ・・・

171:デフォルトの名無しさん
20/07/30 09:22:54.79 vri7Hhqh.net
Androidアプリ書くなら今はKotlinが普通と
その手の会社の人に聞いたがどうなんだろ

172:デフォルトの名無しさん
20/07/30 10:23:17.58 +dP0z8LR.net
新規でやるならJavaで書くより書きやすいから断然K


173:otlin選ぶよ



174:デフォルトの名無しさん
20/07/30 11:07:46.48 nd18Yh/+.net
>>168
新規ならkotlinでいいと思うよ

175:デフォルトの名無しさん
20/07/30 11:23:21.33 gjrzsa4h.net
Android StudioでkotlinソースファイルにJavaコードをコピペするとKotlinコードに自動変換してくれるので敷居は低い。

176:デフォルトの名無しさん
20/07/30 11:24:24.71 H+3zk8+o.net
intellijも貼り付けで変換されるよ

177:デフォルトの名無しさん
20/07/30 13:23:21.57 HYt/AHxu.net
>>171
×敷居が低い
○ハードルが低い

178:デフォルトの名無しさん
20/07/30 13:34:25 gjrzsa4h.net
>>173
技術用語以外のカタカナ語はなるべく使わない方がいい。バカが詐欺師に見えるから。

179:デフォルトの名無しさん
20/07/30 13:34:50 gjrzsa4h.net
失礼。
バカか詐欺師に見えるから。

180:デフォルトの名無しさん
20/07/30 14:01:31.09 w/yk6K7I.net
>>174
敷居が高いという日本語の誤用よりもカタカナ語の方がマシだと思う
誤用を気にする神経質なタイプの方がエンジニアとしては信用できる
専門用語ならカタカナの方が誤解が少ないことも多いし

181:デフォルトの名無しさん
20/07/30 14:30:06.13 gjrzsa4h.net
なに言ってんの?
Kotlinファイルに節操なくJavaコードを貼り付ける不義理や面目のなさを感じずに済むのだから間違ってないよ。

182:デフォルトの名無しさん
20/07/30 14:32:45.70 SJZJ+nux.net
まあ次から気をつけてね

183:デフォルトの名無しさん
20/07/30 14:41:17.53 kz7NbiBG.net
誤用が定着してすでに新しい意味を含めて広辞苑にも載ってるにも関わらず、古い意味に固執して「俺は正しい」的な大局に無関係な主張する人間は間違いなく使えない
システムやソフトウェアの果たすべき目的よりも自分の考える正しさを押し付けるから、技術レベルがそれなりに高くても組織の邪魔になるのタイプ

184:デフォルトの名無しさん
20/07/30 15:01:11.04 CPOoBSss.net
新しいことを受け入れられない人がこの業界にいるなんて不思議だなあ

185:デフォルトの名無しさん
20/07/30 15:12:12.27 c7F4tOGE.net
Kotlinも採用できないレベルの低い職場でしか働けてない自分を恥じて転職活動しろ

186:デフォルトの名無しさん
20/07/30 16:03:26.38 DYGjZ6e/.net
頭柔らかい方と思う。
慎重で、こだわり強くて、融通が利かない人はどこにでもいるだろうけど、仕事が遅くない?何より扱いにくくて、足を引っ張る。
ミスもあるけど、柔軟で仕事早いほうが重宝がられる。
ミスもなく仕事も早い人は稀にいるが、大体コミュ障。

187:デフォルトの名無しさん
20/07/30 16:14:50 CPOoBSss.net
>>182
それはただのあなたの好き嫌いのレベルの話では。

188:デフォルトの名無しさん
20/07/30 17:19:54.28 BaciMtTS.net
低レベルのクズ共がかかってこいよ

189:デフォルトの名無しさん
20/07/30 19:06:34 N4jsWz++.net
必死の屁理屈ワロタ

190:デフォルトの名無しさん
20/07/30 19:47:06 w/yk6K7I.net
>>177
ことコミュ力に関しては、マジギレしてる感じの人よりこういうユーモアのある返しができる人がいいわ

191:デフォルトの名無しさん
20/07/30 20:14:34.63 1x/ITK+u.net
kotlinの話しようよ
マ板でするような話はマ板で

192:デフォルトの名無しさん
20/07/30 20:29:17.88 SHrdySLu.net
>>187
ではどうぞ

193:デフォルトの名無しさん
20/07/30 21:45:27 kHz9P8Dc.net
5chあるある
なんか伸びてるとおもったらしょーもない煽り合戦

194:デフォルトの名無しさん
20/07/30 22:42:52.66 htsrDzth.net
>>179
新しい古い関係なく、誤用なら相手に正しく伝わらない、間違って伝わる
誤用でも文脈から類推しろよとかは、一番の押し付けだと思う
だいたいコンピュータ言語やってて誤用はエラー


195:出るの知ってるだろ



196:デフォルトの名無しさん
20/07/30 22:47:06 BaciMtTS.net
低レベルはエンジニア向いてないから死ね

197:デフォルトの名無しさん
20/07/31 00:16:16.55 caFHKtEx.net
逆引きKotlin
とか出ないんだろうか

198:デフォルトの名無しさん
20/07/31 05:20:55 i9kuS3mX.net
C#にはどぼんがあったけど、あれでかなり助けられたなあ

199:デフォルトの名無しさん
20/07/31 05:26:08 PQssP+wa.net
>>191
高レベル放射性廃棄物は地中深く埋葬されて下さい

200:デフォルトの名無しさん
20/07/31 07:45:44 Gsxf/fxD.net
>>168
Xamarinという選択肢は

201:デフォルトの名無しさん
20/07/31 09:14:05 CsSb3Rzj.net
>>195
変なもん勧めるなよ・・・

202:デフォルトの名無しさん
20/07/31 13:04:29.30 g8elMbTe.net
>>168
会社次第だろ

203:デフォルトの名無しさん
20/07/31 13:07:43.26 vHvgbSd0.net
>>197
万能の回答で中身ゼロ

204:デフォルトの名無しさん
20/07/31 14:12:23.57 3N4YRTxK.net
KotlinはC#と同じく統合開発環境の入力支援のおかげで難易度が低く感じやすい。
入力支援のないテキストエディタを使ってKotlinやC#の開発をするとつらみに気づく。

205:デフォルトの名無しさん
20/07/31 14:56:18.07 dxsBiYNF.net
今時ただのテキストエディタでやってるとこなんてあるの?

206:デフォルトの名無しさん
20/07/31 15:16:49.29 fOAC77cv.net
基本はviだろ。

207:デフォルトの名無しさん
20/07/31 15:34:09.86 g8elMbTe.net
>>198
お前にはBASICがお似合い

208:デフォルトの名無しさん
20/07/31 15:49:22.55 zPr3zgDB.net
カルシウムが不足してるから牛乳飲むといいよ

209:デフォルトの名無しさん
20/07/31 17:39:05.12 TQFPwr7V.net
>>202
おっと今度は要件も聞かずに回答するのはエスパーなのか

210:デフォルトの名無しさん
20/07/31 18:57:36.39 VTEZEpms.net
>>196
えーなんで?
Xamarin好きやで。
スレチになって申し訳ないけど。

211:デフォルトの名無しさん
20/07/31 18:57:50.76 VTEZEpms.net
>>196
えーなんで?
Xamarin好きやで。
スレチになって申し訳ないけど。

212:デフォルトの名無しさん
20/07/31 18:58:02.83 TEm1ohUU.net
>>196
えーなんで?
Xamarin好きやで。
スレチになって申し訳ないけど。

213:デフォルトの名無しさん
20/07/31 18:58:59.05 TEm1ohUU.net
>>196
ごめんm(_ _;)m
何回も書き込んてしまった。

214:デフォルトの名無しさん
20/07/31 20:00:16 i9gNHQWd.net
久しぶりにkotlin native試してみたら、いまだにhelloworldのコンパイルに10秒以上かかる。。

215:デフォルトの名無しさん
20/07/31 20:17:07.59 4dfDsnLH.net
玩具に何を期待しているのか

216:デフォルトの名無しさん
20/08/01 01:12:23 V7ze4pNE.net
夢と希望の未来がいっぱい詰まってるのさ

217:デフォルトの名無しさん
20/08/01 05:35:09.86 ypW/FdAX.net
気持ちよくなることかな

218:デフォルトの名無しさん
20/08/01 11:56:02 jKwRR0M8.net
build.gradle.ktsとか使ってるプロジェクトウザいな。
余計なプラグインが増えてビルド時間も長くなるわ、DSLもGroovyより劣化してて単純に読みにくいのに。

219:デフォルトの名無しさん
20/08/01 12:28:07.34 VuJ2qgfi.net
Groovyとかいうマイナー型なしクソ言語よりはマシだろ

220:デフォルトの名無しさん
20/08/01 12:30:03 eglkXcmr.net
Groovyの方がDSLに向いた文法であるのは同感
優れたプログラミング言語があってもそれでビルドを記述したいとは限らんな

221:デフォルトの名無しさん
20/08/01 14:33:10.32 uuR+R+mv.net
build.gradle.kts の方が Intellj で編集するときに補完やエラーチェックがちゃんと効くという利点もある

222:デフォルトの名無しさん
20/08/01 17:12:02.60 WzMhf7ZH.net
>>189
ま、しかし、たまにこうならないと過疎ってスレが沈んで消える。
逆に言うとこうなると言うことはまだまだ使う人が沢山居るということでもある。
使われなくなった言語のスレは見る人が少なすぎて煽っても何も起こらない。

223:デフォルトの名無しさん
20/08/02 00:31:05.40 bo8x9sbh.net
> 使われなくなった言語のスレは見る人が少なすぎて煽っても何も起こらない。
Delphi をディスるのはやめなさい

224:デフォルトの名無しさん
20/08/02 05:00:23 yz3gxwYF.net
Φを消すってどう言う意味だろう?

225:デフォルトの名無しさん
20/08/04 17:47:41.53 DcVqafOY.net
5ちゃんが高齢化してるなぁと思うのは、Kotlinもそうだけど他の最近流行の言語やらフレームワークやらのスレが全然伸びないところよね
バリバリの若手世代が全然いない

226:デフォルトの名無しさん
20/08/04 19:05:54.35 4K88qT3S.net
qiitaに行ってしっまったからでは?

227:デフォルトの名無しさん
20/08/04 20:38:21.24 Bm48LwqI.net
ここで聞かんでもググれば大抵の事がわかるからな

228:デフォルトの名無しさん
20/08/10 16:05:28.72 Z7zFlWuQ.net
拡張関数の中での this はその関数を呼び出したクラスのインスタンスになっているわけだが、
その拡張関数の中で object を作った場合はそのクラス内からはどうやってアクセスするのか?
this を使うと object のインスタンスになってしまう。かといって this@拡張関数のクラス にしてもできない。
例えばこれ。
fun String.hogeIterator() = object : Iterator<String> {
 override fun hasNext(): Boolean { .... }
 override fun next(): String {
  /* ここでは substring() 等の拡張関数がアクセスしているインスタンスのメソッドを使えるが
   * this@String はコンパイル時に unresolved reference: @String になって使えない。
   * もちろん this は object を指すので使えない。
   */
 }
}

229:デフォルトの名無しさん
20/08/10 16:08:45.69 wInlBSoO.net
fun().this(hoge)
みたいな呼び方出来なかったっけ

230:デフォルトの名無しさん
20/08/10 16:16:22.91 Z7zFlWuQ.net
>>224
ありがとう。 this@hogeIterator でできた。
this@拡張関数名 ということだった。

231:デフォルトの名無しさん
20/08/18 21:33:59.72 Bu1YqqeU.net
品質とパフォーマンスに注力した Kotlin 1.4 をリリースしました
URLリンク(blog.jetbrains.com)

232:デフォルトの名無しさん
20/08/19 12:59:25 q7vq4u1o.net
>>226
おめでとうございます!

233:デフォルトの名無しさん
20/08/21 19:44:31.50 T2XB7xYy.net
まだ違いがわからない

234:デフォルトの名無しさん
20/08/22 07:19:26.47 75ogR6/b.net
kotlin/nativeがおもちゃじゃなくなるのはいつなんや。。

235:デフォルトの名無しさん
20/08/22 18:48:47 A1+CrrR8.net
全ての言語は俺のおもちゃ

236:デフォルトの名無しさん
20/08/22 20:19:04.45 blnrJHVK.net
ちょっとダガログ語で遊んでみて

237:デフォルトの名無しさん
20/08/22 21:48:01.83 uWLyeHjr.net
Puwede bang maglaro dito?

238:デフォルトの名無しさん
20/08/23 14:01:21.81 kDgpNyWc.net
if式をネストさせる場合、内側のif式ないで早期returnしたいんですがどうすればいいんでしょうか??
val hoge = if (条件) {
 if (条件1)
return hoge値3 <- ここで早期returnで値を返したい
 hoge値2
} else
 hoge値1
内側のifをif elseにもっていけばいいのはわかるんですが、
その後、もっとifの早期returnがたくさんあって・・

239:デフォルトの名無しさん
20/08/23 14:02:04.28 kDgpNyWc.net
var hoge = if (条件) {
 if (条件)
  return hoge値3 <- ここで早期returnで値を返したい
 hoge値2
} else
 hoge値1

240:デフォルトの名無しさん
20/08/23 14:34:14.58 MgEpWwVh.net
無理にifの戻り値を使わなければよいのでは?
if (条件)
hoge = hoge値3
もしくは
if (条件) {
if (条件)
hoge値3
else
hoge値2
} else {
hoge値1
}

241:デフォルトの名無しさん
20/08/23 15:24:28.03 kDgpNyWc.net
うーん。なんかごめんなさい
わけわからないこだわりでしたね・・
おとなしくif else使っときます

242:デフォルトの名無しさん
20/08/23 16:10:34.01 BgU0kmJc.net
とりあえずベタで書いて放置
3日後に改めて見ると最適化出来る時あるよね
調子に乗ると思わぬ結果でバグるけど

243:デフォルトの名無しさん
20/08/24 04:02:39.41 8Ar+AlN+.net
>>233
あれ?それ出来なかったっけ?

244:デフォルトの名無しさん
20/08/24 06:52:54.71 5ZrVz87G.net
ifもラベルつけられた気がするから余裕でできるんでね?
ただそもそもクソコードの香りがプンプンするから、そもそもその部分は別メソッドに切り出すしたほうが良いと直感がいってる

245:デフォルトの名無しさん
20/08/25 03:35:59.04 FtyQX/H1.net
そもそも >>234 は何をやりたいのか? return 書いたら普通にそのメソッドから return しない?
そうではなくて変数 hoge に hoge値3 を代入させたいの? だったら return じゃなくて普通に else 書いてやれば良いだけだし、
それではブロックが巨大で見辛いというのであれば別にメソッド作って外に出せば?

246:デフォルトの名無しさん
20/08/25 07:21:25.63 foaBkBNu.net
>>240
それ質問者の自省と>>239の良回答を言い直しただけじゃね?

247:デフォルトの名無しさん
20/08/25 07:53:18.31 RPvgPVWb.net
>>233です
でも元からそこまででかくなかったです
if (条件1)
 値1 <- 1行
else if (条件2)
 値2 <- メソッド呼び出しの1行
else if (条件3)
 値3 <- メソッド呼び出しの1行
else {
 //
 // <- 13行くらい
 //
 値4 
}
else ifでやると1行、1行、1行、13行くらいで、すげぇ尻だけでかだったので気になったのです
で、とりあえず、最後の13行を一つ別にメソッドに追い出して、最後を4行にもっていけました

248:デフォルトの名無しさん
20/08/25 07:58:14.54 RPvgPVWb.net
でも、正直、このレベルだったので、if文で早期returnできた方がいいし13行くらいはそのまま書きたいですね

249:デフォルトの名無しさん
20/08/25 08:03:18.20 OtGEs4k+.net
>>243
メソッドとして切り出すかどうかの判断は行数よりもそのコードの意味の単位を基準にするといいよ

250:デフォルトの名無しさん
20/08/25 08:06:41.76 OtGEs4k+.net
すごい抽象的な言い方しちゃったごめん
わかりやすいやり方だと、その処理で何をやってるかをそのままメソッド名にすれば分かりやすい
例えばgetNameAndSaveName()みたいになるならこれはgetとsaveに分けるべきだと明らかにわかる

251:デフォルトの名無しさん
20/08/25 08:09:57.72 /wlWzg6J.net
whenの方がいいな
AndroidStudioも警告出してないか

252:デフォルトの名無しさん
20/08/25 08:24:01.90 RPvgPVWb.net
android studioで警告はでてないですね
whenも考えたのですが、なんかどうもまだしっくりこなくて使ってません
もちろん、when (式) {}形式は使いますが、
when { bool式 ->, bool式 -> , else -> }このタイプは・・

253:デフォルトの名無しさん
20/08/25 08:33:07.94 RPvgPVWb.net
>>244
もちろん、そうですけど
再利用されるならまだしも>>242のifを含むメソッド自体も>>242含めて、計30行くらいだったので
そこまで頑張って外に追い出してと思った次第です
そこは自分の適当なバランス感覚でやってます

254:デフォルトの名無しさん
20/08/25 08:35:01.36 RPvgPVWb.net
*そこまで頑張って外に追い出してもと思った次第です

255:デフォルトの名無しさん
20/08/30 08:25:50.36 yOhH+mxx.net
Kotlin派のお前らはKotlin以外にどんな言語に興味あるの?

256:デフォルトの名無しさん
20/08/30 08:53:04.67 iVwpT6se.net
>>250
java 読めたらいい
swift iPhone向けも
C++ NDK
C♯ Unity

257:デフォルトの名無しさん
20/08/30 11:54:12 vjTKHF/s.net
>>251
サンクス。やっぱKotlinの人はスマホが多いのかね。
サーバーサイドだとみんな他に何使ってるんだろう。
まだまだRails多いのかな

258:デフォルトの名無しさん
20/08/30 12:27:06.28 bk9ybW3K.net
うちはJava/SpringBootからKotlin/SpringBootにした
サーバーサイドKotlinはJavaからの移行組が結構多いんじゃないかと思う
次にやるならやっぱりGoかなと思う

259:デフォルトの名無しさん
20/08/30 12:35:38.68 fDI7uJsO.net
Goって糞じゃね
なんで2020のいまどきポインタとか使わないといけないんだよ
スライスもなんか微妙やし
railsみたいに色んな便利機能が最初からないのも糞
大体Google自体もWebアプリ向けに作ったというより
C言語代替を目的に作ったんじゃないの

260:デフォルトの名無しさん
20/08/30 13:06:57.56 bk9ybW3K.net
>>254
全くその通りでGoはホント糞だと思う
でもFargate/マイクロサービス構成にした時にJVMが積み上がってメモリキツキツもつらい
Goの代替としてKotlin/Nativeに期待してたけど全然完成しないし、
Rustも入門してみたけど開発メンバ全員でこれをやるのは無理だなと思った。
なのでマイクロサービスやるんなら選択肢はGoしかないのかなって思ってる

261:デフォルトの名無しさん
20/08/30 13:20:08.16 5iQunAT3.net
気の利いた機能は排除する代わりに
アホでも書けるように設計してるんだろうな
分かってる人にとっては使うとイライラする

262:デフォルトの名無しさん
20/08/30 13:22:05.33 yOhH+mxx.net
GoとKotlinは使い所が違うわなー
Goはまさにマイクロサービス向きで、Spring Bootで作るようなものにはまったく向いてない

263:デフォルトの名無しさん
20/08/30 13:23:00.30 yOhH+mxx.net
そう思うとJava、というかSpringはほんとよくできてる

264:デフォルトの名無しさん
20/08/30 14:25:06.58 bk9ybW3K.net
jetbrainsがさっさとJSとかモバイルを諦めて、
Kotlin/Native(完成版) + SummerBoot(SpringBootのKotlin/Native版)を
出してくれたら俺のモヤモヤは全部解消する

265:デフォルトの名無しさん
20/08/30 14:41:42.24 Kgnw5LZN.net
Goの何が駄目といって名前がほんとうにクソ

266:デフォルトの名無しさん
20/08/30 15:29:22 fDI7uJsO.net
検索キーワード入れる度にぶちきれる

267:デフォルトの名無しさん
20/08/31 16:31:33.81 1OYiF1fv.net
>>255
迷走しすぎ

268:デフォルトの名無しさん
20/08/31 20:15:30 oyY7zoql.net
>>262
もっといいのあるん?

269:デフォルトの名無しさん
20/08/31 20:24:10.88 BQ9c+OGL.net
C#

270:デフォルトの名無しさん
20/08/31 22:28:16.28 o9UB16MR.net
GoでマイクロサービスするならfargateよりもGAEの方が良いよ
fargateというかAWS自体重厚すぎる

271:デフォルトの名無しさん
20/09/01 13:49:50.85 HPYjIMXq.net
>>255
同意

272:デフォルトの名無しさん
20/09/03 01:24:44.12 /jT+DP04.net
Goはこの時代に作ってなんやこのクソ言語ってなるのに使いどころあるところが、良くわかってるんだよなぁ

273:デフォルトの名無しさん
20/09/03 11:44:56.18 bck6w86S.net
Goはせめてジェネリック対応してくれ
ジェネリックもない言語とか今どきアホか、としか思わん

274:デフォルトの名無しさん
20/09/03 12:44:23 Uua/pugj.net
>>267
わかる。好き嫌いでいえば嫌いだけど実用性は認めざるを得ない。

275:デフォルトの名無しさん
20/09/04 10:54:31.12 BpK2cgTn.net
モノリシックに作ったサービスを売れてきた段階でマイクロサービス化できるのが真の理想
現状それはGoでもKotlin/JVMでもやりづらい
なので、みんなもっとKotlin/Native&SpringBoot的なFWに期待しようぜ

276:デフォルトの名無しさん
20/09/06 00:31:01 vV14JvOS.net
サーバーサイドだけどKtor使ってるよ

277:デフォルトの名無しさん
20/09/12 20:57:55.93 cg167TCE.net
>>271
kotlin/nativeで?

278:デフォルトの名無しさん
20/09/16 20:47:09.88 lj6HLAl6.net
そうか。じゃあそろそろGoの学習でもするか。

279:デフォルトの名無しさん
20/09/18 09:08:48.16 Ms50MueV.net
KtorってNativeで動くの?

280:デフォルトの名無しさん
2020/09


281:/19(土) 02:20:24.71 ID:Vwp+/AeQ.net



282:デフォルトの名無しさん
20/09/19 16:43:04.49 HLFklpM8.net
JAVAのライブラリと互換性のあるネイティブのライブラリは作りやすいのではないかな

283:デフォルトの名無しさん
20/09/19 16:52:33.54 Vwp+/AeQ.net
なるほど。

284:デフォルトの名無しさん
20/09/19 17:44:18.38 cAF7RylC.net
オラクルの訴訟の関係で、Javaライブラリの互換ライブラリは、今は誰もやろうとしないだろう

285:デフォルトの名無しさん
20/09/19 18:01:31.14 IB/705pp.net
Javaなんて覚えるんじゃなかった。

286:デフォルトの名無しさん
20/09/20 11:04:20.31 j6P8qNS0.net
>>275
Java資産を使わないならあんまり旨味ないよな

287:デフォルトの名無しさん
20/09/24 21:05:14.57 UuOLxhHX.net
ま、今のところはな・・・

288:デフォルトの名無しさん
20/09/24 21:13:03.51 5nw0kH4E.net
ExposedもJava依存してるしなー

289:デフォルトの名無しさん
20/09/28 11:21:26.40 WOjmua0O.net
Oracleって関わるものすべてダメにするよな

290:デフォルトの名無しさん
20/10/11 15:27:38.72 PQG6fOjE.net
gradleはkotlin dslでも何の不都合もないの?

291:デフォルトの名無しさん
20/10/12 20:09:38.21 3myqygF8.net
次のプロジェクトのサーバーサイドを
kotlinにするかgoにするかで揉めとる。
goってそんなにいいの?

292:デフォルトの名無しさん
20/10/12 20:51:58.16 PPv56FHl.net
その2つで揉めることある?
どんな性質のものを作るかで自ずと決まりそうだけど

293:デフォルトの名無しさん
20/10/12 21:58:37.67 79wpd4KS.net
goは糞
今時ポインタとかさわりたくねえわ

294:デフォルトの名無しさん
20/10/12 23:40:50.80 eFX4wIRa.net
>>284
少し前まではsyntax heighlightが効かなかったりしていたけど、
今ではgroovyで書くときよりIntelliJの補完やIntelliSenseがよく機能していると思う。

295:デフォルトの名無しさん
20/10/13 01:13:41.51 guvdtf8r.net
goは何が糞といって名前が糞すぎ
なんだよ、goって

296:デフォルトの名無しさん
20/10/13 08:15:37.13 HL5BBdJ/.net
goでググりにくい
ググラビリティが低い

297:デフォルトの名無しさん
20/10/13 08:20:05.71 ZNus3TRK.net
goとこちょりんで揉めるのがどういう状況なのか想像できない
何を作ろうとしてるんだよ

298:デフォルトの名無しさん
20/10/13 08:26:15.72 D04kvfV3.net
まずググラビリティの話になるけど余程気の利かない人以外はgolangで検索されるようにしてるよ

299:デフォルトの名無しさん
20/10/13 13:20:04.16 GnzXgn2/.net
GNU Go が出ました。

300:デフォルトの名無しさん
20/10/13 13:31:20.06 y5Oy6HcC.net
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
この2つ以外は、出てこない

301:デフォルトの名無しさん
20/10/13 21:31:22.68 SAmaeGZN.net
つーか、goはグーグルがつくったんだから
最初からググラビリティのことぐらい考えとけ、っていう

302:デフォルトの名無しさん
20/10/13 21:32:00.65 Kkq8nxnq.net
>>293
なつかしいな、昔emacsから呼びだせるようにして
ちょいちょい打ってた

303:デフォルトの名無しさん
20/10/14 09:36:06.38 4PyCS5rX.net
>>294
それしか知らないんじゃねーの

304:デフォルトの名無しさん
20/10/14 10:42:02.47 5QXB1j1n.net
>>285
goにはjvm使わなくてもいいという利点がある
なのでモノリシックにするならkotlin
サーバーレスにするならgo

305:デフォルトの名無しさん
20/10/14 11:28:02.65 4PyCS5rX.net
>>298
モノリスとサーバーレスは対になる概念じゃないからその判断軸はおかしい。なんでアプリケーションの構成の話とインフラの構成の話で比較してるのよ。
どういうものを作るのかで変わるっていうのは完全に同意。

306:デフォルトの名無しさん
20/10/14 11:32:15.05 GsUUoEHv.net
>>297
物知りですね判ります

307:デフォルトの名無しさん
20/10/14 11:48:46.02 8tU2UIMd.net
テック系のユーチューバーってちょっと前はとんでもないのばっかだったけど、最近は違うのかな

308:デフォルトの名無しさん
20/10/14 12:45:33.14 qpMvVLdo.net
>>294
初心者に対して「王道」とか言う奴は詐欺師か素人なので、信じるやつはアホとしか言いようがない。

309:デフォルトの名無しさん
20/10/15 20:09:16.65 Iyp/m7Oy.net
そもそもYouTuberなんて基本的に信者を作ってそこから何かしら金を巻き上げるのが仕事だからな
現実的な話をするより分かりやすくてキャッチーな話をするものだろ、そっちの方がウケるから

310:デフォルトの名無しさん
20/10/16 12:19:42.51 yka6Eg2o.net
じゃあ Kotlin の話をすれば常に再生数Maxだね。

311:294
20/10/16 12:36:42.23 jOsz+QQ/.net
YouTube で有名な雑食系エンジニア・KENTA は、日本一!
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる。
この2つ以外は、出てこない
嘘がばれるから、他の言語を言えない
例えば、Python, Kotlin を勧めても、
仕事が少ない・取れないとか、難しいとか
唯一、Rubyで、サーバー側を1, 2年やれば、
10年以上のベテランに勝てるから、そこだけを狙っているわけ。
一種のチート技
他の言語では、初心者がベテランに勝てないので採用されないず、苦情が殺到するから

312:デフォルトの名無しさん
20/10/17 17:29:59.88 mDjHOg10.net
1、2年どころか半年でベテランに並べるみたいなことをいってる奴多すぎだよな、最近
んなわけねーだろとしか言いようがないんだけど

313:デフォルトの名無しさん
20/10/17 23:52:45.22 DGPCkU6w.net
苦情って客先常駐か
そんな根無し草みたいな生き方じゃなく正社員目指せよ

314:デフォルトの名無しさん
20/10/18 01:56:06.71 SXAbafYI.net
>>307
大手のITベンダーでも客先常駐の正社員腐るほどいるぞ
苦情 = 客先常駐 = 非正規って発想がヤバい

315:デフォルトの名無しさん
20/10/18 05:29:20.33 RuEhBFPq.net
大手のITベンダーだから何
客先常駐は常駐先の奴隷のクズ

316:デフォルトの名無しさん
20/10/18 05:58:58.31 Pm4b/GZw.net
悔しそうだな

317:デフォルトの名無しさん
20/10/18 09:45:27.90 KfA/pWR3.net
現場によるとしか言えん。自分の経験の範囲内では半々くらい。
それに疲れたから今は自社サ作ってる。

318:デフォルトの名無しさん
20/10/18 09:58:07.80 4BIlagEn.net
>>307
正社員て目指すものになったんだな
まあ卑屈にならず頑張れよ

319:デフォルトの名無しさん
20/10/18 12:35:36.33 RuEhBFPq.net
自社サービスできる開発以外は実質派遣だからな
お前らが売ってるのは技術じゃなくて
使い捨てにできる労働力というサービスだ

320:デフォルトの名無しさん
20/10/18 13:13:36.85 blBq09P/.net
年収1500万のコンサルタントでも普通に客先常駐する
正社員目指してる君が知らないだけ

321:デフォルトの名無しさん
20/10/18 13:15:22.70 KfA/pWR3.net
そのクラスになるとどこにいるかは自分で選べる、が正しいな

322:デフォルトの名無しさん
20/10/18 23:12:35.61 wLm/Wrgr.net
>>306
新しいトレンドができるたびに飛びつけばよい
常にみんな同じスタートライン

323:デフォルトの名無しさん
20/10/19 12:22:57.62 OC11jFNG.net
同じスタートラインってまさに未経験者を騙してるインフルエンサーがよく言ってるよな
同じスタートラインなのはエンジニアとしたある程度普遍的な経験値を積んだもの同士の話であって、未経験者がいきなりそこのラインに立てるわけでは無い

324:デフォルトの名無しさん
20/10/19 15:14:20.17 liiL750E.net
このスレの人からしたら馬鹿らしい質問かもしれませんが教えてください
ボタン等の押下処理を記述する際、
リスナを使った実装とonClickでメソッドを使った実装、
どのように使い分けるべきでしょうか?
こういう場面ではこっちが優れてる、或いはそもそもどんな場面でもこっちの方が優れてるとかあれば教えて欲しいです

325:デフォルトの名無しさん
20/10/19 15:30:20.47 RoaniA26.net
馬鹿らしいというよりKotlin関係なくね?

326:デフォルトの名無しさん
20/10/19 16:27:27.20 liiL750E.net
>>319
kotlinが初言語なので、kotlin関係ないのかすらわかってませんでした

327:デフォルトの名無しさん
20/10/19 16:36:22.44 0TVa/n4S.net
初めての人のちんこが大きいと実感するのは二人目以降だからな

328:デフォルトの名無しさん
20/10/19 18:01:49.83 liiL750E.net
いろいろなところで何度も呼ばれる処理はメソッド化して共通にする、
特定の画面、特定のボタン固有の処理はリスナでOK
という認識であってますか?

329:デフォルトの名無しさん
20/10/19 18:06:22.73 hsGVQ31A.net
よく分からんけど
例えばandroidの話ならandroidスレで聞いた方が良いよ

330:デフォルトの名無しさん
20/10/19 18:14:43.79 liiL750E.net
すんません
Androidの話なので移動します

331:デフォルトの名無しさん
20/10/20 03:30:40.57 NqApQAye.net
Kotlinならリスナーの関数を渡したいところだな。
リスナーのクラスではなく。

332:デフォルトの名無しさん
20/10/20 07:44:43.16 Cn8Loi3u.net
自分も関数に一票

333:デフォルトの名無しさん
20/10/20 09:13:03.48 QuVmy3Ai.net
>>325
なんかメリットある?
無駄な行数食うだけにしか見えん
setOnClickListener{~~~~}
の~~~部分に処理書いた方がすっきりしない?

334:デフォルトの名無しさん
20/10/20 09:45:41.49 oW+M9fYI.net
あれ?
kotlinって関数オブジェクト使えましたっけ?

335:デフォルトの名無しさん
20/10/20 12:16:37.18 pbE9KFPp.net
android の java も、java8 指定してれば、リスナーにラムダ渡せるやろ

336:デフォルトの名無しさん
20/10/20 15:42:07.05 FsiL/fhc.net
使えましたっけも何もKotlinの特性を活かそうと思ったら多用するだろ

337:デフォルトの名無しさん
20/10/20 22:34:01.23 NqApQAye.net
>>327
それそれ。Kotlin ならそういう風に関数渡す書き方が良かろう。

338:デフォルトの名無しさん
20/10/20 22:37:40.83 NqApQAye.net
>>328
もう渡しまくりだよ。

339:デフォルトの名無しさん
20/10/21 00:32:40.75 L9+JuToE.net
>>331
関数渡す・・・?どこが?????

340:デフォルトの名無しさん
20/10/21 00:48:26.94 qfY9UfeH.net
>>333
{ } で括って送ってるじゃん。
内部的には Java と同じにしてクラスのインスタンス送ってるだけだろうけどね。

341:デフォルトの名無しさん
20/10/21 00:51:33.39 rydvJ0KE.net
>>334
それを関数を渡すって表現は違うだろw
初心者か?w

342:デフォルトの名無しさん
20/10/21 01:51:12.05 TRe2T820.net
ラムダ式は可読性を向上させるためのものだから、ラムダ式を使うべきかどうかはソースコードが読みやすいかどうか主観で判断してok

343:デフォルトの名無しさん
20/10/21 02:05:49.40 itS4lvMF.net
>>335
どう違うのか具体的に教えてほしい

344:デフォルトの名無しさん
20/10/21 06:48:40.18 BtVJB35t.net
ラムダを受け取るメソッドの定義を見れば、明らかに関数オブジェクトを受け取ってるのが分かるだろうにな
ていうか普通に書いてたら自分でもそういうメソッド作ることはいくらでもあるだろ

345:デフォルトの名無しさん
20/10/21 09:20:06.89 t/TiBMqj.net
丸括弧が省略されてるだけで引数に渡してるじゃん

346:デフォルトの名無しさん
20/10/21 10:13:30.90 rGZI


347:GqVb.net



348:デフォルトの名無しさん
20/10/21 13:58:10.36 v6AhSc1z.net
>>339
多分そういう仕組みになってることを知らなかったんだろうな

349:デフォルトの名無しさん
20/10/21 19:56:38.22 7tx42Oy8.net
引数の最後が {~} の関数リテラルの場合に、それを引数の()の右外側に追い出せる
引数が {~} の関数リテラル1つだけなら、引数の()そのものを省略できる

350:デフォルトの名無しさん
20/10/21 21:37:56.85 lxmGvu01.net
>>342
ラムダの場合だけじゃね?

351:デフォルトの名無しさん
20/10/21 23:10:40.68 VoCqBc25.net
ラムダじゃない関数リテラルってあるの?

352:デフォルトの名無しさん
20/10/21 23:51:29.92 lxmGvu01.net
>>344
匿名関数

353:デフォルトの名無しさん
20/10/22 00:30:36.49 +v9eblZ/.net
だから {~} の関数リテラルって書いてあるんでしょ
でも、書いたこと無かったけど、匿名関数でリスナー書けるんだねえ
setOnClickListener ( fun (v: View) { } )
これはたしかに丸括弧省略するとコンパイルがとおらん

354:デフォルトの名無しさん
20/10/22 00:39:26.04 QVpvIRcC.net
>>346
いや通るだろ

355:デフォルトの名無しさん
20/10/22 01:53:39.85 RoszH/Tf.net
これみんな同じな。
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*") }

356:デフォルトの名無しさん
20/10/22 02:39:29.62 +v9eblZ/.net
>>347
setOnClickListener fun (v: View) { }
Function invocation 'setOnClickListener(...)' expected. No value passed for parameter 'l'.

357:デフォルトの名無しさん
20/10/22 02:45:49.52 +v9eblZ/.net
>>348
これも
"abc".let() { println("*$it*") }
"abc".let( { println("*$it*") } )

358:デフォルトの名無しさん
20/10/22 07:54:02.64 N79iPiyb.net
>>346
ワンチャン通りそうにも見えるけど、だめなんだな。
まあそんなコード書くんじゃねえ、ですむ話だが。

359:デフォルトの名無しさん
20/10/22 10:51:40.89 vPWH9GQz.net
(fun (s: String) { println("*$s*") } )("abc")
{ println("*$s*") }("abc")

360:デフォルトの名無しさん
20/10/22 11:57:56.81 HxQdVMd0.net
Kotlin入門したやつが増えてるんかな
いいことだ

361:デフォルトの名無しさん
20/10/22 15:31:59.08 RoszH/Tf.net
>>352
2行目のやつはできないぞ。

362:デフォルトの名無しさん
20/10/22 17:01:22.13 vPWH9GQz.net
({ println("*$s*") })("abc")

363:デフォルトの名無しさん
20/10/22 17:22:41.10 nSQZzvp4.net
こうだな
{s:String -> println("*$s*")}("abc")

364:デフォルトの名無しさん
20/10/22 17:40:44.89 nSQZzvp4.net
>>355
試してから書き込めよ

365:デフォルトの名無しさん
20/10/22 21:16:35.53 RoszH/Tf.net
>>335
ところで、関数を渡している事がお分かりいただけただろうか?
C言語で言うなら関数へのポインタ渡してるみたいなものだな。

366:デフォルトの名無しさん
20/10/22 22:18:39.15 OxqRNNZs.net
この時代に生きててSNS発信を頑張らないやつはアホだ。
URLリンク(www.youtube.com)
【事例付き】YouTuberは最強の副業である件について。
URLリンク(www.youtube.com)
【初心者向け】YouTubeの始め方・稼ぎ方を徹底解説!
URLリンク(www.youtube.com)
【貧者の工夫で戦え】ガラケーだっていい。YouTube始めるのにパソコンはいらない!
URLリンク(www.youtube.com)
YouTubeを伸ばすコツ【5つの本質論/初心者向けのセミナーです】
URLリンク(www.youtube.com)
【悲報】YouTuberはマジで難しいので、ほぼ挫折すると思う【無理ゲー】
URLリンク(www.youtube.com)

367:デフォルトの名無しさん
20/10/23 10:45:46.62 aYh6EAUg.net
うんこと淋

368:デフォルトの名無しさん
20/10/23 20:05:38.09 PBud1Ljv.net
kotlinでAPI にリクエスト投げるときって何使うのが普通?
ライブラリとか使わずにJava標準のhttp URL connection?

369:デフォルトの名無しさん
20/10/23 20:14:35.53 S8a6Blv6.net
android?

370:デフォルトの名無しさん
20/10/23 20:15:58.96 HGIF+iw8.net
REST APIのこと言ってるのかなー

371:デフォルトの名無しさん
20/10/23 20:23:23.59 74U/tpIM.net
>>361
好きなの使えとしかいえないわ。apacheのやつとか、kotlin製がいいならfuelとか。

372:デフォルトの名無しさん
20/10/23 22:04:23.29 RV7G8YSK.net
>>362
今やってるのはAndroidだねー

373:デフォルトの名無しさん
20/10/23 22:05:07.60 RV7G8YSK.net
>>364
いや、俺が好きなのとかじゃなくて普通は何使うのか聞いてるわけよ
使用率とかね

374:デフォルトの名無しさん
20/10/23 22:20:16.28 k/z35/a+.net
ktorでしょ

375:デフォルトの名無しさん
20/10/24 00:09:17.37 vw9rmPE9.net
okhttp retrofit

376:デフォルトの名無しさん
20/10/24 08:14:41.28 Vns5s0/C.net
それこそググって見つけたライブラリのギフハブのスター数でも比べればいいだろ

377:デフォルトの名無しさん
20/10/24 09:34:55.38 tXc4rr2K.net
>>369
お前は何使ってんの?

378:デフォルトの名無しさん
20/10/24 14:46:08.24 kDlm7vyJ.net
聞き方がクソすぎるから教えない
初心者丸出しで初歩的な質問するなら普通に聞けよ

379:デフォルトの名無しさん
20/10/24 22:22:03.82 e+F7FuqO.net
なんか伸びてるなと思ったらクソみたいなガキの会話でワロタ
聞き方がムカつくから教えないとか。。。w
僕は使ってないので教えられません
詳しく無いので教えられません
の間違いだろwww

380:デフォルトの名無しさん
20/10/24 22:29:16.90 cah2kODn.net
>>361
何使うのが普通かは知らない。
俺の場合はJava標準のしか知らないので普通はそれを使う。

381:デフォルトの名無しさん
20/10/25 00:17:30.20 mcT94BIp.net
ライブラリ使う奴は思考を放棄したアホだよね

382:デフォルトの名無しさん
20/10/25 07:14:27.20 fCZBO0ew.net
もはや釣りのつもりなのかもわからん

383:デフォルトの名無しさん
20/10/25 09:04:01.55 wyPnD9CJ.net
ndkでC言語で通信処理書くのが普通だぞ

384:デフォルトの名無しさん
20/10/25 11:39:31.01 pByoxzLt.net
この手のキチガイはRuby界隈でよく見かけるけどこちょりんスレで見るのは珍しいな

385:デフォルトの名無しさん
20/10/25 18:22:39.49 SbF5vudw.net
煽ってるつもりなんだろうけど下手くそすぎて煽りにすらなってないのが趣深い

386:デフォルトの名無しさん
20/10/25 21:50:48.59 paWzi42L.net
煽りにすらなってない(顔真っ赤だけど平静を装いながら)




387:デフォルトの名無しさん
20/10/26 11:09:41.52 OddFJxsE.net
そろそろ飽きたからもういいよ、おつかれさん

388:デフォルトの名無しさん
20/10/26 15:03:30.94 EltRWJ/H.net
問題を解決する気が無い
雑談したいだけ
ぱよちん野党と一緒だなω
前向きな話しようぜ

389:デフォルトの名無しさん
20/10/27 22:28:46.51 wfYFUdXE.net
>>374
使わないとできないじゃん

390:デフォルトの名無しさん
20/10/27 22:59:38.24 kHBqpxnd.net
できないことはないけどよほど暇でない限り車輪の再発明になるから仕事でやってはいけない
学習目的で個人的にやってみるのは良いと思う

391:デフォルトの名無しさん
20/10/28 16:57:14.90 yGKOA24C.net
logcatに出力される内容をテキストファイルに出力したいんだけどどうすればいい?
openFileOutputで任意の文字列をファイルに出力するところまでは出来たから、logcatの内容をstring型で取得する方法を知りたい
ググってもよくわからんかった

392:デフォルトの名無しさん
20/10/28 17:21:10.47 eEjR+I1x.net
kotlin関係なくね?

393:デフォルトの名無しさん
20/10/28 18:21:55.09 buwV59eZ.net
>>384
logcat の取得はセキュリティ的な危険性から一般アプリでは禁止されたんじゃないかな
なので自分のログをファイルに落としたかったら、Log クラスじゃなくて、別のロガーを使う
そのロガーの中から、Log クラスの関数呼んで logcat に出したり、ファイルに出力したりすればいい
探せばそういのが見つかる

394:デフォルトの名無しさん
20/10/28 18:51:48.24 yGKOA24C.net
>>385
kotlinでの書き方聞いてるんだから関係あるだろバーカ
>>386
あざーす

395:デフォルトの名無しさん
20/10/28 19:33:15.28 qIVMVvdR.net
またこいつか

396:デフォルトの名無しさん
20/10/28 20:11:08.16 eEjR+I1x.net
>>387
だったらJavaのソース出してKotlinでの書き方聞けよ
それができないのはKotlin関係ないからだろ?

397:デフォルトの名無しさん
20/10/28 20:53:30.45 NIynvX0P.net
>>389
流石に的外れすぎるぞそれは…

398:デフォルトの名無しさん
20/10/28 21:43:31.50 kbv4LFJH.net
それKotlinじゃなくAndroidの質問だろってのはよく見るけど、非Android系のコトラーなんか1割も居なさそう
Kotlin/JSとKotlin/Native期待してたのに残念

399:デフォルトの名無しさん
20/10/29 06:34:19.56 1z8oQa3r.net
勉強会行くと最近は3割くらいはサーバーサイドになってるな
まあそれでもAndroid勢が圧倒的に多いけど

400:デフォルトの名無しさん
20/10/29 14:14:27.74 gnqN5oYg.net
go糞過ぎる
kotlinに戻りたい

401:デフォルトの名無しさん
20/10/29 20:44:58.33 aDvl9SAP.net
いまどきポインタとかw

402:デフォルトの名無しさん
20/10/30 00:06:28.80 X2Arn8L3.net
>>394
ポインタはC言語の概念だからスレ違い。
アドレス参照と表現してもらいたい。

403:デフォルトの名無しさん
20/10/30 00:12:59.31 rZnJagT7.net
ポン太カードはお持ちですか?ってLAWSONで聞かれなくなった

404:デフォルトの名無しさん
20/10/30 01:44:09.57 hd8pq5M+.net
気持ち悪いくらい気持ちよく書けるな
もうjavaには戻れん
groovyも言語は良かったけどKotlinはIDEが凄まじすぎるわ

405:デフォルトの名無しさん
20/10/30 04:49:46.43 mO2xl9AM.net
kotlinそんなにいいのか

406:デフォルトの名無しさん
20/10/30 05:29:17.93 X2Arn8L3.net
三項演算子が冗長だぞ

407:デフォルトの名無しさん
20/10/30 06:08:40.16 mO2xl9AM.net
やはり文法が多すぎるな

408:デフォルトの名無しさん
20/10/30 07:57:00.83 C9ceSm6V.net
!!を許容する派と認めない派で揉める
also派とwith派で揉める
by lazy派とlateinit派で揉める
kotlinはケンカになるからやめとけ

409:デフォルトの名無しさん
20/10/30 08:28:54.23 3hbInUE2.net
そこでDartをお勧めしたい

410:デフォルトの名無しさん
20/10/30 08:33:25.55 UitTZA9p.net
>>401
うむ

411:デフォルトの名無しさん
20/10/31 12:57:52.07 xdc4Eeuq.net
>>396
そういやローソンって au PAY で払ったら自動でPontaポイント足されてると考えて良いんだろうか

412:デフォルトの名無しさん
20/11/01 09:25:44.70 CzYnIilS.net
ケンカしろよ

413:デフォルトの名無しさん
20/11/01 11:54:40.16 2fv/suSL.net
Kotlin必要になって少し触ってるけど、コンセプトがよくわからない。あるべき姿を追っちゃうとScalaみたいな敷居が高いものになるから、適当なところで妥協したものを作った、ってこと?

414:デフォルトの名無しさん
20/11/01 13:55:44.06 PWR7yRTE.net
Kotlinは学者の研究用言語じゃねえんだよ
現場のドカタにとっての使い勝手の良さを重視して作られてる
理想より現実を見ている言語なんだよ

415:デフォルトの名無しさん
20/11/01 16:04:25.42 0HRkYbAe.net
いがみ合っているように見えて>>406>>407の意見にはそれほど違いがない。公式見解だった気がする。
>>406
コンセプトと言えるかどうかはわからないけど、KotlinのDSL記法を試してみると、
Kotlinの文法の多くはこのためにあるんだなと思うことができる(個人の感想です)。

416:デフォルトの名無しさん
20/11/01 16:14:50.06 nLXPRXUb.net
DSLはどちらかというとGroovyの思想で、Kotlinはその流れを汲みつつも普段使いをやや優先したって印象かな

417:デフォルトの名無しさん
20/11/02 20:15:02.79 V9FEG9XS.net
>>406
Scalaは理論というか哲学レベルの完全性を、Kotlinは実務で使う上での利便性をとことん追求している。
出自がアカデミックセクターなのと商用IDEベンダーの違いがそのまま現れてると思うよ。

418:デフォルトの名無しさん
20/11/02 21:59:55.18 sY6lI3WZ.net
理論だけの頭でっかちの世の中の実際には何の役にも立たない無用の長物のゴミ

419:デフォルトの名無しさん
20/11/02 22:04:59.67 lGH5kgvM.net
>>411
自己紹介?
と思ったが理論すらないアホだったなお前は

420:406
20/11/03 12:47:12.63 UvRrulQw.net
ありがとう。とすると、素のjavaからの量的な拡張というか、改善なんだね。生産効率は上がりそうだけど、既存言語の面倒な問題にはあまり突っ込まない感じするから、不具合が激減するとかは期待できないのかな。

421:406
20/11/03 12:53:27.79 UvRrulQw.net
理論がくだらない、とは自分はあまり思ってなくて、理論的にある種の不具合が根絶できるとわかるなら、それは追求する価値はあると思うけど。ただ、現実の開発現場でそれがペイするかはもちろん別だけどね。
最近は書きやすい言語が増えてきて、フレームワークも色々あるし、単に言語の量的な改善というのはコンセプトになり得ないと思ってたけど、色々便利なら採用する価値あるんだろうね。

422:デフォルトの名無しさん
20/11/03 13:30:13.38 qpgkpv1L.net
結論付け方がおかしいぞ
nullセーフは既存の面倒な問題への対策と不具合削減だろ
Kotlinはあるべき姿の追求ではなく適当なところでの妥協の産物という話で合ってるというのに、量的な拡張、改善だって話はどこから出てきた?
今理解に必要なことは、Kotlinはあるべきを追求してデザインされたものではないからコンセプトから演繹的に学習しようというスタンスはやめて、イメージだけで決め付けず、nullセーフやDSLといった各論を学んでから帰納的に把握すればいい

423:406
20/11/03 14:21:58.69 AahD7IT6.net
nullセーフは例外発生の警告度を強めるだけで、null自体をやめてるわけではない、ということだよね?量的、というのは例えばそういう意味でした。
まぁでもとりあえずは使ってみようと思います。ありがとうございました。

424:デフォルトの名無しさん
20/11/03 16:42:07.16 nALcz4uh.net
警告じゃなくてエラーな

425:デフォルトの名無しさん
20/11/04 00:42:24.62 Sd8kUbYc.net
コンパイル時に解決できることのありがたさよ

426:デフォルトの名無しさん
20/11/04 08:00:31.74 bj5YbrcR.net
そもそも日本語の文章力が怪しすぎるだろ
技術書以外の本も読めよ

427:デフォルトの名無しさん
20/11/04 14:36:27.49 kpsQD4HS.net
わかりました。
5chをしっかり読むようにしますです。

428:デフォルトの名無しさん
20/11/04 15:08:03.01 dD5vFymF.net
>>420
ワロタww

429:デフォルトの名無しさん
20/11/06 09:17:20.09 ouHHBilg.net
>>418
それ
javaでもコンパイルでエラー吐いてくれるんなら全部Objectを使ったっていいんだぜ?ってなもんよ

430:デフォルトの名無しさん
20/11/07 23:08:52.51 9196kfkH.net
>>422
全部Optional<Object>とか?

431:デフォルトの名無しさん
20/11/07 23:58:31.50 BzysXMDS.net
Optionalなんて臆病者のツールは論外だぜ
全部staticでグローバルなList
何でもいくつでも入れ放題
これ最強ね

432:デフォルトの名無しさん
20/11/14 06:42:50.58 0hLqZubW.net
最初から Kotlin 使いなさい。

433:デフォルトの名無しさん
20/11/14 09:07:13.79 +AIZW7R6.net
Kotlinを使うとケンカになる
!!を許容する派と認めない派で揉める
also派とwith派で揉める
by lazy派とlateinit派で揉める
やめとけ

434:デフォルトの名無しさん
20/11/14 09:58:08.92 9wxaNgZv.net
コンパイラプラグイン作ろうとしてるけど情報がなさ過ぎる
アノテーションプロセッサーも無い方だけどまだJavaの分だけマシだった

435:デフォルトの名無しさん
20/11/14 12:03:31.45 r4pVca9t.net
宗教系エンジニアは本当に迷惑

436:デフォルトの名無しさん
20/11/14 15:46:50.09 VBgscgFQ.net
そういうやつに限っていわゆる一般的な"宗教活動"については
たわごとをおしつけてくる迷惑なやつら扱いしてたりするが
自分も同じ穴のムジナにはいってることに気がついてない

437:デフォルトの名無しさん
20/11/14 16:29:15.64 OfQ57GBv.net
宗教に無関心な人間からしたら誰でも迷惑じゃん
よく「そういうやつに限って」っていうけど全然限ってない

438:デフォルトの名無しさん
20/11/15 00:47:22.35 UIE/tX/X.net
>>426
>>401はテンプレなのか...

439:デフォルトの名無しさん
20/11/16 13:12:50.27 5wnRi0CF.net
Kotlin教

440:デフォルトの名無しさん
20/11/16 17:25:39.08 EmxZf5Ph.net
ほかの言語にも手を出してます
ごめんなさいKotlinさま

441:デフォルトの名無しさん
20/11/19 02:57:04.84 9pjajUIs.net
Kotlinのnull安全なんて馬鹿馬鹿しい

442:デフォルトの名無しさん
20/11/19 07:40:10.35 xYpXSb6D.net
ヌル安全結構衝撃的やったけどなー

443:デフォルトの名無しさん
20/11/19 08:57:28.93 MKpNlHWc.net
1か0思考の人かな
Javaとの互換性のためにある程度nullと付き合わざるを得ない状況になってるのを見て「nullを排除できてないじゃない!意味ない!」って見くびってしまう人

444:デフォルトの名無しさん
20/11/19 11:07:38.48 9pjajUIs.net
null安全を持ち上げている人って、普段から糞コードや糞設計してオブジェクト指向もろくに理解していない人間だろ。
null安全な言語じゃなくてもnullチェックを多用するコードや設計は言語仕様以前にプログラマが糞。
だからnull安全なんて糖尿病患者のインシュリンみたいなもので根本的治療じゃないから馬鹿馬鹿しい。

445:デフォルトの名無しさん
20/11/19 11:47:05.38 vggSc+79.net
null安全はクソコードクソ設計とは別のレイヤー
と理解できないアホとは一緒に仕事したくないな

446:デフォルトの名無しさん
20/11/19 13:12:52.76 633mdzZ1.net
そんなのはどうでもいい
そろそるnullをヌルと呼ぶかナルと呼ぶか決着を着けないか

447:デフォルトの名無しさん
20/11/19 13:44:30.40 WG490rcQ.net
nullはニュルだが?

448:デフォルトの名無しさん
20/11/19 16:29:15.73 r3/rn3nu.net
>>438
null安全でないのは大抵クソコードクソ設計だろ。特にjava。

449:デフォルトの名無しさん
20/11/19 17:01:35.94 BWsq8VAk.net
!!を許容するのか認めないのか

450:デフォルトの名無しさん
20/11/19 17:11:04.81 BWsq8VAk.net
はっきりしてほしい

451:デフォルトの名無しさん
20/11/19 17:13:08.06 dc7Xh8c+.net
Kotlinは言語選択として許容しない!

452:デフォルトの名無しさん
20/11/19 21:01:29.88 m5Mf/5d8.net
>>437
Haskellしろってこと?

453:デフォルトの名無しさん
20/11/20 00:02:42.39 chBH1D/L.net
SEGA Saturnしろ

454:デフォルトの名無しさん
20/11/20 08:30:09.55 iF0AxdEN.net
>>437
そのインシュリンで助かってる人もいてるんやで。
君このご時世マスクもせんとチョロチョロするタイプやろ?

455:デフォルトの名無しさん
20/11/20 08:33:58.36 iF0AxdEN.net
ニュルポ

456:デフォルトの名無しさん
20/11/21 10:23:05.58 ts1N/QFR.net
null安全ってどうゆう意味?

457:デフォルトの名無しさん
20/11/21 11:10:14.55 U5RwLwtV.net
>>449
null安全なコード(null safe code)は
ヌルポが発生しないことが保証されてるコードのこと
null安全な言語は(language with null safety)は
ヌルポが発生を防ぐ安全装置が備わってる言語のこと

458:デフォルトの名無しさん
20/11/21 15:22:01.91 y+uPyUUI.net
null安全したところでデータの安全は保証しないからな。
下手したら試験時にnullで落ちてくれたほうがマシな場合もあるだろうよ。
だからnullは猫のように愛されてきたんだ。

459:デフォルトの名無しさん
20/11/21 18:58:29.84 FLFe6WLj.net
APIレスポンス受ける data class のプロパティもコンパイル時に null安全できるようにしてほしい

460:デフォルトの名無しさん
20/11/22 11:05:20.91 umfLP4bc.net
>>451
たしかにnullを安易に排斥したところで却って不具合を地下に潜らせることになる
nullの利用価値を保ったまま安全をサポートしてくれるのがKotlinのnull安全
null safeであってnull freeではない
Kotlinではnullかもしれない値を限定でき、その利用時に、分岐するのかエラーで落とすのか初期値で代用するのかを文法的に問うのでより安全
Javaでは試験時に落ちるところを、Kotlinではさらに早くコード補完時や自動ビルド時に気付かせてくれる

461:デフォルトの名無しさん
20/11/23 15:21:42.81 QcOiDeXE.net
>>433
絶対に許さない。

462:デフォルトの名無しさん
20/11/28 10:17:31.66 TP8nXubU.net
Jetpack Compose for Desktop ってどうなんだろう。
TornadoFXが死に体なので脱出先を探しているが、
Android用の設計を無理に移植していびつだったりするんだろうか。

463:デフォルトの名無しさん
20/11/29 14:55:05.68 KxupmnON.net
Kotlin って List の内容をローテートするメソッドって用意されてないの?
[1, 2, 3] の右回しなら結果が [3, 1, 2] で左回しなら [2, 3, 1] になるようなやつ。
(シフトしかできなくても組み合わせれば作れるから良いんだけど)。
自作するしかない?
ていうか自作することそのものは簡単なんだけどね。例えばこんな風に書けばいいだけだから。
fun <E> List<E>.rotateLeft() = ((1..lastIndex) + 0).map { get(it) }
ただ元からライブラリに用意されていたら無駄になるので存在の有無を知りたいということ。

464:デフォルトの名無しさん
20/11/29 15:24:23.71 IcRbcY/o.net
Javaにある

465:デフォルトの名無しさん
20/11/29 18:30:32.35 KxupmnON.net
>>457
おお!ありがとう。java.util.Collections.rotate() ね。
でもこれ、Kotlin の List でも使えるけど List の内容が変わっちゃうのな。
(MutableList じゃないのに)
>>> val ls = listOf(1, 2, 3, 4)
>>> ls
res14: kotlin.collections.List<kotlin.Int> = [1, 2, 3, 4]
>>> java.util.Collections.rotate(ls, 1)
>>> ls
res16: kotlin.collections.List<kotlin.Int> = [4, 1, 2, 3]
>>> java.util.Collections.rotate(ls, -1)
>>> ls
res18: kotlin.collections.List<kotlin.Int> = [1, 2, 3, 4]
>>> java.util.Collections.rotate(ls, -1)
>>> ls
res20: kotlin.collections.List<kotlin.Int> = [2, 3, 4, 1]
>>>
まあ変換して Java 側に渡してるだけだろうから仕方がないか。

466:デフォルトの名無しさん
20/11/30 00:21:55.65 XdYfXM2+.net
お約束だけどKotlinのListには最初からイミュータブル性はないよ
変更機能に関心のないビューでしかない
MutableListがListを継承してるというのが何よりの性質

467:デフォルトの名無しさん
20/11/30 21:07:46.44 d/P6xXcm.net
クロスプラットフォームは総じて糞と相場は決まっている

468:デフォルトの名無しさん
20/12/01 07:14:35.59 1c6vRoBT.net
できることがOR結合ではなくAND結合で絞られてしまうのがクロスプラットフォーム。
できることしかできない。

469:デフォルトの名無しさん
20/12/01 07:41:02.13 7egfpP3/


470:.net



471:デフォルトの名無しさん
20/12/01 08:37:49.02 A2yZQJjL.net
javaでいいよ
無理矢理感有り過ぎの上
文法がひどい

472:デフォルトの名無しさん
20/12/01 12:39:29.78 xAN1+Wpp.net
>>462
明快な話だよ
どちらの演算子も、if文を使ったそれと等価のロジックに置き換えて考えて、そのロジックを使うべきだと思えば使えばいい
特定の頻出イディオムの短縮記法に過ぎないと捉えれば、長ったらしく書くよりも演算子ですっきり書いた方がいいとわかるはず
追加メッセージのないNPEを送出するなんて絶対にムリという状況下なら !! は使わないことになるだろうし、低リスクな部分なんて元々エラーメッセージ考えないし万一落ちたらスタックトレース見りゃいいやという状況なら !! を使うのは理に適ってる
状況を問わず絶対に使うなというのは原理主義者かアホだと思う
Javaを使ってるのにクラスや例外を避けようとする老人と似たようなもの

473:デフォルトの名無しさん
20/12/01 14:06:45.61 Y3029ltu.net
!!を使わなくても書けるのに敢えてクラッシュのリスクのある!!を使う必要ない

474:デフォルトの名無しさん
20/12/01 14:51:50.13 GnBhcVmn.net
コントラクト書いてもスマートキャストできないならアリ

475:デフォルトの名無しさん
20/12/01 17:28:10.09 /2lR8en+.net
assert文もクラッシュのリスクがあるから使わないって言うんだろうか
フェイルセーフで進めるべきシーンとフェイルファストで落とすべき部分を判断して使い分けてほしい

476:デフォルトの名無しさん
20/12/01 17:44:21.87 VNs10yiL.net
そんなのは設計が糞
センスないからしね

477:デフォルトの名無しさん
20/12/01 18:45:05.23 1c6vRoBT.net
いろんな宗教食タブーに配慮した結果、鶏肉料理しか選択肢がなくなる感じ。それがクロスプラットフォーム。

478:デフォルトの名無しさん
20/12/01 19:28:13.47 +SEOBXSY.net
そうそう、そんな感じ

479:デフォルトの名無しさん
20/12/01 21:58:25.69 G7RpB3vG.net
>>459
あー。Stringとかと同じか。書き換えられないように作ってあるだけで言語レベルでリードオンリーというわけではないという。

480:デフォルトの名無しさん
20/12/02 07:55:24.49 qZqo4QmM.net
そういうこと。ただ変更のためのAPIを提供してないだけ。

481:デフォルトの名無しさん
20/12/02 10:41:02.88 i+bjk1CY.net
Stringはクラスがfinalで閉じてる分、変更可能性という意味では層が少し違うかな

482:デフォルトの名無しさん
20/12/02 10:42:20.86 i+bjk1CY.net
CharSequenceが等価だと思う

483:デフォルトの名無しさん
20/12/04 16:14:35.33 aGuBhpl1.net
>>461
何つながりでいっているのか知らないけれど、まあ、それでも基本部分だけでも
動作すればだいぶ楽にはなる。
同じように書いてHelloWorldが出て、直線や矩形描画、文字描画、キー入力が
共通化されていて、同じ言語で書けるならかなり楽になるから。
クロスプラットフォームキットを何も使わなければ、言語自体も違ったりして、
ロジック部分すら共通化できず、大変なことになる。
WindowsではC++(またはC#), AndroidはJava, AppleはSwiftみたいに。
そしてprintf()文すら共通しては使えない。

484:デフォルトの名無しさん
20/12/05 12:38:19.27 Na39OKS5.net
実務経験1年で月収80万稼


485:げるエンジニアになった理由 https://www.youtube.com/watch?v=DrbbyGsHQic 意識が低いエンジニアこそフリーランスになれ https://www.youtube.com/watch?v=nSEaAJlgjbQ フリーランスエンジニアの週3労働ってどんな感じ? https://www.youtube.com/watch?v=8yjoDCdbzMc ぼくがスキルのない社畜ならこうやって脱する https://www.youtube.com/watch?v=aae8xxbUlMM 初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話 https://www.youtube.com/watch?v=U0OCGRVLFsM プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説 https://www.youtube.com/watch?v=iBOeiSKBIW8 貧乏人こそ社会不適合者 https://www.youtube.com/watch?v=O3BT72BIBJI 元ド貧乏が教える】貧乏を抜け出すための2つの考え方 https://www.youtube.com/watch?v=IRrCgTy3ckc より良いオファー貰ってるのに転職しないとか何考えてるの? https://www.youtube.com/watch?v=i0J6uRhlj7o



486:デフォルトの名無しさん
20/12/12 16:10:56.29 2H3Jk65M.net
Kotlinは人気順位をどんどん下げてんね。

487:デフォルトの名無しさん
20/12/12 17:12:12.40 DUS5CJRd.net
型違いやぬるぽのエラーが動かす前にわかるというが
逆に言うと動かせばすぐわかることだ
今時そのパスとおってませんとかテストでありえんから
型なんかいらんかったんや

488:デフォルトの名無しさん
20/12/12 17:37:35.65 UcLPJJJE.net
そんなしっかりテスト書くなら型あった方が楽じゃん

489:デフォルトの名無しさん
20/12/12 19:11:57.44 s2JPaqvY.net
変数は全部public staticで MutableList<Object>じゃい!
goto文も好きに使え!
だって全部テストでパス通せばいいじんじゃい!
うん、暴論だと思う
null安全も型安全もカプセル化も、言ってしまえばほんのちょっとの便利ツールでしかないんだけど、そのほんのちょっとがバグを減らし、思考の負荷を落としてくれる

490:デフォルトの名無しさん
20/12/12 19:17:54.50 s2JPaqvY.net
万全のテストが組み上がった後では言語ごとの安全設計の違いはプロダクトの品質に影響をほとんど及ぼさない、それはそうかもしれない
ただ、その万全のテストが手にはいるまでにどれだけのコストを要するかが違う
流れるように書くことができて、書き間違えや考慮漏れが起こりにくく、テスト作成中にfailが出てもすぐに特定して直せる、その結果生産性が高い、それがいい言語だと思う

491:デフォルトの名無しさん
20/12/12 19:17:56.76 DUS5CJRd.net
誤りは防ぐが思考の負荷は増えるぞ

492:デフォルトの名無しさん
20/12/12 19:31:00.69 s2JPaqvY.net
とても小さいスクリプトを書く場合と、バグをいくらでも作ってよく誰かが直してくれるならそうだな
VBの変数宣言不要のVariant天国は何でも格納できて極楽
一方である程度大きいものをバグなく作る必要があるなら脳内に展開する必要のあるデータ量が増えてスケールしなくなる

493:デフォルトの名無しさん
20/12/13 08:02:21.21 VmHeogwF.net
単純に型のあるなしだと設計を疎結合にしやすいとかリファクタの安全性が高いとか色々変わってきますがな

494:デフォルトの名無しさん
20/12/13 11:22:13.31 OcllVIux.net
それでもやっぱり型が好き

495:デフォルトの名無しさん
20/12/13 13:22:32.62 5EW0FlRD.net
シェルスクリプトやマクロみたいな簡単な治具には形を意識せずにすむ言語がお手軽だし、バックエンドのシステムを組み上げるにはnull安全のある厳しい静的型付き言語がフィットするので使い分けましょうねという結論でいいと思う
使い分けのミスマッチを解消したいい例がTypeScript

496:デフォルトの名無しさん
20/12/13 17:03:49.88 nviDagiX.net
Rubyも型のような何かを入れたし、時代の流れだわね

497:デフォルトの名無しさん
20/12/14 00:35:19.60 6zFeqNk6.net
数値や String が保持出来て計算出来れば良いんだったらそういうクラス作って
operator で色々作って計算出来るようにしちゃえば良いんじゃないか?
効率悪いかも知れないが。

498:デフォルトの名無しさん
20/12/14 08:23:45.23 NKntA+ls.net
>>478
> 今時そのパスとおってませんとかテストでありえんから
そのテストを自動で実現するテストフレームワークが無いんじゃない?
せめてnull安全ぐらい関数1つで実現してほしいわ。

499:デフォルトの名無しさん
20/12/14 10:17:36.45 wjvd2Hwv.net
君らみたいにkotlinやってる人ってアプリ開発者が多いのか?

500:デフォルトの名無しさん
20/12/14 10:24:57.92 gp9Z60vS.net
Android以外でKotlin使ってんだなぁて思う
JavaだったとこをKotlinに置き換えてんの?

501:デフォルトの名無しさん
20/12/14 10:39:03.40 sJtbd1yB.net
元々Javaのサーバアプリ書いてる

502:デフォルトの名無しさん
20/12/14 18:48:58.24 rjPJQsvc.net
サーバーサイドだね
完全にbetter Javaとして使ってる
既存コードの置き換えもするし、新規実装するものに関しては完全にことりん

503:デフォルトの名無しさん
20/12/14 18:50:01.54 gp9Z60vS.net
Androidやってるだけだからサーバーとか行っても戦力にならないんだろうな
同じ言語なのにここに出てくるサーバーサイドの会話がなんとなくわかったつもりの異次元

504:デフォルトの名無しさん
20/12/14 18:50:06.38 rjPJQsvc.net
サーバーサイドkotlinは採用も意外に楽よ
それ自体の経験者はほぼいないけど、Kotlin書きたいJava経験者はかなりいるから

505:デフォルトの名無しさん
20/12/14 18:50:39.52 rjPJQsvc.net
>>494
それはお互いにそうでしょ。
言語そのものの知識なんて大して重要じゃないし。

506:デフォルトの名無しさん
20/12/14 22:34:42.15 dZWdULI2.net
nullsafeでぬるぽが減った人いますか?

507:デフォルトの名無しさん
20/12/22 19:15:05.74 oIaxfxum.net
減るっていうか0になったけど何が言いたいんだろ

508:デフォルトの名無しさん
20/12/22 21:19:38.41 3Bv244xN.net
ぬるぽを無くすためのnullsafeだからな

509:デフォルトの名無しさん
20/12/22 22:42:34.84 Df60bwVz.net
DBカラムに入ってるはずのデータがなかったときどんなエラーがでるんすか

510:デフォルトの名無しさん
20/12/22 23:40:20.45 Olju/RJS.net
ヌルポよりも大切なものを失います

511:デフォルトの名無しさん
20/12/23 00:04:41.19 6GFRBN6f.net
APIのレスポンスがnullじゃないはずなのにnullが返ってきたときどうしたらいいんですか

512:デフォルトの名無しさん
20/12/23 19:38:57.98 NEftcK31.net
nullsafe って言うのは Null チェックしなくていいという意味じゃないよ?
チェック必要なものと不要なものを区別して、必要なものはチェックしてからアクセスしないとコンパイルエラーになるんだよ?

513:デフォルトの名無しさん
20/12/24 07:36:37.88 woO5Pxu8.net
>>502
普通にnullチェック入れればいいんじゃないの?

514:デフォルトの名無しさん
20/12/24 08:10:29.60 QpUzPsdF.net
>>502
nullチェックしながら
APIの作者にバグレポート上げろよ。

515:デフォルトの名無しさん
20/12/24 08:57:55.57 N8XXHmSr.net
まずレスポンスのデータクラスのフィールドををnullableにしないといけない
nonnullでもコンパイルエラーならないのにだ

516:デフォルトの名無しさん
20/12/25 09:41:57.24 yOAc+N/y.net
何で companion object って一番下なんすか
一番上じゃ駄目なんすか

517:デフォルトの名無しさん
20/12/25 11:57:59.25 LVz6iinV.net
kotlin世界との境界部分はもろもろを自分で気を付けるしかない

518:デフォルトの名無しさん
20/12/27 23:41:45.31 mqWB+gDR.net
>>507
文法的にはどっちでもいいよ

519:デフォルトの名無しさん
21/01/01 17:03:56.74 oTJ6QRVP.net
kotlin/nativeでサーバーサイド作る話はどうなった?

520:デフォルトの名無しさん
21/01/02 07:50:34.05 7+xZsyvI.net
SuperJobだと、子の失敗は親に影響与えないとのことですが、子をキャンセルすると親もキャンセルされてしまうとのことです
子が失敗しようが、子をキャンセルしようが親に全く影響を与えたくないのですがどうすればいいでしょうか?

521:デフォルトの名無しさん
21/01/02 08:31:31.17 7+xZsyvI.net
SupervisorJobだった
つか、なんかややこしくなってきた
間違ってた、SupervisorJobは子のキャンセルは親に影響しないからスーパーなのか?

522:デフォルトの名無しさん
21/01/02 12:00:19.22 7+xZsyvI.net
間違ってた
子Jobのcacelメソッドによるキャンセルは親が普通のJobだろうがSupervisorJobだろうが親をキャンセルさせない
子JobがCacellationException以外の例外で失敗したとき、違いがでてくるのか

523:デフォルトの名無しさん
21/01/02 13:51:40.78 iRQWAItx.net
おちつけ

524:デフォルトの名無しさん
21/01/07 12:30:36.60 upgodNBv.net
明けましておめでとうございます。
ことりんもよろしくお願いします。

525:デフォルトの名無しさん
21/01/07 13:06:35.86 n0qoIkIN.net
酉年にやれよ

526:デフォルトの名無しさん
21/01/08 00:22:29.53 q8lyQLUk.net
2029年までネタとして取っておこう…

527:デフォルトの名無しさん
21/01/08 00:30:46.51 s1r0Khta.net
その時まで生きてるのかな、ことりん

528:デフォルトの名無しさん
21/01/08 07:52:19.70 AiUWBAU5.net
こぅのとぉりん生きてますよ

529:デフォルトの名無しさん
21/01/08 08:38:56.45 rfni5yw0.net
ことりんじゅうさまです
なんてことならないように使っていこう

530:デフォルトの名無しさん
21/01/09 09:13:47.78 ZIgIrWmA.net
例えばUserクラスがあって、userIdプロパティとネストしたUser型のuserプロパティがあります
このときList<User> users
から、users.map?とかcollection apiを使ってネストしたUserも含めたすべてのuserIdのリストを求める方法があれば教えて下さい
再帰関数を用意しないと無理?

531:デフォルトの名無しさん
21/01/09 09:19:13.14 ZCNL7UEp.net
flatmap

532:デフォルトの名無しさん
21/01/09 09:28:30.58 ZIgIrWmA.net
userプロパティは多段ネストする可能性があるんですがflatMapでいけましたっけ?

533:デフォルトの名無しさん
21/01/09 15:43:34.22 v5qb+Ohk.net
プロパティをどう辿るかはcollection apiだけじゃどうにもならないから自分で実装するしかないでしょ
扱うデータによっては重複や循環なんかも考慮が必要かも
URLリンク(paiza.io)

534:デフォルトの名無しさん
21/01/10 00:59:41.08 vFHdkGQn.net
>>521
そのロジックに意味のあるものならUserにallChildrenUser : List<User>メソッドを作って子のallChildrenUserを呼び出す、つまり再帰構造、allChildrenUser() -> users.flatmap{ it.allChildrenUser() }
かな
ネスト構造の時点で循環参照の可能性があるわけで言語機能でどうにかなる話とは違うと思う
または、データ構造として最適なツリーを採用したほうが良いかもしれん

535:デフォルトの名無しさん
21/01/10 01:38:59.42 Kq/dusa6.net
自分が出来ると心から信じることができれば必ずやれる

536:デフォルトの名無しさん
21/01/10 20:09:18.30 JmQQkhyb.net
言語機能でどうにかなるか否かはまた別の話でしょう
データが循環していたらスタックオーバーフローなりその他の例外なりが出るように標準ライブラリが設計されていればいいだけなので

537:デフォルトの名無しさん
21/01/10 20:13:22.96 JmQQkhyb.net
余談だけどグラフの探索は再帰を使わなくてもループに書き換えることができる
スタックオーバーフローしなくなるのが利点
ループではなく再帰でしか解決できないアルゴリズム問題が存在し得るかどうかは不勉強なので知らない

538:デフォルトの名無しさん
21/01/10 20:31:18.39 N5z3vzVP.net
再帰は必ずループに出来る

539:デフォルトの名無しさん
21/01/10 21:54:19.01 YxBPzBtX.net
クイックソートどうすんじゃ

540:デフォルトの名無しさん
21/01/10 21:56:12.30 YxBPzBtX.net
木の探索は横探索すればいいか
スタックのかわりにヒープがあふれる

541:デフォルトの名無しさん
21/01/10 22:08:14.99 fqhi9u3I.net
whileループでbreakすればいい

542:デフォルトの名無しさん
21/01/10 22:25:02.75 GNExug


543:p7.net



544:デフォルトの名無しさん
21/01/22 13:56:01.26 g1yAjsTk.net
じゃあflatmapで俺の資産を増やしてくれ

545:デフォルトの名無しさん
21/01/22 14:36:13.50 JAaKTTQV.net
flatmapと元気があれば何でもできる!

546:デフォルトの名無しさん
21/01/22 20:45:59.10 xnRnhQMQ.net
Kotlin Roadmap
URLリンク(kotlinlang.org)

547:デフォルトの名無しさん
21/01/25 06:26:23.02 hTvlKNeR.net
>>534
理論上はflatmapで何でも解決できるとしても、実装するには十分な数学的能力が必要なのだ。

548:デフォルトの名無しさん
21/01/25 18:04:21.90 gx6uUcGg.net
>>537
そうか。じゃあお前なら出来るんだな。任せたぞ。

549:デフォルトの名無しさん
21/01/25 22:47:14.88 h35Snctt.net
プログラミングは
気合いだ
たとえば1万件のソートをするのに
処理のオーダーがどうとか
クイックソートのライブラリがないとか
代替するものをつくるかどうかとか
悩むときに
Excelにはっつけたり
2重ループで平気で馬鹿ソートする
周囲の嘲笑をものともしない決断力
そういうやつができるやつなんだ

550:デフォルトの名無しさん
21/01/26 08:07:03.00 z9KCwqI+.net
>>539
そういう能力の人は便利屋として安い単価で使い捨てられるだけです

551:デフォルトの名無しさん
21/01/26 11:42:19.41 V/Um6Sz0.net
いうほどflatmap使うか?
そりゃたまには使うけどさ

552:デフォルトの名無しさん
21/01/26 12:25:48.83 nusF9BAT.net
1万件程度なら普通にExcelも使うし
バカソートも使う
もちろん製品コードではそんな事はないけど

553:デフォルトの名無しさん
21/01/26 20:08:03.52 u/mIbNWf.net
flatmapが世界を救う

554:デフォルトの名無しさん
21/01/26 20:21:56.10 0fVnbxLr.net
flatmapはステータスだ!

555:デフォルトの名無しさん
21/01/27 16:58:07.84 yhGPUjKe.net
!!って基本的に使うべきでないんですかね

556:デフォルトの名無しさん
21/01/27 23:12:27.62 e4FHF1X1.net
>>538
STモナドの中に入れたら増やせそうな気がするが、取り出せなくなるけどいい?

557:デフォルトの名無しさん
21/01/27 23:15:32.07 9akTDBYB.net
>>545
簡易的なアサーションとして理解した上でNPEが出てほしい場合は使っていいよ
知らない間に大事な処理が実行されずスルーされたりするよりも、バグなのでとっとと例外を出して知らせてほしい場合とかね
URLリンク(kotlinlang.org)
> Thus, if you want an NPE, you can have it, but you have to ask for it explicitly, and it does not appear out of the blue.

558:デフォルトの名無しさん
21/01/28 09:16:46.22 zbveLxMQ.net
kotlinではnullチェックの代わりに?.を使うべきですか

559:デフォルトの名無しさん
21/01/28 09:54:30.26 fR55BjA1.net
nullチェックと一口に言ってもバリエーションを考えないとだめ
nullなら何もしない
nullなら空白で表示する
nullならハイフンで表示する
nullなら代替手段で値を取りに行く
nullならログを吐いてフォールバックする
nullならフェイルファストで例外を出す
?.は上記のうちの一部に最適ではあるものの、一部には役に立たない
実現したいことや状況に沿った措置が先にあり、それをコードで表現するために適した言語機能を選ぶという順序で考えるべき

560:デフォルトの名無しさん
21/01/28 12:36:53.48 Tpt+oTXI.net
nullなら割り込み禁止してその場で無限ループ

561:デフォルトの名無しさん
21/01/29 15:21:19.10 8+3TBqwa.net
Kotlinって、SwiftやRuby以上にWindows切り捨て感があるのな

562:デフォルトの名無しさん
21/01/29 16:40:33.72 VlQNfQH5.net
そう?

563:デフォルトの名無しさん
21/01/29 22:17:24.41 8+3TBqwa.net
やっぱSwiftやRubyの方がひどいか・・・・

564:デフォルトの名無しさん
21/01/30 13:36:04.18 ODJUYA6t.net
>>551
なんでそう思うの?
普通にJVMだからむしろWindowsに優しい方の言語だと思うけど。
Rubyなんて酷いものだろう。。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch