JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
前スレ
Kotlin
http://mevius.5ch.net/test/read.cgi/tech/1456505161/
探検
Kotlin 2
■ このスレッドは過去ログ倉庫に格納されています
2017/11/01(水) 00:07:43.82ID:jxmKQQAl
572デフォルトの名無しさん
2018/02/16(金) 07:11:23.90ID:shLmPi2M (僕の周りでは)全然ない
(国内では)全然ない
(国内では)全然ない
573デフォルトの名無しさん
2018/02/16(金) 07:17:40.02ID:W9Ay2BhF 最近ネットに出て来るandroid周りのサンプルはほぼkotlinじゃない?
574デフォルトの名無しさん
2018/02/16(金) 09:05:39.78ID:3Bntq5A/ kotlinの実務経験ないやつは失業ざまあwww
575デフォルトの名無しさん
2018/02/16(金) 09:19:32.40ID:OW1usLwi 実務経験って、そもそも実務で使われてる所がまだ少なかろう。
576デフォルトの名無しさん
2018/02/16(金) 10:41:09.40ID:FgGKrURU 実際DroidKaigiのセッションスライドのコードはほぼKotlinだったし、実務もKotilnである割合はかなり増えてるでしょ。
自分も実務ではもう1年くらい使ってるし。
自分も実務ではもう1年くらい使ってるし。
577デフォルトの名無しさん
2018/02/16(金) 10:58:35.59ID:OW1usLwi そりゃAndroidだから増えてて当然な感じするが、世の中にはAndroidしかないわけではないからなあ。
578デフォルトの名無しさん
2018/02/16(金) 11:06:50.68ID:e2WRvV7P 俺は逆にandroidまったくやらんけどkotlinめっちゃ使ってるよ
ローカルのプログラムでもサーバーサイドでも
まだこういうのは少数派だろうけど
ローカルのプログラムでもサーバーサイドでも
まだこういうのは少数派だろうけど
579デフォルトの名無しさん
2018/02/16(金) 12:46:25.84ID:6HTN9r9U ああ。俺は趣味では使うよ。というか学習中なので敢えて使う感じ。Kotlinだとどう書けるかを調べながら書いてる感じ。
580デフォルトの名無しさん
2018/02/16(金) 12:47:35.63ID:ime2ev9d ながら勉強?
581デフォルトの名無しさん
2018/02/16(金) 12:58:29.56ID:6HTN9r9U ながらというか、CやPerlなら仕事で何十年も使ってて間が働くからどう書くかはすぐ想像できる(Javaも趣味で20年ぐらいやってるのでなんとなくわかる)んだが、
Kotlinはそれと似たようにも書けるしKotlinならではの書き方もできるわけで、その辺のKpylin的な書き方を学習してる感じ。
Kotlinはそれと似たようにも書けるしKotlinならではの書き方もできるわけで、その辺のKpylin的な書き方を学習してる感じ。
582デフォルトの名無しさん
2018/02/16(金) 12:59:00.48ID:6HTN9r9U 間がじゃない、勘がだ。
583デフォルトの名無しさん
2018/02/16(金) 13:01:00.94ID:6HTN9r9U うう。やはりスマホだと変なタイプミス増えるな。orz
584デフォルトの名無しさん
2018/02/16(金) 13:02:16.20ID:6wcMGkCt くぴりんw
585デフォルトの名無しさん
2018/02/16(金) 13:05:28.66ID:3Bntq5A/ どうせお前らrxもMVVMもfluxも分からないんだろ
失業ざまああwwwwwww
失業ざまああwwwwwww
586デフォルトの名無しさん
2018/02/16(金) 15:00:09.56ID:WR2/4984 どこかで聞いたことがあるようなないような・・・
587デフォルトの名無しさん
2018/02/16(金) 18:08:43.61ID:LeDNkgwE588デフォルトの名無しさん
2018/02/16(金) 19:12:39.30ID:pw8u3FlN589デフォルトの名無しさん
2018/02/16(金) 19:50:26.64ID:uCgPr+rC590デフォルトの名無しさん
2018/02/16(金) 20:40:30.87ID:YSXjevvC 俺
も
知らない
も
知らない
591デフォルトの名無しさん
2018/02/16(金) 21:50:37.65ID:A7OU5IQx 車輪の
再発明に
名前を付けた
再発明に
名前を付けた
592デフォルトの名無しさん
2018/02/16(金) 22:05:45.45ID:JKZCusui モルゲッソヨ
593デフォルトの名無しさん
2018/02/16(金) 22:11:32.26ID:kk8fZRd1 今分かったんですけど、プライマリコンストラクタ宣言せずに
セカンダリコンストラクタって宣言できるんですね。
プライマリコンストラクタの主な用途ってコンストラクタのパラメータの宣言とプロパティの宣言を
一緒にできるぐらいですか??用途は。
class Test(val p1: String)とか
セカンダリコンストラクタって宣言できるんですね。
プライマリコンストラクタの主な用途ってコンストラクタのパラメータの宣言とプロパティの宣言を
一緒にできるぐらいですか??用途は。
class Test(val p1: String)とか
594デフォルトの名無しさん
2018/02/16(金) 23:21:19.28ID:JKZCusui595デフォルトの名無しさん
2018/02/16(金) 23:59:52.15ID:JKZCusui 基本は省略表記なだけ
https://ideone.com/3Uc2dJ
https://ideone.com/3Uc2dJ
596デフォルトの名無しさん
2018/02/17(土) 00:19:37.32ID:1ji1uAN3 >>594
でも、空のプライマリコンストラクタを明示的に宣言するのと省略するのでは厳密には同一ではないですよね??
だから、言葉の定義の問題にもなっちゃうけど、initブロックはinitブロックであってプライマリコンストラクタと同一視
しない方がいいとか。プライマリコンストラクタはあくまでclass Test(val p1: String)のval p1: String部分だけで、
プライマリコンストラクタはボディは持てない。
初期化はinitブロックで行うとか?
でも、空のプライマリコンストラクタを明示的に宣言するのと省略するのでは厳密には同一ではないですよね??
だから、言葉の定義の問題にもなっちゃうけど、initブロックはinitブロックであってプライマリコンストラクタと同一視
しない方がいいとか。プライマリコンストラクタはあくまでclass Test(val p1: String)のval p1: String部分だけで、
プライマリコンストラクタはボディは持てない。
初期化はinitブロックで行うとか?
597デフォルトの名無しさん
2018/02/17(土) 00:24:21.47ID:1ji1uAN3 https://kotlinlang.org/docs/reference/classes.html
正式な言語仕様書とかないんでしったけ??
JavaとかC#はしっかりした言語仕様書みたいのあって言葉もしっかり定義されてると
思いますが、kotlinはそういうのないとか・・
正式な言語仕様書とかないんでしったけ??
JavaとかC#はしっかりした言語仕様書みたいのあって言葉もしっかり定義されてると
思いますが、kotlinはそういうのないとか・・
598デフォルトの名無しさん
2018/02/17(土) 00:37:46.91ID:1ji1uAN3 Note that code in initializer blocks effectively becomes part of the primary constructor.
Delegation to the primary constructor happens as the first statement of a secondary constructor, so the code in all initializer blocks is executed before the secondary constructor body
まぁ、ここにはプライマリコンストラクタの一部になるって書いてあるね。
Delegation to the primary constructor happens as the first statement of a secondary constructor, so the code in all initializer blocks is executed before the secondary constructor body
まぁ、ここにはプライマリコンストラクタの一部になるって書いてあるね。
599デフォルトの名無しさん
2018/02/17(土) 00:43:30.54ID:vJDAw5Ja >>596
そうね暗黙の場合と違いあるから省略という表現は不正確だったごめん
セカンダリコンストラクタが無い場合、暗黙のプライマリコンストラクタはpublicになる
セカンダリコンストラクタが有る場合、暗黙のプライマリコンストラクタは未初期化メンバを残せる
そうね暗黙の場合と違いあるから省略という表現は不正確だったごめん
セカンダリコンストラクタが無い場合、暗黙のプライマリコンストラクタはpublicになる
セカンダリコンストラクタが有る場合、暗黙のプライマリコンストラクタは未初期化メンバを残せる
600デフォルトの名無しさん
2018/02/17(土) 01:07:01.46ID:vJDAw5Ja601デフォルトの名無しさん
2018/02/17(土) 09:11:07.08ID:cSouIKOJ Kotlin使いがJava使いにマウント取ってる様を見てまたこの繰り返しかと思いそっ閉じ
602デフォルトの名無しさん
2018/02/17(土) 11:37:12.55ID:EWYfJ6l0 マウント取ってるように見える?そりゃなんていうか、劣等感強すぎでは?
てか一々そんなこと考えてないで自分でも使えばいいじゃん。禁止されているわけでもなし。
Java が使える状態になったことのある人が Kotlin 使えるようになれないわけがないと思うが。
てか一々そんなこと考えてないで自分でも使えばいいじゃん。禁止されているわけでもなし。
Java が使える状態になったことのある人が Kotlin 使えるようになれないわけがないと思うが。
603デフォルトの名無しさん
2018/02/17(土) 19:20:37.06ID:MOg6+5DY ていうかkotlin使いって99%Java使いも兼ねてるだろうからマウントとるも何もないのでは
604デフォルトの名無しさん
2018/02/17(土) 22:06:51.34ID:QsKtGr9g 今使ってる人はそもそもJavaできるからな
より使いやすくても、対立構造にはならないよな
より使いやすくても、対立構造にはならないよな
605デフォルトの名無しさん
2018/02/18(日) 01:22:27.54ID:5P/pcqvC >>557
モバイル開発は違うかもだが、業務系は極端に言っちまうとjava要員集めるっつたら使い捨て兵隊集めだよ。
モバイル開発は違うかもだが、業務系は極端に言っちまうとjava要員集めるっつたら使い捨て兵隊集めだよ。
606デフォルトの名無しさん
2018/02/18(日) 11:33:46.48ID:LPhOEvze そんな自分の知ってる世界だけの狭い話をされても
607デフォルトの名無しさん
2018/02/18(日) 13:07:28.97ID:hkjnjusX Kotlin, RxJava, MVVMは基本的な必須スキルだからな
未だに実務経験ないやつは失業確定ざまああwwwwwww
未だに実務経験ないやつは失業確定ざまああwwwwwww
608デフォルトの名無しさん
2018/02/18(日) 13:07:47.53ID:1pIRFdOf609デフォルトの名無しさん
2018/02/18(日) 13:24:23.64ID:R7wrwf8X Android系の技術スレは失業だの兵隊だの低いところでマウント争ってるんだな。稼いでるやついなそう。
610デフォルトの名無しさん
2018/02/18(日) 13:56:19.84ID:D295fkqM そういやKotlinはまだ求人数は少ないけど給与は良いって調査結果があったな
中途半端だと仕事にありつけないかもしれないな
中途半端だと仕事にありつけないかもしれないな
611デフォルトの名無しさん
2018/02/18(日) 14:56:03.30ID:oDDrqbus しかしKotlinってKotlinらしくない従来のJavaっぽい書き方をしても動いてしまうからな。金を多く払う意味があまりないかも知れないぞ。
612デフォルトの名無しさん
2018/02/18(日) 16:12:24.98ID:nyTLTr1m Kotlinで単価が高いのは、チームが今後Kotlinでやってけるように導入の面倒見れる人だよ
>>611が言ってるレベルの奴なんてそもそも高い単価で雇われないから
>>611が言ってるレベルの奴なんてそもそも高い単価で雇われないから
613デフォルトの名無しさん
2018/02/18(日) 16:20:57.25ID:JlUJeRgg 面倒みなきゃならんほどのものじゃないでしょ
プログラム初心者じゃあるまいし
プログラム初心者じゃあるまいし
614デフォルトの名無しさん
2018/02/18(日) 16:37:41.33ID:nyTLTr1m >>613
お前の周辺状況について述べてるわけじゃないことぐらい理解して
お前の周辺状況について述べてるわけじゃないことぐらい理解して
615デフォルトの名無しさん
2018/02/18(日) 16:51:37.36ID:oDDrqbus >>612
雇う側がそれを見抜ければ良いんだろうけどね。
雇う側がそれを見抜ければ良いんだろうけどね。
616デフォルトの名無しさん
2018/02/18(日) 17:24:17.84ID:JlUJeRgg617デフォルトの名無しさん
2018/02/18(日) 19:36:30.68ID:nyTLTr1m618デフォルトの名無しさん
2018/02/18(日) 22:46:31.63ID:mRumiIcD ラムダ式から式の外側のthisを参照するにはどうすればいいでしょうか?現状、
val this_ = this
async {
this_
}
とかしてますけど、これ以外方法ない?
val this_ = this
async {
this_
}
とかしてますけど、これ以外方法ない?
619デフォルトの名無しさん
2018/02/19(月) 00:54:19.29ID:bFR3uyhH >>618
無いことはないけど俺もそうしてるよ
class A {
fun f(){
async {
this@A
}
}
}
https://kotlinlang.org/docs/reference/this-expressions.html
無いことはないけど俺もそうしてるよ
class A {
fun f(){
async {
this@A
}
}
}
https://kotlinlang.org/docs/reference/this-expressions.html
620デフォルトの名無しさん
2018/02/19(月) 07:19:51.84ID:YvDQTksi >>618
結局それが1番手っ取り早いと思うけど、this_っていう変数名は気持ち悪いから嫌
結局それが1番手っ取り早いと思うけど、this_っていう変数名は気持ち悪いから嫌
621デフォルトの名無しさん
2018/02/19(月) 11:29:23.81ID:IoDkpp2Z 言っとくけどselfもダサいよ
622デフォルトの名無しさん
2018/02/19(月) 11:44:10.96ID:yCg2MRRi そうじゃねえだろ
それを言うなら、self_ もダサい
それを言うなら、self_ もダサい
623デフォルトの名無しさん
2018/02/19(月) 12:18:18.12ID:uDWMisC4 やっぱ thiz だよね
624デフォルトの名無しさん
2018/02/19(月) 12:46:45.80ID:8HhXX1j3 どう書いても最適化されて同じコードになったりして・・・
625デフォルトの名無しさん
2018/02/19(月) 16:13:32.25ID:qb2IEpmC 俺なら一目で何だか分かる名前にする
626デフォルトの名無しさん
2018/02/19(月) 17:29:10.39ID:yTArt2lJ 例えば?
627デフォルトの名無しさん
2018/02/19(月) 17:33:59.71ID:tDxwJ5H8 >>619
ありがとうござます。this@hogeを使う事にしました
ありがとうござます。this@hogeを使う事にしました
628デフォルトの名無しさん
2018/02/19(月) 17:36:07.64ID:UjHZ69on >>626
val unko = this
val unko = this
629デフォルトの名無しさん
2018/02/19(月) 17:37:58.45ID:jylwc8fn ore,kore,sore
630デフォルトの名無しさん
2018/02/19(月) 17:39:35.65ID:UjHZ69on val 式の外側のthis = this
async {
式の外側のthis.method()
}
これが1番わかりやすいな
async {
式の外側のthis.method()
}
これが1番わかりやすいな
631デフォルトの名無しさん
2018/02/19(月) 18:45:31.43ID:J+iGZU0/ class名.instanceはコトリンではつかえないのん?
632デフォルトの名無しさん
2018/02/19(月) 22:24:58.24ID:9U/kf45x >>631
objectで宣言したクラス(シングルトン)のclass名.INSTANCEのことでしょうか?
objectで宣言したクラス(シングルトン)のclass名.INSTANCEのことでしょうか?
633デフォルトの名無しさん
2018/02/19(月) 23:31:48.80ID:4xWfaW8A エンクロージングインスタンスの話。
クラス名.thisの間違いだった。
クラス名.thisの間違いだった。
634デフォルトの名無しさん
2018/02/19(月) 23:50:04.20ID:bFR3uyhH ラムダに束縛したいのはthisだけとは限らないしネストも有り得るので
クラス外の関数として分離した場合の引数名のイメージで変数名付けてる
val view = this
val cal = activeCalculator
async {
cal.recalc()
transaction {
val tran = this
check(cal, tran)
}
view.notifyUpdate()
}
クラス外の関数として分離した場合の引数名のイメージで変数名付けてる
val view = this
val cal = activeCalculator
async {
cal.recalc()
transaction {
val tran = this
check(cal, tran)
}
view.notifyUpdate()
}
635デフォルトの名無しさん
2018/02/20(火) 06:41:06.84ID:qL04aTa6636デフォルトの名無しさん
2018/02/20(火) 09:07:54.40ID:qXeXVbGF ネストする時は、
this__
this___
this____
this_____
と、_を増やしてけば
this__
this___
this____
this_____
と、_を増やしてけば
637デフォルトの名無しさん
2018/02/20(火) 10:02:20.87ID:I+nWo9FQ よみづらい
638デフォルトの名無しさん
2018/02/20(火) 10:02:36.87ID:pltRTpB+ >>636
フォントが違うと見え方が変わりそう
フォントが違うと見え方が変わりそう
639デフォルトの名無しさん
2018/02/20(火) 12:03:00.62ID:5NVGlXhy >>636
天才かよ
天才かよ
640デフォルトの名無しさん
2018/02/20(火) 12:57:02.91ID:DWBDu+Jk ま、しかし、あまりにもネストが深くなるようならロジック考え直した方が良いかも
641デフォルトの名無しさん
2018/02/20(火) 20:10:18.67ID:xSX01qXm メソッド参照とか別クラスとか。
642デフォルトの名無しさん
2018/02/20(火) 20:29:10.81ID:qXSQ9QV9 ネストは三段ぐらいまでにしといた方がいいだろうな。
その辺が迷宮の入り口だ。
Cのポインタとかも同じ。3段以上先には魔物が住んでいる。
その辺が迷宮の入り口だ。
Cのポインタとかも同じ。3段以上先には魔物が住んでいる。
643デフォルトの名無しさん
2018/02/20(火) 20:35:32.22ID:qL04aTa6 せめて他のメソッドに切り出すくらいは最低でもやるべきだわな
644デフォルトの名無しさん
2018/02/20(火) 22:17:03.69ID:/iBGk+pN androidでデータバインディングしようとして
class Foo {
@Bindable
val bar get() = hoge.bar
}
とかできないの??・・・
class Foo {
@Bindable
val bar get() = hoge.bar
}
とかできないの??・・・
645デフォルトの名無しさん
2018/02/20(火) 22:18:25.44ID:/iBGk+pN エラー内容はThis annotation is not applicable to target 'member property without
backingField or delegate'です。
どうしたらいいでしょかね
backingField or delegate'です。
どうしたらいいでしょかね
646デフォルトの名無しさん
2018/02/20(火) 22:30:04.18ID:/iBGk+pN Javaでは
class Foo {
@Bindable
String getBar() { hoge.getBar() }
}
で、hogeはFooのフィールド変数です。
class Foo {
@Bindable
String getBar() { hoge.getBar() }
}
で、hogeはFooのフィールド変数です。
647デフォルトの名無しさん
2018/02/20(火) 23:05:50.58ID:/iBGk+pN ごめんさい。解決しました。@get:Bindable
648デフォルトの名無しさん
2018/02/21(水) 00:01:54.65ID:CION/kfn また、アノテーションだけど。遅延初期化ではアノテーションつけれんの?しょぼーん。
@field:Transient
val lazyVal by lazy {}
だめか・・
@field:Transient
val lazyVal by lazy {}
だめか・・
649デフォルトの名無しさん
2018/02/21(水) 14:48:51.57ID:aopUu534 いま触れてないけどkotlin-Nativeってどんな感じ?
ほとんどなんでもコンパイルかけれる?
見たところLLVM通すから行けそうだけど
ほとんどなんでもコンパイルかけれる?
見たところLLVM通すから行けそうだけど
650デフォルトの名無しさん
2018/02/21(水) 15:35:13.89ID:HWbyxxJS 実用で使うのはまだ怖いけど、遊びで触る分にはちゃんと動くよ。
javaの標準パッケージが全く使えないから、jvmで動かす前提で作ってあるクラスだのライブラリだのが動かないという辛さはある。
javaの標準パッケージが全く使えないから、jvmで動かす前提で作ってあるクラスだのライブラリだのが動かないという辛さはある。
651デフォルトの名無しさん
2018/02/21(水) 16:03:44.92ID:wwQ+gY6z javaのパッケージ使えないんならわざわざJVM言語使う価値なんかないわwさよなら〜
652デフォルトの名無しさん
2018/02/21(水) 16:13:56.98ID:4d1xezjM うん。はっきり言って現状ではこれを使うメリットが何一つ思い浮かばないよ俺も。
653デフォルトの名無しさん
2018/02/21(水) 17:59:59.69ID:ftdNQJg9 地味にアップデートされてるからJBが飽きなければそのうち実用レベルになるかもねえ
654デフォルトの名無しさん
2018/02/21(水) 18:05:11.04ID:2C7myRiq それなりの標準ライブラリはあるんでしょ?まだないの?(ないわけないか。なければ Hello world も出せないもんな)
655デフォルトの名無しさん
2018/02/21(水) 18:28:14.61ID:aopUu534 ありがとう。
なるほどまだ様子見しとくわ
Javaの標準パッケージ動かないの辛いね
なるほどまだ様子見しとくわ
Javaの標準パッケージ動かないの辛いね
656デフォルトの名無しさん
2018/02/21(水) 18:37:05.98ID:KLOfXDKN >>652
はいキチガイ
はいキチガイ
657デフォルトの名無しさん
2018/02/21(水) 18:56:30.68ID:sG9Uh+s7 >>656がメリットを説明してくれる模様w
658デフォルトの名無しさん
2018/02/21(水) 19:15:48.38ID:CION/kfn この言語意味不明になってきた。
class Test {
var str: String
get() = field
set(value) { }
constructor() {
str = "あいう"
}
}
val t = Test()
普通にstrがnullになる
class Test {
var str: String
get() = field
set(value) { }
constructor() {
str = "あいう"
}
}
val t = Test()
普通にstrがnullになる
659デフォルトの名無しさん
2018/02/21(水) 19:17:58.58ID:CION/kfn セカンダリコンストラクタでstrのbakcingFieldにアクセスできないの??
constructor() {
str = "あいう" // これはsetter経由のプロパティアクセス
}
constructor() {
str = "あいう" // これはsetter経由のプロパティアクセス
}
660デフォルトの名無しさん
2018/02/21(水) 19:21:36.71ID:ftdNQJg9 >>656
現状でこれ使ってハッピーなことがあるなら教えてくれw
現状でこれ使ってハッピーなことがあるなら教えてくれw
661デフォルトの名無しさん
2018/02/21(水) 19:23:37.72ID:ftdNQJg9 >>658-659
そのコードの意図がよく分からないんだけど、何がしたいの?ゆ
そのコードの意図がよく分からないんだけど、何がしたいの?ゆ
662デフォルトの名無しさん
2018/02/21(水) 19:30:46.29ID:CION/kfn663デフォルトの名無しさん
2018/02/21(水) 19:35:19.91ID:CION/kfn664デフォルトの名無しさん
2018/02/21(水) 19:38:04.92ID:CION/kfn665デフォルトの名無しさん
2018/02/21(水) 19:44:04.71ID:ftdNQJg9 そういうことね
確かにこれならsetterの部分でコンパイルエラー出て欲しい気がするな
帰ったらドキュメント舐め回してみるか
確かにこれならsetterの部分でコンパイルエラー出て欲しい気がするな
帰ったらドキュメント舐め回してみるか
666デフォルトの名無しさん
2018/02/21(水) 22:17:43.95ID:mU+xwBkv >>658
lateinintつけないでコンパイル通ってしまうなら、Kotlinコンパイラのバグの可能性も...
lateinintつけないでコンパイル通ってしまうなら、Kotlinコンパイラのバグの可能性も...
667デフォルトの名無しさん
2018/02/21(水) 22:24:25.01ID:mU+xwBkv668デフォルトの名無しさん
2018/02/21(水) 22:33:20.79ID:A2iqRMA5 悪意の無い初心者がめちゃくちゃ書いてもちゃんと面倒見てくれるべきだと思う
669デフォルトの名無しさん
2018/02/21(水) 23:05:16.86ID:CION/kfn null安全の導入とともに変数は宣言時に初期値を与えなきゃいけなくなって、
ローカル変数は宣言時に与えなきゃいけないけど、インスタンス変数は宣言時または
コンストラクタ内で与えればOKなんだけど、
backingFieldを持つプロパティと相性悪かった?ってことかな。
backingFieldを持つプロパティはプロパティイニシャライザを与えるか、
コンストラクタ内でbackingFieldに直接初期化するという条件を付けくわえないとだめ?
field:str = "あいう" // コンストラクタ内でのみ使えるbakckingFieldにアクセスする専用構文の導入が必要 か
str = "あいう” // コンストラクタ内でのプロパティへの代入はsetterは経由しないとかの条件が必要
ローカル変数は宣言時に与えなきゃいけないけど、インスタンス変数は宣言時または
コンストラクタ内で与えればOKなんだけど、
backingFieldを持つプロパティと相性悪かった?ってことかな。
backingFieldを持つプロパティはプロパティイニシャライザを与えるか、
コンストラクタ内でbackingFieldに直接初期化するという条件を付けくわえないとだめ?
field:str = "あいう" // コンストラクタ内でのみ使えるbakckingFieldにアクセスする専用構文の導入が必要 か
str = "あいう” // コンストラクタ内でのプロパティへの代入はsetterは経由しないとかの条件が必要
670デフォルトの名無しさん
2018/02/22(木) 00:40:47.03ID:P3OwyHQx バグ相当だと思う
初期化(setter呼び出し)の有無は判定出来ているのだから
コンパイルエラーにするのが難しいなら
その直後にそのプロパティのBacking Fieldがnullだったら
KotlinNullPointerExceptionを投げる処理を暗黙的に追加すべき
初期化(setter呼び出し)の有無は判定出来ているのだから
コンパイルエラーにするのが難しいなら
その直後にそのプロパティのBacking Fieldがnullだったら
KotlinNullPointerExceptionを投げる処理を暗黙的に追加すべき
671デフォルトの名無しさん
2018/02/22(木) 00:42:25.58ID:P3OwyHQx コンパイラor言語仕様のバグって意味ね
672デフォルトの名無しさん
2018/02/22(木) 01:34:10.26ID:2g+h2XZc null安全の導入->非nullableのクラス型のデフォルト値なんてないから、変数は必ず初期化する
必要がある->(この再、nullable、非nullable関係なく全変数初期化するように)
未初期化の変数がコンパイラエラーにならないんて、これが言語仕様なら
仕様がクソだったってことだな(さすが、適当に作った言語ってことに)。
コンパイラのバグであることを祈ろう。
必要がある->(この再、nullable、非nullable関係なく全変数初期化するように)
未初期化の変数がコンパイラエラーにならないんて、これが言語仕様なら
仕様がクソだったってことだな(さすが、適当に作った言語ってことに)。
コンパイラのバグであることを祈ろう。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【EV新税】最大2万4千円で検討 28年から、普及妨げると異論も [蚤の市★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 愛国者「中国と戦争になったら100%勝てる」 [834922174]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 🏡
- 【高市悲報】JA、発狂www「臨時に経費率を下げるので、どうかお米券を使ってください」 [246620176]
