Kotlin [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org さっき新宿の紀伊國屋書店行ったらKotlinイン・アクションもう置いてあったよ。
ということは多分大きい本屋ならもう売ってると思う。 >>973
まだパラパラめくって見ただけなので何とも言えないが、詳しく一通り書いてあるように見える。 初めてのまともな日本語の本でしょ
あのクソみたいなエバンジェリスト本(笑)をやっと駆逐できるな エバンジェリスト本?
ああ、まあ、 Technology evangelist か? 今日から始めます。
今インストール中。
よろしくお願いします。 ここは!
あなたの!
日記帳!
Javaを読めないとしんどいから、もしまだ知らないなら並行作業でちょっとずつやるといいよ
今からやっておくとだいたいKotlinわかったころに何かやりたくなっても「あっこれ進研ゼミでやったやつだ!」となって捗ること請け合い >>979
応援ありがとうございます。
Javaは少しだけやりました。
一応C#は使えるので、
kotlinやりながらJavaも覚えたいと思います。 data?.let {
...
}
でdataがNULLじゃないときだけ処理を実行できることは分かりました。
これにdataがNULLのときの処理も追加したい場合はどう書いたらいいんでしょうか
data?.let {
...
}?: {
}
みたいに書けないです。 ファイル入力の処理などの以下の処理が
while((line = br.readLine()) != null)
Kotlinだと、Assignments are not expressions, and only expressions are allowed in this context
のエラーになるんですが、Kotlinだとどう書いたらいいんでしょうか >>981
let{ ... } が null を飛ばしてラムダ式を実行することができるのはあくまで副次作用に過ぎない
条件分岐させたいのなら素直に when か if で書くべき
>>982
File(path).forEachLine { line -> println(line) } >>981
普通に if 使って書けば良いのでは? data?.let {
...
}?: {
...
}.invoke()
というのを見つけたんですが、?: run {}の方がいいんでしょうか >>986
だから条件分岐は条件分岐として書いてくれ
letはもともと
val hoge = Hoge()
hoge.mes1()
hoge.mes2()
と書く代わりに
Hoge().let{ it.mes1(); it.mes2() }
と書くことができるという構造だ
条件分岐の代わりに使っていいものじゃない
ネット上で観測される彼らは「間違っている」
参考にしてはならない えー。letってNULLチェック代わりに使うものじゃなかったの nullチェックは ?. の部分だ
letの中身が長くなればなるほど、それはletで書くべきではないということになる
今ここでこれ使うと1行で書けて変数に入れられるぜえ、とかだとapplyとか使うの考えるがまあその程度
letをnull回避として紹介してた人が今どんだけそれを日常的に使ってるかは個人的に興味があるよ
最初の紹介で使っただけなんじゃないかと思うんだよねえ
>>990超したので新スレおねがいします そもそものもともととして.?じゃ本当にnullが来たとき対処できないじゃないか
checkNotNull(value){ "valueがnullです" }
とかしないと不安にならないの x.?let {} ?: run {} は letのとこのブロックがnull返すと x がnullじゃなくても run のブロック実行しちまうだろ
x.?also {} ?: run {} にしとけよ >>992
?. を書いてメソッドチェーンを繋げなければならない状況自体、なにかおかしいからな
とっとと非nullを確定させるのが妥当
しかもわざわざスコープ内で覚えててくれるんだから、利用しない手はない このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 613日 0時間 16分 34秒 レス数が1000を超えています。これ以上書き込みはできません。