20/05/06 16:04:34 dUOKAoWX.net
GJ
3:デフォルトの名無しさん
20/05/06 18:14:20 izcxg96Z.net
println("乙")
4:デフォルトの名無しさん
20/05/06 20:51:49 ZzpqVz5O.net
公式サイト
URLリンク(kotlinlang.org)
公式ブログ
URLリンク(blog.jetbrains.com)
コードを貼れる所
URLリンク(rextester.com)
オンラインコンパイラ
URLリンク(ideone.com)
GoogleはKotlinをAndroidアプリ開発の推奨言語に格上げ
URLリンク(jp.techcrunch.com)
Library support for Kotlin coroutines
URLリンク(github.com)
5:デフォルトの名無しさん
20/05/08 05:59:59 9LQU4aEm.net
println('乙')
6:デフォルトの名無しさん
20/05/09 04:47:20 JKQNvoIj.net
('乙')
↑
顔にみえる
7:デフォルトの名無しさん
20/05/09 09:33:16 3rxWY8lS.net
ζ・
Σ・・)
8:デフォルトの名無しさん
20/05/10 05:29:38 D+x5WbLs.net
val 乙 = 1
9:デフォルトの名無しさん
20/05/15 22:32:56 kEj5c5K7.net
プログラミングコンテストあるよ!
Kotlin Heroes Coding Contest
URLリンク(www.jetbrains.com)
5月29日の夜から!
10:デフォルトの名無しさん
20/05/26 09:15:43.77 fDcZ5gJW.net
しーん
11:デフォルトの名無しさん
20/05/26 11:25:30 e8iGmv
12:o7.net
13:デフォルトの名無しさん
20/05/26 18:40:13 EGJJZsPX.net
JetBrainsが競プロに熱心な理由は何なんだろう
機械学習ブームでアルゴリズム人材が欲しいとか?
14:デフォルトの名無しさん
20/05/27 05:17:19 Mss9w6Hb.net
kotlinの長所の短所ってなんなのですか?
15:デフォルトの名無しさん
20/05/27 05:17:30 Mss9w6Hb.net
まちがえた長所と短所です
16:デフォルトの名無しさん
20/05/27 06:52:52.45 58kXnoo+.net
長くて短い所?
ち○ぽ?
17:デフォルトの名無しさん
20/05/27 12:23:24.75 DVps4EoB.net
>>13
長所:better javaとして使える。
短所:javaを使えないと使えない。
18:デフォルトの名無しさん
20/05/27 12:40:49 CKnwRHJN.net
長所 ナウい
短所 仕事がナイ
19:デフォルトの名無しさん
20/05/27 15:40:38.85 l0VRR152.net
Java のライブラリを使うから Java がわからないと使えないってことになってしまうのだろうが、
そこら辺を Kotlin でライブラリ作るなどして解消できたら残るは java コマンド使った実行方法だけにならないか?
一部はそうなってるよな。String クラスみたいな根幹に関わるようなクラスは Kotlin 側ライブラリにある。
もちろん Java 側ライブラリの処理を呼んでるだけのラッパーもあるけど。
20:デフォルトの名無しさん
20/05/27 16:50:56 jM6UTQdW.net
>>18
> Kotlin でライブラリ作るなどして解消できたら
そういう実現していない仮定に基づく議論は良くない。
少なくとも>>16はそういう仮定に基づいて話していないと思われる。
21:デフォルトの名無しさん
20/05/27 17:21:59 JJKTQdCZ.net
三項演算子が見にくい&醜い
22:デフォルトの名無しさん
20/05/27 18:37:15 DTRuzdOO.net
Javaがわからないと使えないというのをデメリットとして捉える感覚がわからん
Kotlinを使うにはJavaのライブラリとKotlinのライブラリを覚える必要がある
Pythonを学ぶにはPythonのライブラリを覚える
.NET言語なら.NETライブラリを覚える
Kotlinのライブラリなんて核となる部分の改善だけなんだからどの言語も労力の差は誤差レベルだろ
Javaライブラリで既に事足りてる部分をKotlinライブラリで二重化されたら無駄が増えるだけでは
23:デフォルトの名無しさん
20/05/27 18:42:29 IG528ewY.net
君はもう忘れてるかもしれないけど、サンプルをコピペできるって初心者には重要なんだよ
24:デフォルトの名無しさん
20/05/27 19:32:45 mubjTKPs.net
>>21
それがbetter javaとして使えるメリットであり、巨大なjavaを理解しないと使えないデメリットなんだよ。
例えば、ヌルポを避けて使えるというメリットはあるけど、ヌルポそのものを知らないで使えるわけじゃない。
初期のc/c++の関係に近いわな。
少なくともc/c#の関係ではないよ。
25:デフォルトの名無しさん
20/05/27 21:11:55 3WNNb2zm.net
VSみたいなインテリセンス使える?
26:デフォルトの名無しさん
20/05/27 21:31:31.59 1jDvN/bi.net
AndroidStudioはVSを超えてる
27:デフォルトの名無しさん
20/05/27 23:10:26 DTRuzdOO.net
>>22
なるほど、その説明なら腑に落ちるわ
サンプルのコピペってのは盲点だった
28:デフォルトの名無しさん
20/05/27 23:18:32.13 3WNNb2zm.net
>>25
まじでっ
29:デフォルトの名無しさん
20/05/28 16:06:27 z89Mb2xs.net
Kotlin のコンパイラはココにあるよ
URLリンク(github.com)
scoopを使ってインストールするなら
URLリンク(scoop.sh)
>scoop search kotlin
'main' bucket:
kotlin-native (1.3.72)
kotlin (1.3.72)
>scoop install kotlin
30:デフォルトの名無しさん
20/06/01 01:59:19.84 zzgI+kvb.net
そもそもJavaで良いんだよ。
31:デフォルトの名無しさん
20/06/01 02:44:32 6KBAlGQt.net
Windows 10 で IntelliJ IDEA の Community の新しいやつ (2020.1 とか 2020.1.1 とか) の起動ができない。
2019.3.5 はできて普通に動く。なので 2020.1.1 にアップデートしたくても出来ない状態なのだが、これ解消出来た人居る?
Windows 10 Home と Pro 両方試したんだけど症状は同じ。
IntelliJ IDEA の Ultimate の方は起動できたが、今の所これを使い続ける予定なし(今は完全に趣味で個人的に学習用
として使ってるので Community の方が良い)。
起動可能なまともなのが出てくるまで待つしかないんだろうか? まあフリーだしそうなったとしても仕方がないけどね。
32:デフォルトの名無しさん
20/06/01 07:36:25.09 cdzKAQgn.net
>>30
Community 普段使ってないから試しにインストールしてみたけど普通に起動するよ?
Windows10で、2020.1.1
33:デフォルトの名無しさん
20/06/01 07:42:09.63 cdzKAQgn.net
これとか参考にしてみたら?
URLリンク(blog.jetbrains.com)
34:デフォルトの名無しさん
20/06/01 09:12:52 h4zHZIPt.net
>>29
うっそーん!
getter, setter書かなくても良いだけKotlinがマシ。
35:デフォルトの名無しさん
20/06/01 09:22:09.26 O16m8Efv.net
俺的にはnull安全とwhen句あればあとはいいかな
36:デフォルトの名無しさん
20/06/01 09:58:29 h4zHZIPt.net
>>966
>プロトコルとインターフェースは呼び名が違うだけ
>
>JavaのインターフェースはObjective-Cのプロトコルを真似して違う名前を付けたもの
>SwiftはObjective-Cからプロトコルという名前をそのまま受け継いでる
Swiftは変数に値型(Struct)とそれのCopy-On-Writeを活用した言語。型の抽象化をする際にProtocolが使われる。
Javaの変数は参照型(Class)しかない。型の抽象化もInterfaceが使われる。
Swiftは値型を使って高速化と省メモリを実現しようとしているが、残念ながら今のところ、実現出来ていない。言語仕様が肥大化してるからか?
37:デフォルトの名無しさん
20/06/01 14:24:04.07 6KBAlGQt.net
>>31
えー。じゃあこっちの環境の問題か。
なんだろう?とりあえず色々入れてしまったプラグインをアンインストールしてからやってみるか。
38:デフォルトの名無しさん
20/06/01 14:25:29.53 6KBAlGQt.net
>>32
ありがとう。見てみる。
39:デフォルトの名無しさん
20/06/01 17:58:44 6KBAlGQt.net
>>31>>32
日本語化の Pleiades が怪しい感じだったのだが色々やってみても症状変わらなかったので
面倒だからもうアンインストールして残骸ファイルも全て削除して何もない状態にしてから
インストールしたらうまく行った。やはりこちらの環境の何かが悪かっただけだった。とほほ。
40:デフォルトの名無しさん
20/06/07 00:57:41.55 3X7+PvZO.net
>>38
2020.1からJapanese Language Pack EAPがインスコできるようになったからそれと競合してんのかもね
41:デフォルトの名無しさん
20/06/09 11:56:12.99 wImvczbn.net
現在日付がその月の第何週の何曜日かと言う情報を取得する方法はありますか?
42:デフォルトの名無しさん
20/06/09 14:10:06.85 SGOz4tpD.net
KotlinじゃなくてJavaでググれば一発で出てくるよ
43:デフォルトの名無しさん
20/06/10 02:14:58.25 jMnmbCBs.net
現在Androidアプリを作っています
アプリのアップデートがある場合、アプリ起動時にその旨を通知する仕組みを実装したいのですが下記記事の方法で可能でしょうか?
まだリリースはしてないため動作確認ができないので教えてほしいです
また、この機能の動作確認をするには製品版もしくはベータ版でオープン状態でストアに公開しないとダメですか?
アルファ版と内部テスト版は公開ストアからのダウンロードではなくダウンロード用URLからアプリを端末に落とす仕組みのようなので、、。
URLリンク(developer.android.com)
44:デフォルトの名無しさん
20/06/11 02:35:42.07 JaXQwSJJ.net
>>39
なるほど。
>>40
例えば java.time.LocalDate クラスを使うと曜日が分かる。
後は算数の問題だな。週が月曜日始まりの場合は日の値から曜日の値を引いて6足して7で割って1足すと第何週か分かる。
Kotlin だとこんな感じで一発で出せる。
val n = LocalDate.now().run { (dayOfMonth - dayOfWeek.value + 6) / 7 + 1 }
週が日曜日始まりの場合でもずらせばいいだけなので分かると思う。
45:デフォルトの名無しさん
20/06/11 17:57:33 VnkliXLF.net
ずらさんでいいようにしようよw
46:デフォルトの名無しさん
20/06/11 18:11:45.18 VnkliXLF.net
勘違いしてた
なってるか
47:デフォルトの名無しさん
20/06/12 00:27:32 Kaf1DLZ6.net
さっき気づいたこと。
""" で括るとどんな文字でもそのままになると思い込んでいたが、 $x みたいに変数埋め込みは効いていた。
"""$""" とか """$$""" みたいなのは大丈夫だが """$x""" みたいにすると変数 x の内容がそこに展開されるか、
または変数が宣言されていないならコンパイルエラーだ。じゃあ本当に文字列として """ の内側で $x と出したい
場合はどうするのか? もちろん """\$x""" は \ の効き目がないのでダメ。("\$x" で良いのは分かっているが、
""" で括られた長い長いエスケープを無視したい文字列の中の一部だけが $x になっていた場合に使いたい)。
散々色々やってみて """${'$'}x""" と """${"$"}x""" と """$${""}x""" と """${"\$x"}""" でやっと $x になった
のだが、もうちょっと見易い方法ないものか?
あ、もう一つあった。 val x = "\$x" とやっておいてから val s = """$x""" とする方法。しかしこれだと x を他の
事に使えない。
48:デフォルトの名無しさん
20/06/12 00:35:45.67 Kaf1DLZ6.net
同じ事書いてる人が既にいた。
URLリンク(www.yo1000.com)
49:デフォルトの名無しさん
20/06/12 01:36:09.75 su7sNT78.net
>>46
同感。
$が有効なraw stringはそれなりに便利なので
$無効なraw stringと両方あればよかったのにと思う。
50:デフォルトの名無しさん
20/06/20 12:33:39.14 tLA+K13d.net
変数宣言時の型後書きが激しく気持ち悪いけど、なれてきたらこれはこれでありかなって、この前豆腐ヨウ食べながらそんなことを思った。
51:デフォルトの名無しさん
20/06/20 14:03:24.20 zwBEwaPL.net
昔からPascal系やBasic系は型後置なんだからどちらが流行った時期にプログラミングを習得したかの差でしかないやろ
型推論がある言語なら
var v
var i: Int
のように省略可能な方を後に書き足すのは一貫性があって適していると思う
52:デフォルトの名無しさん
20/06/20 15:27:49.66 JeszpXBy.net
省略可なのに書かないと気持ち悪い
53:デフォルトの名無しさん
20/06/20 15:30:42.17 C+yLxgcn.net
Android Studioなら推論された型を表示させる機能好き
54:デフォルトの名無しさん
20/06/20 23:47:18.56 +7UFHvJ6.net
>>51
しかし段々と快感に
55:デフォルトの名無しさん
20/06/21 01:05:03.79 tsiNgl4R.net
floatじゃなくてintに変更しよう!
と思ったら既にintだった
56:デフォルトの名無しさん
20/06/21 05:45:15.17 V7E9tL91.net
>>49
新しく言語を始めた時の違和感は強烈だけど結局は慣れの問題。
>>51
Javaのvarでも、使って型を省略できる場面でも省略しない方がいいこともあるって公式見解があって
たとえば>>54のようなケースは省略しないことが推奨されている。
57:デフォルトの名無しさん
20/06/21 09:14:33 DCUagNbF.net
>>51
わかる。
後から見返したとき、結局型なんやねん!?ってなる。
プログラムの可読性の観点から省略しない方がいいと思うんやけどなー。
58:デフォルトの名無しさん
20/06/21 11:10:08.30 tsiNgl4R.net
小数点以下を消したりf消すだけで勝手に変わるからね
59:デフォルトの名無しさん
20/06/23 21:19:00.59 EVBfRnLN.net
なんかメディアに登場してて興奮した
URLリンク(www3.nhk.or.jp)
画面右側
60:デフォルトの名無しさん
20/06/23 21:34:21 5POR+uA5.net
>>58
え?これ?
URLリンク(i.imgur.com)
61:デフォルトの名無しさん
20/06/23 22:36:31.25 UicElvK7.net
>>59
ざまりんちゃんってスレチじゃねえか!>>58
62:デフォルトの名無しさん
20/06/24 10:42:37.73 l/oN1z1j.net
このスレでもすっかり人気者ですね
63:デフォルトの名無しさん
20/06/24 21:47:23.43 kW+E8aQE.net
座間のゆるきゃらか。
座間と言えば座間9遺体事件のあった所だな。
64:デフォルトの名無しさん
20/06/24 21:50:15.79 GiTbKjWf.net
座間といえばひまわり畑だろ
65:デフォルトの名無しさん
20/06/24 22:18:03 cNRckdT9.net
ひまわりちゃんならゆるす
66:デフォルトの名無しさん
20/06/25 14:43:48.63 eCZ5+gte.net
viewModelでLiveData書くときいちいち
private val _liveData = MutableLiveData<Unit>()
val liveData: LiveData<Unit> = _liveData
するの面倒臭いんですけどMutableLiveDataをそのまま公開していいよね
MVVM的にはviewからviewModelへの参照は良いわけだから別に
viewから書き換えられたっていいじゃない
67:デフォルトの名無しさん
20/06/26 16:15:15.83 AQU4UGjn.net
Readonly<This, Read> where This : Read {
fun asReadOnly(): Read
}
interface MutableList<E> : List<E>, Readonly<MutableList<E>, List<E>>
...あんま意味ないね
68:デフォルトの名無しさん
20/06/26 19:56:22.26 TOspcwsI.net
viewModelでcoroutine使うときviewModelScopeを使うじゃないですか
その通信処理をviewModelからその先のmodelクラスに移すと
そこにはviewModelScopeがないんですがどうしたらいいですか
69:デフォルトの名無しさん
20/06/26 20:18:15.02 AGSha9JG.net
染めそもそんな変なもん使わんわ
70:デフォルトの名無しさん
20/06/26 22:57:53.81 gj0o7pXU.net
移さなければいいんじゃないかな
71:デフォルトの名無しさん
20/06/27 17:46:24.81 /Jl2bJji.net
別のviewModelから同じ通信処理を実行したいとなったときにmodelで共通化したいじゃない
72:デフォルトの名無しさん
20/06/27 21:29:41.49 /bVKxYKR.net
Androidよく知らんけど、処理の実態だけ他に移してCoroutineの生成はViewModelに置いておくとかじゃだめなの
73:デフォルトの名無しさん
20/06/27 23:43:22.01 L1te99rx.net
android知らんならレスすんなよ
74:デフォルトの名無しさん
20/06/28 00:30:03.47 Shxo8sD9.net
Androidでcoroutine使ってうれしいのはViewModelのライフサイクルに合わせて無効になった非同期処理を虐殺してくれるところだろ
Modelに移しちゃったらそれができなくなるやん
75:デフォルトの名無しさん
20/06/28 01:28:04.55 L5Cpw8A4.net
contextとconstructorがわからん、、、
76:デフォルトの名無しさん
20/06/28 02:22:21.40 VdXbwnMJ.net
viewModelScopeはviewModelの中のままで
中の関数だけsuspend funでmodelに移す感じですね
77:デフォルトの名無しさん
20/06/28 14:02:17.94 0hqWLDMA.net
Javaのサンプルプログラムではconstructorでcontextを何かやってるんだけど(main activityとviewを何か繋いでる?)
kotlinに置き換えたときは省略可能?
なんか書かなくても動いてしまって逆に不安
constructorで囲わずに変数宣言して代入もするなら不要?
contextを何かやろうと後回しにしてたとこコメントアウトしたまま、、、w
78:デフォルトの名無しさん
20/06/28 15:05:03.13 VdXbwnMJ.net
カスタムビューのコンストラクタ?
79:デフォルトの名無しさん
20/06/28 15:24:42.47 0hqWLDMA.net
いまやってるのはsurface viewのクラスです
その前は普通のviewクラスでonDrawの中で線を多数描いてたんだけど、このときはなんとなくconstructor書いてその中にcontextもありました
それをsurfaceviewに変更してたらconstructor周りでエラーが出て、鬱陶しいからコメントアウトして他触ってたら普通に動いてなんじゃそれwってなってます
viewクラスで書いてたプロジェクトに戻ってみると、constructorの関数?って言うのかな?が黄色の警告になってて、実は削除できる?と(試してないけど)
なんか余計にcontextが分からなくなったw
kotlinから始めたからプライマリとセカンダリに分かれて何がいいのかすらも理解してないですw
いったんjavaで修行しようかな?と思う
資料も多いし、何かコツ掴めるかもしれない
遠回りだけど
80:デフォルトの名無しさん
20/06/28 16:28:20.82 h6Ozp34k.net
>>74
context(文章の前後関係の繋がり、文脈)
constructor(建設者、建造方法、生産手続き)
例えが良くないかもしれないけどJavaでいうと
ViewはFlameに直接描画してるような感じで
surfaceViewはpanelに描画してからFlameに貼るイメージかな
81:デフォルトの名無しさん
20/06/28 16:50:28.61 VdXbwnMJ.net
SurfaceView継承して紺巣トラクタなしだと普通にエラーなるが
82:デフォルトの名無しさん
20/06/28 17:16:02.82 YhC9oGcZ.net
>>80
AndroidのSurfaceViewの基礎
URLリンク(qiita.com)
83:デフォルトの名無しさん
20/06/28 17:22:58.88 YhC9oGcZ.net
>>80
panelだけだとWindow表示出来ないからエラーなるよ
ガラスだけで枠が無かったら窓じゃないようなもん
84:デフォルトの名無しさん
20/06/28 22:28:58 Shxo8sD9.net
KotlinでAndroidのViewを継承するならプライマリとセカンダリコンストラクタは必須だろ
でも特別なことやるわけじゃなければ、init{}にViewのインスタンス初期化時の処理を書いて、
あとこの三行コピペするだけでいいからKotlinは楽ちんだ
constructor(context:Context):super(context) {}
constructor(context:Context,attrs:AttributeSet):super(context, attrs) {}
constructor(context:Context,attrs:AttributeSet,defStyleAttr:Int):super(context,attrs,defStyleAttr) {}
contextとかconstructorの理解は後でもいい
class の行には context 書くなよ
85:デフォルトの名無しさん
20/06/29 14:51:01.90 o17FnYvx.net
同じ jar ファイルの中に入っている設定ファイル(要するに普通のファイル)を読む時は
クラスローダのインスタンスを取得してから getResourceAsStream() で InputStream の
インスタンス作って読み出すみたいなことをすると思うのだが、Kotlin ではこれは普通は
どうやっている?
まずクラスローダを取得するために Class クラスのインスタンスを取り出す必要があると
思うんだが、これをどのクラスにも属していない main() 関数でやろうとすると、たとえば
main.kt に main() があるとすると MainKt::class.java で良さそうだがコンパイル時に
unresolved reference でエラーになる。Class.forName("MainKt") ならできるが、
できれば文字列でやりたくない(ファイル名変更や他のファイルの関数にコピーされたら
コンパイルが通るのに意図した通りに動かない動かないプログラムになるから。せめて
コンパイルエラーで間違いが見つかるようになって欲しい)。
86:デフォルトの名無しさん
20/06/29 23:01:08.25 g8mEh1IE.net
くどい。素直にクラスで包め
87:デフォルトの名無しさん
20/06/29 23:11:12.20 o17FnYvx.net
それ以外に方法はないの?
ないならしょうがないが。
88:デフォルトの名無しさん
20/06/30 12:16:45 FwIuBGzE.net
あるいは少し反則気味に(this as java.lang.Object).getClass()みたいにするか
89:デフォルトの名無しさん
20/06/30 15:25:08.90 rhjTl/Wy.net
>>87
それって this.javaClass なのではないか?
90:デフォルトの名無しさん
20/07/01 05:11:07.30 AKcI9U0q.net
firebaseのrealtimedatabaseで自分が開発したアプリからのみ
読み書きできるようにするにはどうしたら良いんでしょうか
userAgent的なものをコンソール画面のルールのところでチェックしたりできるんでしょうか
91:デフォルトの名無しさん
20/07/01 19:27:33 AKcI9U0q.net
ProgressDialogがdeprecatedですが
削除して全画面半透明viewの中心にProgressBar置くぐらいなら
ProgressBar使った方が良くないですか
92:デフォルトの名無しさん
20/07/01 19:34:26.43 eF9wthZx.net
>>90
そうだね、ProgressBar使った方がいいね(あげ足取り)
そうじゃなくて、
どんな場合でも画面の操作を一切受け付けなくする設計は素人の証、
だからProgressDialogみたいなものは使うんじゃねぇとgoogle様からの教えだ
黙って従いたまえよキミ
93:デフォルトの名無しさん
20/07/01 20:09:22.09 a12KSEwv.net
でも安全だよ?
94:デフォルトの名無しさん
20/07/02 05:47:16 ulMiJXWd.net
でも一切受け付けなくして待ちたいときあるよね
95:デフォルトの名無しさん
20/07/02 07:25:27.22 ulMiJXWd.net
ログイン画面でユーザー名とパスワードのEditTextと
ログインボタンしかUIがない場合に
ログインボタン押したあとProgressDialog出さずにどうするつもりなん
通信結果が返ってくるまで全部のUIのvisibilityをgoneにでもするん
それが良いUI・UXなんですかねええ
96:デフォルトの名無しさん
20/07/02 09:16:47.94 MnuZDw2f.net
非推奨のものを意地でも使おうとする意味がよくわからん
97:デフォルトの名無しさん
20/07/02 11:47:46.08 AcKKXw8x.net
むしろ非推奨にしてる意味がわからんから
98:デフォルトの名無しさん
20/07/02 11:54:29 5Xusq7Sp.net
>>96
言語仕様に論理的な正しさを求めてはダメだろう。
99:デフォルトの名無しさん
20/07/02 12:12:47.93 SlMExULc.net
非推奨の理由はJavaDocに書いてある
日本人は安心安全安価に異様に執着するから使いたい気持ちは分かる
米国人は自由が大好きだから戻るボタンとかが押せなくなると訴訟か銃撃
開発者にとって便利なシーンがあったとしても、安易に多用されることでOS全体がダサくて使いにくいとエンドユーザーに判断されるとブランドイメージにも悪い
100:デフォルトの名無しさん
20/07/02 17:18:28.92 wDUyJN1f.net
> 戻るボタンとかが押せなくなると訴訟か銃撃
まじか・・過激だな米国人は
101:デフォルトの名無しさん
20/07/02 18:34:20.74 bZhoxtgp.net
ログインしたけど、あーやっぱやーめた
戻ろっと、て、アレ?戻れねーじゃん、クソが!
102:デフォルトの名無しさん
20/07/02 19:26:28.90 UQCWo3pR.net
OpenGLと加速度センサー使った玉転がしかなんかのサンプルってないかな?
surfaceViewしか見つからない
103:デフォルトの名無しさん
20/07/02 19:58:07.16 EzfTqGB2.net
玉ころがしとはエロいな
104:デフォルトの名無しさん
20/07/02 21:25:16.04 FLhxmghE.net
てかたかだかログイン如きでRrogressdialog使うことなんてあるか?w
105:デフォルトの名無しさん
20/07/02 21:38:42 ulMiJXWd.net
銀行系のアプリ開くと全画面半透明に中央グルグルなるな
106:デフォルトの名無しさん
20/07/02 23:00:33 A8gH83ew.net
ここの奴らってJavaから入った口か?
いきなりコトリンマンって案外少ないよな
107:デフォルトの名無しさん
20/07/03 00:00:17.92 vP0l+9Os.net
いきコトだからjavaも同時進行で学んでる
javaは見て何してるか分かればいいって考えでとりあえずkotlin化してる
ちなみに変換は使わない、無駄にnullまみれになるから
108:デフォルトの名無しさん
20/07/03 00:06:46 vP0l+9Os.net
OpenGLはRendererに値送りたいんだけど継承がGLSurface View.RendererでViewじゃないからcontextが渡せない
だからセンサーの値が届かない
109:デフォルトの名無しさん
20/07/03 05:46:43.96 p8ISefzH.net
>>107
どっちもインターフェースかな?
KotlinじゃないJavaですが
//GLアクティビティクラス作って
public class MyGLactivity extends Activity implements GLSurfaceView.Renderer{}
//センサー付きリスナーからメインを更新させて
public class MyAccelListener implements SensorEventListener{
public MyAccelListener(MainView view){MainView=view;}
public void onSensorChanged (SensorEvent event){mainView.invalidate();}
}
//メイン
public class MainView extends View
{
MyGLactivity activity;
//コンストラクタ
public MainView (Context context)
{
activity = (MyGLactivity)context;//キャストしたらダメかな?
}
protected void onDraw(Canvas canvas)
{
MyAccelListener listener = activity.getMyAccelListener();
}
110:デフォルトの名無しさん
20/07/03 06:28:34.63 vP0l+9Os.net
>>108
ありがと
頑張ってkotlin化してみます
111:デフォルトの名無しさん
20/07/03 09:25:49.82 uNjU4ACR.net
gpsの後進タイミングって何秒くらいが推奨なんですかね
112:デフォルトの名無しさん
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派で揉める
やめとけ