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
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関係なく全変数初期化するように)
未初期化の変数がコンパイラエラーにならないんて、これが言語仕様なら
仕様がクソだったってことだな(さすが、適当に作った言語ってことに)。
コンパイラのバグであることを祈ろう。
673666
2018/02/22(木) 06:49:37.65ID:W5l1Fr+S674666
2018/02/22(木) 06:57:22.88ID:W5l1Fr+S675デフォルトの名無しさん
2018/02/22(木) 07:31:42.26ID:tIZ7FSiP C#でいいじゃん
676デフォルトの名無しさん
2018/02/22(木) 07:39:36.87ID:HpXxCMc4 >>674
いや、この件は普通にコンパイラの仕様バグだと思うからissue上げて来なよ
いや、この件は普通にコンパイラの仕様バグだと思うからissue上げて来なよ
677デフォルトの名無しさん
2018/02/22(木) 07:44:53.50ID:HpXxCMc4 一回しか代入したくないならセッターの中にそういう処理を書けばいいだけだし、
非NullableなのにNullが入る状態でコンパイルできるのはどう考えてもバグでしょ
非NullableなのにNullが入る状態でコンパイルできるのはどう考えてもバグでしょ
678デフォルトの名無しさん
2018/02/22(木) 07:45:17.47ID:P3OwyHQx >>673
そういう手法のときは内部フィールド側はNullableになっているべきじゃないかな
通常ケースの一つとしてnullがあるパターンなわけだから
private var strF: String? = null
var str: String get(){return strF ?: ""} set(value) { }
そういう手法のときは内部フィールド側はNullableになっているべきじゃないかな
通常ケースの一つとしてnullがあるパターンなわけだから
private var strF: String? = null
var str: String get(){return strF ?: ""} set(value) { }
679デフォルトの名無しさん
2018/02/22(木) 09:29:54.25ID:tZO46ghF setterを空にしたらバッキングフィールドへの代入は永遠にされないのでは?
外部からバッキングフィールドへの代入ってできないよね?
(getterで値を変更するカウンターみたいなやつは別として)。
外部からバッキングフィールドへの代入ってできないよね?
(getterで値を変更するカウンターみたいなやつは別として)。
680デフォルトの名無しさん
2018/02/22(木) 21:30:53.59ID:MQzOZIuj Nullableでないプロパティのsetterがnullの状態で呼ばれることがあるって考えるとなんか気持ち悪いな
俺の感覚だとsetterが呼ばれた時点でフィールドは初期化されていて欲しいしフィールドの初期化にsetterは使って欲しくない
俺の感覚だとsetterが呼ばれた時点でフィールドは初期化されていて欲しいしフィールドの初期化にsetterは使って欲しくない
681デフォルトの名無しさん
2018/02/22(木) 22:55:00.07ID:4ek3nBtk JRubyよりはええんか?
682デフォルトの名無しさん
2018/02/23(金) 00:50:16.39ID:U4AoY/IO >>658の var str : String の部分を var str = "aaa" みたいに書くと var なのに str に何を代入しても
中身が"abc"のまま変化しないプロパティが完成w
中身が"abc"のまま変化しないプロパティが完成w
683デフォルトの名無しさん
2018/02/23(金) 00:50:44.77ID:U4AoY/IO 間違えた。"abc"じゃない"aaa"な。
684デフォルトの名無しさん
2018/02/23(金) 07:49:04.02ID:bsuGQjVb >>682
ワロタ
嫌な会社を辞めるときにテロとしてそういうコード残しておくイタズラとかできそう
それはそうとnullableじゃないのにnullになりうるセッターがコンパイル通るのはやっぱおかしいよな
そんなんする奴がいるのかって話ではあるが
ワロタ
嫌な会社を辞めるときにテロとしてそういうコード残しておくイタズラとかできそう
それはそうとnullableじゃないのにnullになりうるセッターがコンパイル通るのはやっぱおかしいよな
そんなんする奴がいるのかって話ではあるが
685デフォルトの名無しさん
2018/02/23(金) 08:31:33.24ID:nqFe2RWJ githubにあるkotlinのプロジェクトはissuesのリンクがないや
どこに報告すればいいんだ
どこに報告すればいいんだ
686デフォルトの名無しさん
2018/02/23(金) 08:54:38.23ID:MOvRrowf >>685
なぜREADMEを読まない…
なぜREADMEを読まない…
687デフォルトの名無しさん
2018/02/23(金) 14:54:59.97ID:0k9d4/AB688デフォルトの名無しさん
2018/02/23(金) 18:54:32.34ID:fUBBLv0N こりゃダメだ
C#使おっと
C#使おっと
689デフォルトの名無しさん
2018/02/23(金) 19:22:20.80ID:tkkK8G2q >>687
えぇ…これ仕様通りなん?だとしたら糞じゃね?
えぇ…これ仕様通りなん?だとしたら糞じゃね?
690デフォルトの名無しさん
2018/02/23(金) 20:44:31.66ID:Py5a3myD691デフォルトの名無しさん
2018/02/23(金) 21:13:42.52ID:8lqriKW0 C#はそもそもnull安全じゃないから出てくること自体おかしい
692デフォルトの名無しさん
2018/02/23(金) 21:26:34.63ID:i7MOfoRF 8.0ではoptinでnull安全にできるようになるんじゃなかったけ。まあ、でもmicrosoftはこんなポカしないと思うけど。
693デフォルトの名無しさん
2018/02/23(金) 22:05:57.26ID:R3lraTlN オプティン…
694デフォルトの名無しさん
2018/02/23(金) 22:13:05.72ID:YiHajEe6 ・セカンダリコンストラクタが存在する
・代入して初期化してる(ように見える)プライマリコンストラクタかセカンダリコンストラクタがある
この2つを満たすとコンパイル通っちゃうのかな
https://paiza.io/projects/78ZAW5fM_jNEyfhRPD5VbA
・代入して初期化してる(ように見える)プライマリコンストラクタかセカンダリコンストラクタがある
この2つを満たすとコンパイル通っちゃうのかな
https://paiza.io/projects/78ZAW5fM_jNEyfhRPD5VbA
695デフォルトの名無しさん
2018/02/23(金) 22:28:48.21ID:8lqriKW0 >>694
こりゃコンパイラのバグ説が濃厚だな
こりゃコンパイラのバグ説が濃厚だな
696デフォルトの名無しさん
2018/02/23(金) 22:46:50.15ID:ZKkKvK7/ 完全に趣味でSwift触り始めたんだけど、ことりんと似すぎてて脳の切り替えが大変
697デフォルトの名無しさん
2018/02/23(金) 23:32:19.57ID:gu5jD4u6 setterがNOPだからでしょ
何もおかしくないと思うんだが
何もおかしくないと思うんだが
698デフォルトの名無しさん
2018/02/23(金) 23:51:24.69ID:pZoCSvCU >>697
Javaなら何もおかしくないけど、これはkotlinなんですよ
Javaなら何もおかしくないけど、これはkotlinなんですよ
699デフォルトの名無しさん
2018/02/24(土) 00:23:17.37ID:KMKYwria あー、ごめんごめん、nullableじゃないのにってことね
700デフォルトの名無しさん
2018/02/24(土) 06:43:01.61ID:geSYf0sR SwiftではOptionalよん
701デフォルトの名無しさん
2018/02/24(土) 06:47:11.68ID:H2lSL8Bq そこら辺の名称も統一してくれたらよかったのに
702デフォルトの名無しさん
2018/02/24(土) 08:17:33.01ID:vmshfWHt 引数や戻り値の属性(アノテーション)としての出自でNullable (@Nullable)
型引数を持つデータ構造として出自でOptional (Optional<T>)
型引数を持つデータ構造として出自でOptional (Optional<T>)
703デフォルトの名無しさん
2018/02/24(土) 08:21:38.91ID:gsJVlH30 だから何?
704デフォルトの名無しさん
2018/02/24(土) 08:32:56.79ID:vmshfWHt 単なる経緯にだからも何も無いんだけど
705デフォルトの名無しさん
2018/02/24(土) 09:18:53.65ID:b9ViFkCo Optionalではアンラップが必要で、Nullableでは不要
706デフォルトの名無しさん
2018/02/24(土) 15:32:03.48ID:QRpOEI48 つまりOptionalは神Nullableは糞
707デフォルトの名無しさん
2018/02/24(土) 15:33:06.32ID:QRpOEI48 間違えた逆だNullableは神Optionalは糞
708デフォルトの名無しさん
2018/02/24(土) 16:29:10.25ID:XDApard5 神と糞は種類が違うだろ
709デフォルトの名無しさん
2018/02/24(土) 16:55:50.73ID:La3HIAz8 Xamarin程の糞はない
710デフォルトの名無しさん
2018/02/24(土) 20:13:00.64ID:geSYf0sR Kotlinではnullにならない型など存在しないのだ、がっはっは
711デフォルトの名無しさん
2018/02/24(土) 23:25:19.26ID:QE7g/pJn 神は糞である。
712デフォルトの名無しさん
2018/02/25(日) 06:02:39.69ID:z/Jlakx1 糞は紙で拭け
713デフォルトの名無しさん
2018/02/25(日) 10:33:42.84ID:4s22ePtw Kotlinインアクションの尼評価低いなと思ったら理由が「難しい」ってw
714デフォルトの名無しさん
2018/02/25(日) 10:54:15.05ID:skC5U3zO やっぱGroovy in Actionだろ、GradleはGrooovyなんだぜぇ
715デフォルトの名無しさん
2018/02/25(日) 11:44:58.69ID:XjF3qDop716デフォルトの名無しさん
2018/02/25(日) 11:46:33.02ID:XjF3qDop あ、Kotlin で検索したら出てきた本だけど Kotlin とは限らないみたいだな。すまん。
717デフォルトの名無しさん
2018/02/25(日) 11:50:17.94ID:XjF3qDop すまん。Kotlin の K の字も出てこないな。忘れてくれ。
718デフォルトの名無しさん
2018/02/25(日) 12:40:42.33ID:pcyqC+jB Kotlinイン・アクション、2017
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
せっかく太郎が、イン・アクションを参考にして、わかりやすく書いたのだから、
日本人は、太郎本を読んだ方がよい
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
せっかく太郎が、イン・アクションを参考にして、わかりやすく書いたのだから、
日本人は、太郎本を読んだ方がよい
719デフォルトの名無しさん
2018/02/25(日) 13:02:41.55ID:OHKw3fir 情報量はインアクションの方が多いから、わざわざ薄めた本を買う必要なんてないよ
720デフォルトの名無しさん
2018/02/25(日) 13:29:07.46ID:V/Ygd9gi >>718
お前はスッキリをすすめてろよ
お前はスッキリをすすめてろよ
721デフォルトの名無しさん
2018/02/25(日) 14:16:36.00ID:4s22ePtw Kotlin本といえば今のところインアクションとスタートブックの2択だと思うけど、
「難しい」って理由でレビュー評価下げるのはどうよ?と思ったんで、難しい以外に
インアクションで問題点ある?
バージョンが古いとか?
「難しい」って理由でレビュー評価下げるのはどうよ?と思ったんで、難しい以外に
インアクションで問題点ある?
バージョンが古いとか?
722デフォルトの名無しさん
2018/02/25(日) 14:31:03.18ID:VQCl2C19 ※716
Androidの入門本なんてAndroid搭載機種の種類と同じくらい大量に出てるのになぜわざわざそれを貼ろうと思ったのか
Androidの入門本なんてAndroid搭載機種の種類と同じくらい大量に出てるのになぜわざわざそれを貼ろうと思ったのか
723デフォルトの名無しさん
2018/02/25(日) 14:41:45.45ID:XjF3qDop >>722
先に書いた通り、AmazonでKotlinで検索して出てきたため。
先に書いた通り、AmazonでKotlinで検索して出てきたため。
724デフォルトの名無しさん
2018/02/25(日) 15:09:27.72ID:Ydc/tL+D 電子書籍でレイアウト固定だと買う気しない
725デフォルトの名無しさん
2018/02/26(月) 08:03:23.98ID:RZjRtr5i 知らんけどkotlinのandroid入門書なんてもう山ほど出てるんちゃうの?まだjavaばっかなの?
726デフォルトの名無しさん
2018/02/26(月) 08:23:30.09ID:t40oU2wX まだ一冊しかないのでは?
727デフォルトの名無しさん
2018/02/26(月) 08:27:44.65ID:RZjRtr5i そうなのか、意外と動き遅いんだな
728デフォルトの名無しさん
2018/02/26(月) 08:56:28.62ID:qQ1Da7Hp 本で勉強する時代じゃないからね
729デフォルトの名無しさん
2018/02/26(月) 09:20:17.57ID:G+urRbGd 細切れ情報を探すのはやだな。レベルも方針もバラバラだし。
良書があるなら本がいい。
良書があるなら本がいい。
730デフォルトの名無しさん
2018/02/26(月) 09:34:26.29ID:/jWICelY まあ、AndroidでKotlin使うのは増え続けるだろうから何れ本も増えるだろう。
731デフォルトの名無しさん
2018/02/26(月) 09:43:22.22ID:CZmy/XEe 本は中古やで何冊かあったよ、まだ高かったけど
正直Pythonは失敗だったと思う
正直Pythonは失敗だったと思う
732デフォルトの名無しさん
2018/02/26(月) 10:09:15.19ID:G+urRbGd pythonは糞本で良書が埋もれちゃってる
733デフォルトの名無しさん
2018/02/26(月) 10:47:30.45ID:/j3wCSg3 Null Objectパターン流行るといいなあ。
734デフォルトの名無しさん
2018/02/26(月) 13:51:07.53ID:Mu1MCm3E >>732
流行った言語は自動的にそうなる。
流行った言語は自動的にそうなる。
735デフォルトの名無しさん
2018/02/26(月) 17:53:54.70ID:i6+hAPO4 >>733
流行るも何もgof23パターンのうちの一つだぞ
流行るも何もgof23パターンのうちの一つだぞ
736デフォルトの名無しさん
2018/02/26(月) 18:03:06.16ID:3e/qclCH Null Objectはgof外でしょ
737デフォルトの名無しさん
2018/02/26(月) 18:15:26.27ID:i6+hAPO4738デフォルトの名無しさん
2018/02/26(月) 18:44:34.21ID:3e/qclCH 気にするな、禊としてXamarinのライセンス買ってこい
739デフォルトの名無しさん
2018/02/26(月) 18:51:59.91ID:3Mt4XsWV 買わない買わない
740デフォルトの名無しさん
2018/02/26(月) 19:46:08.16ID:FSYyOpBd741デフォルトの名無しさん
2018/02/27(火) 10:02:27.46ID:GEmGj4yT IntelliJの変換機能使ってシコシコKotlinに変換してるけどstatic無いのがウザくなって来た
Swiftにはあるのにー
Swiftにはあるのにー
742デフォルトの名無しさん
2018/02/27(火) 12:16:20.20ID:pU97M93t >>741
コンパニオンは?
コンパニオンは?
743デフォルトの名無しさん
2018/02/27(火) 18:56:17.20ID:9XUAnYvD 自動変換使ったら普通にcompanion objectにならなかったっけ
744デフォルトの名無しさん
2018/02/27(火) 20:07:07.98ID:VEiALCIH スーパーコンパニオンがいいです
745デフォルトの名無しさん
2018/02/27(火) 23:14:15.97ID:m5Iw3K9X 自動変換してもコンパニオンにならなかったから、シコシコ変えてる
746デフォルトの名無しさん
2018/02/27(火) 23:34:21.25ID:l+pACPTY Android stuiosって糞重いのな
Xcodeの比じゃなかったわ
Xcodeの比じゃなかったわ
747デフォルトの名無しさん
2018/02/27(火) 23:39:03.53ID:oVWfwCMw Core i7、メモリ32GBだけど、コーディングに支障があるほど重いとは感じないかな
748デフォルトの名無しさん
2018/02/28(水) 00:05:50.05ID:KPu2dHe+ ノート用のi5、8Gでもサクサク動くぞ
749デフォルトの名無しさん
2018/02/28(水) 01:54:55.83ID:SwOhtkGH 基本xcodeの方が重くない?
750デフォルトの名無しさん
2018/02/28(水) 04:32:16.89ID:ifAjmiIg Android stuios...
751デフォルトの名無しさん
2018/02/28(水) 06:49:11.80ID:qqsPLA0F 明らかにxcodeの方が重い
752デフォルトの名無しさん
2018/02/28(水) 06:51:00.64ID:qqsPLA0F あ、Android StudioじゃなくてAndroid stuiosの話なのか
それなら知らんわ
それなら知らんわ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★5 [七波羅探題★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 ★2 [お断り★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- 体調不良で番組欠席続く山里亮太「この度は申し訳ございません」 [ひかり★]
- ヤフコメ民の8割「お米券とか意味ねえよ」どうして… [402859164]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨😨 [931948549]
- 【高市速報】中国「このままだと日本が先制攻撃してくる」 [583597859]
- ケンモメンが多分一番読んでる小説って普通にこれだよな [126644339]
- 【悲報】Vtuberさん、大炎上時代に突入する
