JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
探検
Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
117デフォルトの名無しさん
2017/04/16(日) 13:23:05.16ID:FOOthHC9 一つのクラスに複数のアノテーション持てない感じ?
118デフォルトの名無しさん
2017/04/18(火) 07:19:21.21ID:q56THeJt このスレで言うのもなんだが、初心者の質問はTwitterで投げるのがいいよ
普及させたい人が定期的に検索して拾ってくれるから
普及させたい人が定期的に検索して拾ってくれるから
119115
2017/04/22(土) 21:58:39.69ID:8rHjbk1S120デフォルトの名無しさん
2017/04/23(日) 10:19:21.32ID:9Bq1d30L suspend関数ってコルーチンの中でしか使えないってことは、そこらじゅうlaunchの類だらけになるってこと?笑
まだ滅多に使用例のってるブログとかみかけないね。
生き残れるのか?これw
>>119 https://github.com/pljp/kotlin-coroutines/blob/japanese_translation/kotlin-coroutines-informal.md#状態マシン
まだ滅多に使用例のってるブログとかみかけないね。
生き残れるのか?これw
>>119 https://github.com/pljp/kotlin-coroutines/blob/japanese_translation/kotlin-coroutines-informal.md#状態マシン
121デフォルトの名無しさん
2017/04/28(金) 17:34:29.34ID:80AWOTNk ことりん擬人化まだ?
122デフォルトの名無しさん
2017/05/01(月) 23:00:23.52ID:+TVy5Krd Rubyの、p, pp みたいに、自動的に、コンテナ内を展開して、
中のオブジェクトを、コンソールに表示してくれる、デバッグ用関数はありますか?
p コンテナ・オブジェクト
中のオブジェクトを、コンソールに表示してくれる、デバッグ用関数はありますか?
p コンテナ・オブジェクト
123デフォルトの名無しさん
2017/05/04(木) 00:18:07.49ID:lRx89izX ない
そんなもんIDEのデバッガで止めて見ればいいだろ
そんなもんIDEのデバッガで止めて見ればいいだろ
124デフォルトの名無しさん
2017/05/04(木) 00:39:59.73ID:7TNYL3q7 それはダサいわ
125デフォルトの名無しさん
2017/05/13(土) 22:26:26.42ID:UQoi629m なんか折りたたみすぎるんだよな〜
126デフォルトの名無しさん
2017/05/18(木) 03:33:23.69ID:DKg0Na73 大勝利キタ━━━━(゚∀゚)━━━━ !!!!
127デフォルトの名無しさん
2017/05/18(木) 03:35:35.85ID:Wz6O2oVO きたな
128デフォルトの名無しさん
2017/05/18(木) 03:38:32.99ID:l26+mVZr まじか
129デフォルトの名無しさん
2017/05/18(木) 08:19:21.98ID:6xLYhPbf アプデかなんか来たの?
130デフォルトの名無しさん
2017/05/18(木) 08:34:44.83ID:eCnYzL6s Androidでのファーストクラスサポートだそうですよ
131デフォルトの名無しさん
2017/05/18(木) 08:35:35.63ID:zgtLgueR Today, at the Google I/O keynote, the Android team announced first-class support for Kotlin.
だって。
だって。
132デフォルトの名無しさん
2017/05/18(木) 09:08:10.23ID:PzmNC1sh ファーストクラスってなんですか?
133デフォルトの名無しさん
2017/05/18(木) 09:13:30.93ID:zw0yFHDv ビジネスクラスより上
134デフォルトの名無しさん
2017/05/18(木) 09:37:46.74ID:cqnkW2Fd 例の訴訟絡みでjvm捨てると思ってたんだがなあ
135デフォルトの名無しさん
2017/05/18(木) 10:06:03.05ID:L+z+Rh5o 記念アゲ (・8・)
136デフォルトの名無しさん
2017/05/18(木) 12:11:08.36ID:zgtLgueR Android Studioで標準サポートになる、つうことだろ。
137デフォルトの名無しさん
2017/05/18(木) 12:12:50.95ID:NEKf9u2/ AndroidがKotlinサポートか
Java使わなくていい場面増えるのは歓迎だけど
C#のが良かった
https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
Java使わなくていい場面増えるのは歓迎だけど
C#のが良かった
https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
138デフォルトの名無しさん
2017/05/18(木) 12:17:09.11ID:w2PMjkvW GWにkotlin始めて書きやすいなと思ってた俺大勝利
139デフォルトの名無しさん
2017/05/18(木) 12:38:42.71ID:zgtLgueR140デフォルトの名無しさん
2017/05/18(木) 12:57:50.54ID:3vvtk3AJ いまJavaを使ってる人を救うことを考えたらまずはKotlinだろうね
141デフォルトの名無しさん
2017/05/18(木) 13:16:17.63ID:XKDAC558 まじかよ
コトリン大好きな俺大勝利じゃん
祝杯や
コトリン大好きな俺大勝利じゃん
祝杯や
142デフォルトの名無しさん
2017/05/18(木) 13:21:33.03ID:9vmsiCj/ やったぜ
143デフォルトの名無しさん
2017/05/18(木) 13:23:06.77ID:yATb/f/P えっちだぁw
144デフォルトの名無しさん
2017/05/18(木) 15:12:54.92ID:d+oDyp66 日本Kotlinユーザグループ代表、長澤 太郎
Kotlinスタートブック -新しいAndroidプログラミング、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
m, 10
a, 5
m, 2
こういう行区切りのデータがある時、文字列・数値の順番で、ソートするにはどうするの?
Kotlinスタートブック -新しいAndroidプログラミング、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
m, 10
a, 5
m, 2
こういう行区切りのデータがある時、文字列・数値の順番で、ソートするにはどうするの?
145デフォルトの名無しさん
2017/05/18(木) 15:28:16.59ID:/Shfsuc2 KotlinじゃなくSwiftでも良いのにな
確か、Android向けのクロスビルドができるようになってたろ
確か、Android向けのクロスビルドができるようになってたろ
146デフォルトの名無しさん
2017/05/18(木) 16:57:05.60ID:sDwtWkJp AppleがGoを公式採用するくらいあり得ないことだな
147デフォルトの名無しさん
2017/05/18(木) 17:15:26.94ID:zgtLgueR148デフォルトの名無しさん
2017/05/18(木) 18:29:24.60ID:xYh7ZO1T 競技プログラミングでKotlinを覚えるか…
149デフォルトの名無しさん
2017/05/18(木) 23:54:53.47ID:s8Za2vto >>70
念願かなったね。おめでとう。
念願かなったね。おめでとう。
150デフォルトの名無しさん
2017/05/19(金) 08:25:10.64ID:Yy4p2hUQ >>144 自己レス
class Person(val age: Int, val name: String) { }
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println("${it.age} : ${it.name}")
}
出力
20 : Alice
20 : Kate
25 : Dave
25 : Tom
class Person(val age: Int, val name: String) { }
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println("${it.age} : ${it.name}")
}
出力
20 : Alice
20 : Kate
25 : Dave
25 : Tom
151デフォルトの名無しさん
2017/05/19(金) 13:20:04.25ID:JnsQ7Gr+ ニュース見て始めて半日くらいの調べもの堪え性のない人が質問です!
それはそうと初心者スレとか質問スレとかあってもいいかもしれないですね!
>>> var list = listOf(10, 20, 30)
>>> list[1] + 5
25
>>> var map = mapOf(1 to 10, 2 to 20, 3 to 30)
>>> map[1] + 5
error: infix call corresponds to a dot-qualified call 'map[1].plus(5)' which is not allowed on a nullable receiver 'map[1]'. Use '?.'-qualified call instead
>>> map[1]?.plus(5)
15
入ってる数字をあとで計算とかに使いたいだけなんですがどこの考え方間違ってるんでしょうか
それはそうと初心者スレとか質問スレとかあってもいいかもしれないですね!
>>> var list = listOf(10, 20, 30)
>>> list[1] + 5
25
>>> var map = mapOf(1 to 10, 2 to 20, 3 to 30)
>>> map[1] + 5
error: infix call corresponds to a dot-qualified call 'map[1].plus(5)' which is not allowed on a nullable receiver 'map[1]'. Use '?.'-qualified call instead
>>> map[1]?.plus(5)
15
入ってる数字をあとで計算とかに使いたいだけなんですがどこの考え方間違ってるんでしょうか
152デフォルトの名無しさん
2017/05/19(金) 20:24:00.83ID:t+9TXaRk >>70
おめ
おめ
153デフォルトの名無しさん
2017/05/19(金) 20:34:19.80ID:Ig6oJN7I >>71
これは恥ずかしいwwww
これは恥ずかしいwwww
154デフォルトの名無しさん
2017/05/19(金) 22:29:26.32ID:HhPXEO/A じゃ今後のAndroidのライブラリにはKotlinで書かれてるものの出てくるのかな?
155デフォルトの名無しさん
2017/05/20(土) 00:38:31.20ID:ap8WyFQI それはないだろう
156デフォルトの名無しさん
2017/05/20(土) 02:32:08.53ID:WmFfeyqJ >>151
map[何々]が、nullable だから。
map[1]は存在するけど、map[4]なら存在しない
map[1].plus(5)なら、map[1](レシーバー)がnullableだから、
null.plus(5)の場合にバグるから、?. null許容演算子を使う
map[何々]が、nullable だから。
map[1]は存在するけど、map[4]なら存在しない
map[1].plus(5)なら、map[1](レシーバー)がnullableだから、
null.plus(5)の場合にバグるから、?. null許容演算子を使う
157デフォルトの名無しさん
2017/05/20(土) 15:30:08.83ID:LOC45URm Javaの仕様がそのまま引き継がれてるんだな
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね
158デフォルトの名無しさん
2017/05/20(土) 15:41:06.41ID:8ml7mLK3 getOrNullとかあるよ
159デフォルトの名無しさん
2017/05/20(土) 19:38:14.41ID:NqXZxUdZ Android StudioでのIntelliJ Kotlinプラグインが公式サポートされただけでAndroid System LibにKotlinクラス群が入ったわけじゃないんだよなぁ
>>154
今までと変わらずやる気になれば出るし、やる気にならなければ出ない程度かと
別段メリットがあるようには思えないけど、誰かKotlin Androidライブラリプロジェクトテンプレート作ってくれよ
>>154
今までと変わらずやる気になれば出るし、やる気にならなければ出ない程度かと
別段メリットがあるようには思えないけど、誰かKotlin Androidライブラリプロジェクトテンプレート作ってくれよ
160デフォルトの名無しさん
2017/05/20(土) 20:11:09.01ID:LOC45URm 企業内での使用はGoogle公式かどうかですごい影響あるよ
161デフォルトの名無しさん
2017/05/21(日) 10:31:28.30ID:4E+x2A2G これをきにコトリンを始める人がいっぱいいそうだが
ほとんど人が挫折するんだろうな
ほとんど人が挫折するんだろうな
162デフォルトの名無しさん
2017/05/21(日) 10:35:53.77ID:W3P4J6B5 こんな簡単な言語で挫折する要素とは
163デフォルトの名無しさん
2017/05/21(日) 10:40:32.81ID:tBEndF3S Kotlin言語そのものは難しくないがJavaの言語に加えて
Javaのライブラリまで含めて覚えないといけなそうだから
C#より敷居が高い
Javaのライブラリまで含めて覚えないといけなそうだから
C#より敷居が高い
164デフォルトの名無しさん
2017/05/21(日) 11:08:54.99ID:h5RyjkDf kotlinにはtypescriptのtsserverみたいに補完機能はないんでしょうか?
165デフォルトの名無しさん
2017/05/21(日) 11:33:04.16ID:W3P4J6B5 第一級開発言語に指定したんやからfwは全てkotlinラッパを出すやろ
166デフォルトの名無しさん
2017/05/21(日) 12:33:48.18ID:sr6r/1gA ?なvarをif != null したら!!いらないようにしてほしいな〜
valに入れ直すのはスマートじゃないよ
valに入れ直すのはスマートじゃないよ
167デフォルトの名無しさん
2017/05/21(日) 13:24:08.34ID:tU5Dlyyu168デフォルトの名無しさん
2017/05/21(日) 18:45:53.63ID:UuW+xgyM >>> var map = mapOf(1 to 10,2 to 20)
>>> map[3]
null
>>> var list = listOf(10,20)
>>> list[3]
java.lang.ArrayIndexOutOfBoundsException: 5
at java.util.Arrays$ArrayList.get(Arrays.java:3841)
>>157の言う通り、究極的にはこのしょーもない内部仕様のせいである
この仕様を知ってるKotlinがmap作った時点で全要素Nullableにしてくれてるのだね
>>> var value = map[2]
>>> value
20
>>> value + 5
error: infix call corresponds to a dot-qualified call 'value.plus(5)' which is not allowed on a nullable receiver 'value'. Use '?.'-qualified call instead
>>> var value:Int = map[2]
error: type mismatch: inferred type is Int? but Int was expected
このへんも、Null安全のない言語から来た人はふんす!!ってなると思われ
>>> map[3]
null
>>> var list = listOf(10,20)
>>> list[3]
java.lang.ArrayIndexOutOfBoundsException: 5
at java.util.Arrays$ArrayList.get(Arrays.java:3841)
>>157の言う通り、究極的にはこのしょーもない内部仕様のせいである
この仕様を知ってるKotlinがmap作った時点で全要素Nullableにしてくれてるのだね
>>> var value = map[2]
>>> value
20
>>> value + 5
error: infix call corresponds to a dot-qualified call 'value.plus(5)' which is not allowed on a nullable receiver 'value'. Use '?.'-qualified call instead
>>> var value:Int = map[2]
error: type mismatch: inferred type is Int? but Int was expected
このへんも、Null安全のない言語から来た人はふんす!!ってなると思われ
169デフォルトの名無しさん
2017/05/21(日) 20:26:44.09ID:9L9dm7b/170デフォルトの名無しさん
2017/05/21(日) 20:46:52.64ID:RH0jdAto 最終的に訴訟のネタにもなってるjavaを切り離す方向まで行かないんですかね。
171デフォルトの名無しさん
2017/05/21(日) 21:44:40.19ID:mFn/WD+c VMの問題なんだからいまさらどうしようもないだろ。
172デフォルトの名無しさん
2017/05/21(日) 22:54:56.67ID:1evlh7eH Ruby, JS などで、メソッドチェーンすると、
nil オブジェクトから、メソッドを呼べないと言う、
No Method Error なんて、しょっちゅう起こるし、
メソッドチェーンはテストも、しにくい
nil オブジェクトから、メソッドを呼べないと言う、
No Method Error なんて、しょっちゅう起こるし、
メソッドチェーンはテストも、しにくい
173デフォルトの名無しさん
2017/05/22(月) 01:22:13.90ID:yjMvX9x8 素のkotlinでは使えるけどAndroidのkotlinでは使えないのってある?
174デフォルトの名無しさん
2017/05/22(月) 01:48:31.03ID:97nOcTMK Nullableかどうかは書き手が決められるのがステキとか言っておきながら
mapOfだと"暗黙の"Nullableになるように見えるのが初心者的にキモいという主張だろう
誰もNullableの有用性の議論などしてない
読点君には理解できんだろうが
mapOfだと"暗黙の"Nullableになるように見えるのが初心者的にキモいという主張だろう
誰もNullableの有用性の議論などしてない
読点君には理解できんだろうが
175デフォルトの名無しさん
2017/05/22(月) 06:16:11.80ID:jD5FXPee >>170-171
VMじゃなくAPI(ライブラリ実装)の問題でしょ
Sun(現Oracle)の作った全Java APIを放棄してKotlinで一から作れば訴訟問題からは無関係になれる
まぁ、GoogleもJetbrainsもお互いに「お前がやれ」とか思ってそうだけど
Google: KotlinはJetbrainsのモノなんだから、JetbrainsがKotlin APIを整備するべき
Jetbrains: Java訴訟はGoogleの問題なんだから、GoogleがKotlin APIを整備するべき
VMじゃなくAPI(ライブラリ実装)の問題でしょ
Sun(現Oracle)の作った全Java APIを放棄してKotlinで一から作れば訴訟問題からは無関係になれる
まぁ、GoogleもJetbrainsもお互いに「お前がやれ」とか思ってそうだけど
Google: KotlinはJetbrainsのモノなんだから、JetbrainsがKotlin APIを整備するべき
Jetbrains: Java訴訟はGoogleの問題なんだから、GoogleがKotlin APIを整備するべき
176デフォルトの名無しさん
2017/05/22(月) 08:14:55.23ID:fxLikn6a map を実装する場合、普通は、2種類書く
そのキーが無い場合、
null を返すものと、例外をthrow するもの
nullable になるのは、null を返すもの
そのキーが無い場合、
null を返すものと、例外をthrow するもの
nullable になるのは、null を返すもの
177デフォルトの名無しさん
2017/05/22(月) 08:34:20.91ID:7g15jPZv178デフォルトの名無しさん
2017/05/22(月) 09:45:07.45ID:WLj9ZHQ7 >>177
確かそのapiのインターフェース自体に著作権があるというのがoracleの主張だったはず
確かそのapiのインターフェース自体に著作権があるというのがoracleの主張だったはず
179デフォルトの名無しさん
2017/05/22(月) 09:46:09.30ID:jD5FXPee OpenJDKにもVM実装は含まれてるんだけどなw
Oracle JVMとOpenJDK JVMで微妙に要件や振る舞い違うって業界の人は頭抱えるけどまぁ誤差か
Oracle JVMとOpenJDK JVMで微妙に要件や振る舞い違うって業界の人は頭抱えるけどまぁ誤差か
180デフォルトの名無しさん
2017/05/22(月) 09:46:23.44ID:NZ0IuE42 擬人化まだかよ
無能どもめ
無能どもめ
181デフォルトの名無しさん
2017/05/22(月) 09:52:42.83ID:WLj9ZHQ7 >>175
Androidのapiインターフェースの話をしてるんだからgoogleじゃない?
でもjavaと切り離すなんてできないだろうから、少しずつやってくしかないね。
コレクション系の独自実装とか始まったりして
swiftもobjective-cの文字列型とswiftの文字列型があってapiインターフェース呼び出しの際に暗黙の型変換が行われてた。
そんな感じになるのかな。かなりキモいけど
Androidのapiインターフェースの話をしてるんだからgoogleじゃない?
でもjavaと切り離すなんてできないだろうから、少しずつやってくしかないね。
コレクション系の独自実装とか始まったりして
swiftもobjective-cの文字列型とswiftの文字列型があってapiインターフェース呼び出しの際に暗黙の型変換が行われてた。
そんな感じになるのかな。かなりキモいけど
182デフォルトの名無しさん
2017/05/22(月) 18:40:23.05ID:jD5FXPee 「apiインターフェース」の「頭痛が痛い」みたいな表現、嫌いじゃない:D
>>160
その昔、Apple公式だからという点のみで流行ったSwiftという言語があってな・・・
あれも技術を知らない企画屋がそんな感じで企業内採用を提案したんだよな、嫌な事件だったね
>>160
その昔、Apple公式だからという点のみで流行ったSwiftという言語があってな・・・
あれも技術を知らない企画屋がそんな感じで企業内採用を提案したんだよな、嫌な事件だったね
183デフォルトの名無しさん
2017/05/23(火) 19:42:46.96ID:dGC6uRRV null非許容って使ってみると地味に結構不便だな…
今までとは根本的に設計方針を変えなきゃならないものがあるなぁ…
今までとは根本的に設計方針を変えなきゃならないものがあるなぁ…
184デフォルトの名無しさん
2017/05/23(火) 19:49:01.45ID:IihgumLk var a : String? = null
185デフォルトの名無しさん
2017/05/23(火) 20:27:48.65ID:oZAHFLLi 型安全でないnull使うより、その型のnull定数を定義するほうが楽だよ。
186デフォルトの名無しさん
2017/05/23(火) 20:49:32.53ID:Hx0L3jS4 val hoge;
{
{
187デフォルトの名無しさん
2017/05/23(火) 21:06:38.96ID:cBJ7DVw+ null参照の概念は10億ドル単位の過ちってそれ一番言われてるしなw
偉人の言葉を信仰心と共に信じるべし
偉人の言葉を信仰心と共に信じるべし
188デフォルトの名無しさん
2017/05/23(火) 21:36:52.74ID:gX8pe08F ぬるぽ
189デフォルトの名無しさん
2017/05/24(水) 01:18:07.88ID:9HF6LZlN190デフォルトの名無しさん
2017/05/24(水) 12:26:54.17ID:t8jtcsol intellij、if式を折りたたまないようにするオプションはどこですか?
191デフォルトの名無しさん
2017/05/24(水) 12:44:50.63ID:t8jtcsol >>189
たとえばintefaceのnotnullなプロパティを亜種的なクラスでnullableにオーバーライド、できないよねぇ。
個人レベルの開発ならそこらへんの曖昧さはかえって便利な場合もあったんだけどね。
まぁ最初から全部nullableにしちゃえば済む話だが9割の非nullに全部?なり!!を付けるのはキモい。
javaコードをそのまんまkotlinコードに移行は、できなくはないけどキモいコードになる。
たとえばintefaceのnotnullなプロパティを亜種的なクラスでnullableにオーバーライド、できないよねぇ。
個人レベルの開発ならそこらへんの曖昧さはかえって便利な場合もあったんだけどね。
まぁ最初から全部nullableにしちゃえば済む話だが9割の非nullに全部?なり!!を付けるのはキモい。
javaコードをそのまんまkotlinコードに移行は、できなくはないけどキモいコードになる。
192デフォルトの名無しさん
2017/05/24(水) 14:28:45.40ID:Fp8uMQ/t Λ_Λ \\
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >_Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>188
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >_Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>188
193デフォルトの名無しさん
2017/05/24(水) 15:15:47.70ID:9HF6LZlN >>191
わざわざnullableなプロパティを含むインターフェースを使う意味がわかんない。ちゃんとnullチェックして渡せば良いじゃない。
わざわざnullableなプロパティを含むインターフェースを使う意味がわかんない。ちゃんとnullチェックして渡せば良いじゃない。
194デフォルトの名無しさん
2017/05/25(木) 00:19:31.03ID:Mhkkcekf >>193
自分もそんなコードが欲しくなるとは予想しなかったけどな笑
nullであることを利用して動作変える派生クラスをkotlin化しようとして躓いたわ。
結局設計を変えることで対応したけどね。javaで使えてたトリッキーな手は使えなくなった不便さがあるね、便利さの陰に。
まぁ慣れの問題だが。
自分もそんなコードが欲しくなるとは予想しなかったけどな笑
nullであることを利用して動作変える派生クラスをkotlin化しようとして躓いたわ。
結局設計を変えることで対応したけどね。javaで使えてたトリッキーな手は使えなくなった不便さがあるね、便利さの陰に。
まぁ慣れの問題だが。
195デフォルトの名無しさん
2017/05/25(木) 04:40:51.77ID:FYZ1kIH6 androidだとonCreateで初期化するような変数はnullableにしなきゃいけないのかと思ってたけど、lateinitってあるのね
個人的にはそこそこ使うから@とかの記号にしてほしかったけど
個人的にはそこそこ使うから@とかの記号にしてほしかったけど
196デフォルトの名無しさん
2017/05/25(木) 06:20:09.08ID:5itOJ4P9 プロパティが、最初からデフォルト値を持っていたら、ダメなのか?
どうしても、nullが必要なのか?
どうしても、nullが必要なのか?
197デフォルトの名無しさん
2017/05/25(木) 08:51:21.17ID:iRBHnHtq nullオブジェクト使わないの?
198デフォルトの名無しさん
2017/05/25(木) 09:21:48.18ID:VyhgnQr+ 関数の戻り値の型ならnullable欲しいな
戻り値がnullになるとき毎回exceptionをthrowするのかって話
戻り値がnullになるとき毎回exceptionをthrowするのかって話
199デフォルトの名無しさん
2017/05/25(木) 09:23:32.29ID:E3n3KUhW え?ww
200デフォルトの名無しさん
2017/05/25(木) 09:37:46.25ID:VyhgnQr+ 例えば数値を文字列として格納してるデータをファイルとかDBとかから取り出すとき
その値は数値としてしか使わないけどもしかしたらnullな場合もある
getter関数作るのにgetterでは必ず文字列として取得して変換可能か判断してから数値にする処理を毎回するか変換できなかったらcatchするのか
そんな場合なnullableがあれば外からみた関数の使い方はシンプルにできる
その値は数値としてしか使わないけどもしかしたらnullな場合もある
getter関数作るのにgetterでは必ず文字列として取得して変換可能か判断してから数値にする処理を毎回するか変換できなかったらcatchするのか
そんな場合なnullableがあれば外からみた関数の使い方はシンプルにできる
201デフォルトの名無しさん
2017/05/25(木) 11:19:50.16ID:iRBHnHtq だからnullオブジェクトを用意して使えって。
型安全でないnullなんか窓から投げ捨てろ。
型安全でないnullなんか窓から投げ捨てろ。
202デフォルトの名無しさん
2017/05/25(木) 11:20:19.76ID:5itOJ4P9 入力欄のオプショナルな項目か
携帯電話を持っていれば、その番号を記入して、みたいな奴か
携帯電話を持っていれば、その番号を記入して、みたいな奴か
203デフォルトの名無しさん
2017/05/25(木) 11:26:27.67ID:/eJUHzjl 頭が時代についていってないようだなw
204デフォルトの名無しさん
2017/05/25(木) 22:55:58.94ID:HKNQp0n4 元々はアドレスだったことを思い出せば功罪がわかる
205デフォルトの名無しさん
2017/05/26(金) 05:24:14.29ID:Yn8sEtTn206デフォルトの名無しさん
2017/05/26(金) 07:38:30.45ID:Mhihnqx0 >>205
今時はなるべく完全コンストラクタを使って最初に一括で初期化し、
後は一切変更できないクラス設計が好まれるんだよ
C#は見境なく大量のgetsetプロパティを持つクラスを定義するバカが多いけど
今時はなるべく完全コンストラクタを使って最初に一括で初期化し、
後は一切変更できないクラス設計が好まれるんだよ
C#は見境なく大量のgetsetプロパティを持つクラスを定義するバカが多いけど
207デフォルトの名無しさん
2017/05/26(金) 09:51:12.09ID:5tQUvAE5 kotlin/nativeに期待
208デフォルトの名無しさん
2017/05/26(金) 10:10:41.46ID:5tQUvAE5 nullチェックはもうちょっと痒いところまで手が届くといいね
たとえば if(a == 0 && b?. == "hoge") {...} で2つめはnullならパスしてくれる
みたいに書けたら便利
たとえば if(a == 0 && b?. == "hoge") {...} で2つめはnullならパスしてくれる
みたいに書けたら便利
209デフォルトの名無しさん
2017/05/26(金) 10:24:21.56ID:Heb9aC5z nullを使わなければいいと思うよ
210デフォルトの名無しさん
2017/05/26(金) 11:15:12.27ID:+T40nrdw >>205
コンパイルエラーにできるものを実行時に処理するのは良くない設計だな。
型無しのnullを使うとコンパイルエラーに出来なくなる。
nullオブジェクトでも実行時エラーは処理できるから、必要ならそうすりゃいいし。
コンパイルエラーにできるものを実行時に処理するのは良くない設計だな。
型無しのnullを使うとコンパイルエラーに出来なくなる。
nullオブジェクトでも実行時エラーは処理できるから、必要ならそうすりゃいいし。
211デフォルトの名無しさん
2017/05/26(金) 11:16:41.50ID:4K0JCbpq いぐざくとりいい!
212デフォルトの名無しさん
2017/05/26(金) 12:12:06.77ID:5tQUvAE5 >>209 と、いわれても既存APIにはnullableだらけだからなぁ
213デフォルトの名無しさん
2017/05/26(金) 12:28:01.13ID:Heb9aC5z そのAPIの中はそれで良いと思う
今後作るAPIについては別に過去をなぞる必要はないとも思うよ
今後作るAPIについては別に過去をなぞる必要はないとも思うよ
214デフォルトの名無しさん
2017/05/26(金) 12:46:21.42ID:ZNc2U8qB >>207
これってiosもうごくの?
これってiosもうごくの?
215デフォルトの名無しさん
2017/05/26(金) 22:05:46.36ID:xRlJL6be Kotlin/NativeをAndroid(NDK)で動かしたい
216205
2017/05/27(土) 00:21:30.12ID:q99eAiGg■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- ラッパー般若、カンボジアに井戸を掘ることを決意 MCバトルの賞金2000万の使い道として ABEMAにて無料配信 [muffin★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【高市フェリー】🇨🇳上海ー神戸・大阪🇯🇵を結ぶ国際定期フェリー「渡航の安全が確保できない」運航を中止 [485983549]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪
- 嫌儲民「高市と中国のホットライン繋がらない!ギャオギャオ!!」 防衛相「そんな事実はない」 これじゃケンモジただのバカじゃん… [279254606]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 54歳オッサンの晩飯がこちら
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
