JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
探検
Kotlin [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
978デフォルトの名無しさん
2017/10/30(月) 21:53:49.20ID:pVIch9qW 今日から始めます。
今インストール中。
よろしくお願いします。
今インストール中。
よろしくお願いします。
979デフォルトの名無しさん
2017/10/30(月) 22:37:30.38ID:OufZdVP7 ここは!
あなたの!
日記帳!
Javaを読めないとしんどいから、もしまだ知らないなら並行作業でちょっとずつやるといいよ
今からやっておくとだいたいKotlinわかったころに何かやりたくなっても「あっこれ進研ゼミでやったやつだ!」となって捗ること請け合い
あなたの!
日記帳!
Javaを読めないとしんどいから、もしまだ知らないなら並行作業でちょっとずつやるといいよ
今からやっておくとだいたいKotlinわかったころに何かやりたくなっても「あっこれ進研ゼミでやったやつだ!」となって捗ること請け合い
980デフォルトの名無しさん
2017/10/30(月) 23:00:21.71ID:pVIch9qW981デフォルトの名無しさん
2017/10/31(火) 20:53:53.80ID:mFIgmMeH data?.let {
...
}
でdataがNULLじゃないときだけ処理を実行できることは分かりました。
これにdataがNULLのときの処理も追加したい場合はどう書いたらいいんでしょうか
data?.let {
...
}?: {
}
みたいに書けないです。
...
}
でdataがNULLじゃないときだけ処理を実行できることは分かりました。
これにdataがNULLのときの処理も追加したい場合はどう書いたらいいんでしょうか
data?.let {
...
}?: {
}
みたいに書けないです。
982デフォルトの名無しさん
2017/10/31(火) 21:01:44.57ID:mFIgmMeH ファイル入力の処理などの以下の処理が
while((line = br.readLine()) != null)
Kotlinだと、Assignments are not expressions, and only expressions are allowed in this context
のエラーになるんですが、Kotlinだとどう書いたらいいんでしょうか
while((line = br.readLine()) != null)
Kotlinだと、Assignments are not expressions, and only expressions are allowed in this context
のエラーになるんですが、Kotlinだとどう書いたらいいんでしょうか
983デフォルトの名無しさん
2017/10/31(火) 21:38:42.83ID:kBfCDZdZ984デフォルトの名無しさん
2017/10/31(火) 21:39:06.81ID:cTxMPZq4 >>981
普通に if 使って書けば良いのでは?
普通に if 使って書けば良いのでは?
985デフォルトの名無しさん
2017/10/31(火) 21:55:55.33ID:7/FAMo7N >>981
?: run {}
?: run {}
986デフォルトの名無しさん
2017/10/31(火) 22:06:34.40ID:mFIgmMeH data?.let {
...
}?: {
...
}.invoke()
というのを見つけたんですが、?: run {}の方がいいんでしょうか
...
}?: {
...
}.invoke()
というのを見つけたんですが、?: run {}の方がいいんでしょうか
987デフォルトの名無しさん
2017/10/31(火) 22:10:44.21ID:BGaLFLkz 癖のある言語ですね・・・
988デフォルトの名無しさん
2017/10/31(火) 22:16:51.16ID:kBfCDZdZ >>986
だから条件分岐は条件分岐として書いてくれ
letはもともと
val hoge = Hoge()
hoge.mes1()
hoge.mes2()
と書く代わりに
Hoge().let{ it.mes1(); it.mes2() }
と書くことができるという構造だ
条件分岐の代わりに使っていいものじゃない
ネット上で観測される彼らは「間違っている」
参考にしてはならない
だから条件分岐は条件分岐として書いてくれ
letはもともと
val hoge = Hoge()
hoge.mes1()
hoge.mes2()
と書く代わりに
Hoge().let{ it.mes1(); it.mes2() }
と書くことができるという構造だ
条件分岐の代わりに使っていいものじゃない
ネット上で観測される彼らは「間違っている」
参考にしてはならない
989デフォルトの名無しさん
2017/10/31(火) 22:20:26.16ID:mFIgmMeH えー。letってNULLチェック代わりに使うものじゃなかったの
990デフォルトの名無しさん
2017/10/31(火) 22:28:56.76ID:kBfCDZdZ nullチェックは ?. の部分だ
letの中身が長くなればなるほど、それはletで書くべきではないということになる
今ここでこれ使うと1行で書けて変数に入れられるぜえ、とかだとapplyとか使うの考えるがまあその程度
letをnull回避として紹介してた人が今どんだけそれを日常的に使ってるかは個人的に興味があるよ
最初の紹介で使っただけなんじゃないかと思うんだよねえ
>>990超したので新スレおねがいします
letの中身が長くなればなるほど、それはletで書くべきではないということになる
今ここでこれ使うと1行で書けて変数に入れられるぜえ、とかだとapplyとか使うの考えるがまあその程度
letをnull回避として紹介してた人が今どんだけそれを日常的に使ってるかは個人的に興味があるよ
最初の紹介で使っただけなんじゃないかと思うんだよねえ
>>990超したので新スレおねがいします
991デフォルトの名無しさん
2017/10/31(火) 22:29:35.46ID:6MYbZ/26 Wikipediaとか参考文献にしてそう
992デフォルトの名無しさん
2017/10/31(火) 22:47:55.01ID:wyGoJvua そもそものもともととして.?じゃ本当にnullが来たとき対処できないじゃないか
checkNotNull(value){ "valueがnullです" }
とかしないと不安にならないの
checkNotNull(value){ "valueがnullです" }
とかしないと不安にならないの
993デフォルトの名無しさん
2017/10/31(火) 23:34:28.34ID:E21Np2eC それならKotlin使うのやめろよ
994デフォルトの名無しさん
2017/10/31(火) 23:39:23.74ID:u3Drl61J >>992
何言ってんの
何言ってんの
995デフォルトの名無しさん
2017/10/31(火) 23:49:38.22ID:BBLfUUwS996デフォルトの名無しさん
2017/11/01(水) 00:08:55.25ID:jxmKQQAl 次スレ
http://mevius.5ch.net/test/read.cgi/tech/1509462463/
2ch.net でないとうまく開かない専ブラの人は以下のURL
http://mevius.2ch.net/test/read.cgi/tech/1509462463/
http://mevius.5ch.net/test/read.cgi/tech/1509462463/
2ch.net でないとうまく開かない専ブラの人は以下のURL
http://mevius.2ch.net/test/read.cgi/tech/1509462463/
997デフォルトの名無しさん
2017/11/01(水) 00:46:22.34ID:1EENXbRG x.?let {} ?: run {} は letのとこのブロックがnull返すと x がnullじゃなくても run のブロック実行しちまうだろ
x.?also {} ?: run {} にしとけよ
x.?also {} ?: run {} にしとけよ
998デフォルトの名無しさん
2017/11/01(水) 00:52:45.72ID:pp6VRjc6 >>992
?. を書いてメソッドチェーンを繋げなければならない状況自体、なにかおかしいからな
とっとと非nullを確定させるのが妥当
しかもわざわざスコープ内で覚えててくれるんだから、利用しない手はない
?. を書いてメソッドチェーンを繋げなければならない状況自体、なにかおかしいからな
とっとと非nullを確定させるのが妥当
しかもわざわざスコープ内で覚えててくれるんだから、利用しない手はない
999デフォルトの名無しさん
2017/11/01(水) 02:02:04.51ID:x/3omok5 999
1000デフォルトの名無しさん
2017/11/01(水) 02:02:35.06ID:x/3omok5 1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 613日 0時間 16分 34秒
新しいスレッドを立ててください。
life time: 613日 0時間 16分 34秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- タイがカンボジアを空爆、トランプ氏仲介の和平合意は“事実上崩壊”軍事衝突へ タイ首相「もはや対話の余地ない」 [お断り★]
- VIPにも一人くらいは人肉食べたいやつとかいるのかな?
- すまん、飲食チェーン店での一幕なんだがオマエラはこれを見て何を思うかおしえてくれ。
- 粗品「南原が3億も貰えんの?」 [279254606]
- 朝雑談
- 毎日菊花茶飲んでたら美肌になったよ
- 【朗報】VTuber、とうとうスパロボに参戦する
