Kotlin 4

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/07/17(火) 18:00:27.88ID:PDZGrLP2
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
https://kotlinlang.org


※前スレ
http://mevius.5ch.net/test/read.cgi/tech/1521401186/
2デフォルトの名無しさん
垢版 |
2018/07/17(火) 18:34:50.92ID:ZWBv+70m
2018/07/17(火) 20:06:19.10ID:Z83QhDM9
Xamarin程の糞はない
2018/07/17(火) 21:11:02.49ID:C4Kv1s9N
公式サイト
https://kotlinlang.org/
公式ブログ
https://blog.jetbrains.com/kotlin
コードを貼れる所
http://rextester.com/l/kotlin_online_compiler

Google、KotlinをAndroidアプリ開発言語に選定
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
2018/07/18(水) 00:09:41.84ID:IiYwsEVm
オンラインコンパイラ
https://ideone.com/

コードの実行と保存にアカウントなどは不要
https://ideone.com/Jef7Hv
2018/07/18(水) 15:25:15.23ID:4EnTiz3/
class A{
var a=A //ここでStackOverFlowになる
fun foo(a:A){this.a=a}
}
無限ループしてる感じになっているのかな?
どう実現すればいいですか?
2018/07/18(水) 16:38:17.91ID:RcnbSnHo
>>6
何がしたいのか全く分からない。

var a = Aの部分は何をしたいの?
2018/07/18(水) 16:41:25.02ID:RcnbSnHo
>>6
もしnull許容型にしたくないって意図なら

lateinit var a: A

にするとか
2018/07/18(水) 19:09:03.71ID:Su6NE01F
探索のnodeを作っていまして
aのところに親ノード入れようとしているんですが、それがうまく行かなくて
2018/07/18(水) 19:09:58.55ID:Su6NE01F
var a=Aは初期化しているだけです
2018/07/18(水) 19:15:14.93ID:FXmaHpqV
それなら普通に
var a: A? = null
で初期化しとけよ

どうしてもインスタンスを入れたいなら
var a = A()
でもいいけどさ

aにはAのインスタンスを入れなくちゃいけないのに、なんでクラスそのものを入れようとしてるんだ
2018/07/18(水) 19:27:02.59ID:OIFrVuMx
それと質問するときは差し支え無い範囲で実際のコードそのまんまの方がいいよ

class Node {
var parent: Node? = null
}

とか書いてあると何がしたいのか読み取れるけど、
Aとかaじゃ何が何やらわからない
13デフォルトの名無しさん
垢版 |
2018/07/18(水) 20:11:49.59ID:3T+bsJq5
>>6
それ var a = A って書いてる?
コンパイルエラーにならない?
2018/07/18(水) 20:27:27.20ID:psgNFjkz
あー、var a = A()になってそうだな
それなら無限ループになるわ
対策方法は上に書いてあるやつでいいけど
15デフォルトの名無しさん
垢版 |
2018/07/18(水) 20:30:22.18ID:3T+bsJq5
よくわからんが class A(val a: A) じゃいかんのか?
16デフォルトの名無しさん
垢版 |
2018/07/18(水) 20:32:19.89ID:3T+bsJq5
あ、だめか。class A(val a: A?) じゃないと永遠に初期化不能かw
2018/07/18(水) 22:44:24.79ID:3bDqFXKr
これおもしろいな、aをnull許容型にしないとインスタンスできないだろ
Javaだとそんなこと考えることもなかった
2018/07/19(木) 00:32:31.04ID:neesrQsq
試してないけど、nullobject用の派生クラスを用意して、nullobjectのaにはthis代入すりゃいいんじゃない?
2018/07/19(木) 01:00:01.34ID:CV+7JOtj
>>12で出来ました
ご迷惑おかけしました。ありがとうございます
他の言語だと、自動でnullが代入されているから、詰まってしまった
2018/07/19(木) 01:09:56.19ID:JUgZbHsB
これはと思い階乗計算してみたが、微妙…orz

class A(n : Int, f : Int = 0) {
. val a = if (n > 0) ? A(n - 1, f * n) : else { println(f); null }
}
2018/07/19(木) 01:12:00.05ID:JUgZbHsB
>>20
おっと、いろいろ混ざった。
?と:は消して
2018/07/19(木) 06:25:38.38ID:U09DDbAL
kotlinスレの優しさは異常
2018/07/19(木) 09:17:29.25ID:7c8TqsUT
地獄への道は善意で舗装されている
みたいな
2018/07/19(木) 09:25:33.22ID:1WhS78Yi
>>19
そこ(Nullableと非Nullable)がことりんの最大の特徴だから、ぜひちゃんと理解して使いこなしてあげてね。
2018/07/19(木) 21:01:30.52ID:ovyKVv/0
intellij入れたんだけど
runしようとするとmain classを入力してって言われるんだけど
関数だけでrunできないですか?
2018/07/19(木) 21:13:04.00ID:PZz/R6AK
>>25
ユニットテストからなら
2018/07/19(木) 22:05:47.90ID:U09DDbAL
>>25
fun main(args: Array<String>) {
// 実行したいコード
}

これが書いてある実行用のファイル作ってrunすれば動く
2018/07/19(木) 22:51:52.90ID:ovyKVv/0
>>26
テスト書かなきゃだめなんですね

>>27
そうしてるんですがNo main class specified 言われるんですよ

main classってなんや
static void main …のあのおまじないですか?
2018/07/19(木) 22:57:46.33ID:tijWK+5B
>>28
main関数の書いてあるエディタのタブ部分を右クリックでメニューからのRunはどう?
2018/07/20(金) 01:12:02.79ID:uIqPJHG1
fun main(args: Array<String>) { } をクラスの外に作った瞬間にその行の左に緑の三角が表示されて、そこから実行できるね
クラスの定義は無くてもいいけど、クラスの中じゃダメだ
2018/07/20(金) 06:18:13.10ID:vo0BuOhE
>>27のやり方で普通に動いたよ。
左側のProjectペインから、その実行したいktファイルを右クリックして、そこからRunしてもだめ?
もしくは上の方にあるRun configurationを一回削除してから同じことをしてみるとか。
2018/07/20(金) 06:24:04.39ID:vo0BuOhE
>>27
一応確認だけど、関数名はmainになってるよね?
他の名前だとだめだよ
33デフォルトの名無しさん
垢版 |
2018/07/20(金) 09:18:38.44ID:+BuQOMxB
>>25
状況がよくわからないからそのエラーが出た時のスクリーンショット取って見せて。ソースが表示されてる状態のな。
2018/07/20(金) 09:31:09.84ID:fn5Hn7HH
Kotlinスレの半分は優しさで出来ています
2018/07/20(金) 12:27:14.89ID:Gl3WHizs
残りの半分はXamarinで出来ています
36デフォルトの名無しさん
垢版 |
2018/07/20(金) 12:34:08.35ID:+BuQOMxB
それだけはお許しください
2018/07/20(金) 18:21:03.22ID:4pHi4ryF
Delphiがアップを始めました
3828
垢版 |
2018/07/20(金) 22:04:55.35ID:1Jm4m9CR
みなさん回答ありがとうございました

新しいプロジェクトでやったらできました。
おそらく原因はNewでファイルを作るときにkotlin scriptを選んでしまったためだと思われます

srcディレクトリ直下にkotlin file/class
でファイルを作ったら実行できました。
2018/07/20(金) 22:56:26.76ID:8Ywhahgu
Xamarinみたいな糞でやるからそうなる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況