JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
前スレ
Kotlin 2
https://mevius.5ch.net/test/read.cgi/tech/1509462463/
探検
Kotlin 3
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/03/19(月) 04:26:26.03ID:GqsfT9Tb680デフォルトの名無しさん
2018/06/27(水) 10:28:55.92ID:WNG+0R1n >>678
Unityって触ったことないけど、ゲーム以外にも使えんの?
Unityって触ったことないけど、ゲーム以外にも使えんの?
681デフォルトの名無しさん
2018/06/27(水) 10:31:24.77ID:Ei1nEpEL 使えない
682デフォルトの名無しさん
2018/06/27(水) 12:18:58.79ID:+kJys0PI 単純にプラットフォームのバージョンアップに加えて、Xamarinの更新や仕様変更にもついていかなくちゃいけないのが割と大きいんだよね。
レイヤーが1枚増えるぶんこちらの意思とは無関係にメンテしなくちゃいけないものが増える。
レイヤーが1枚増えるぶんこちらの意思とは無関係にメンテしなくちゃいけないものが増える。
683デフォルトの名無しさん
2018/06/27(水) 18:40:46.48ID:joyJ67qD ネイティブでクロスコンパイルだとgoがいい感じなんだがいかんせん言語仕様がアレじゃん?
rustもつらみが深いし。
kotlinがそこ狙ってくれないかなー
rustもつらみが深いし。
kotlinがそこ狙ってくれないかなー
684デフォルトの名無しさん
2018/06/27(水) 19:00:28.69ID:FvMz1kHT Googleがgo諦めてKotlin推しになったんだと思ってるんだが
685デフォルトの名無しさん
2018/06/27(水) 19:40:54.39ID:qKnsPtkx Google的にはTypeScriptとPWAでしょ
686デフォルトの名無しさん
2018/06/27(水) 20:31:33.36ID:9CxCJ+s3 GoはGoogleAppEngineとセットで推されてる感じ
Dartはモバイルアプリに使えるようになったけど、PWAにも対応されるのかな
Dartはモバイルアプリに使えるようになったけど、PWAにも対応されるのかな
687デフォルトの名無しさん
2018/06/27(水) 21:31:14.11ID:/7xWx8r1 Google A 「KotlinはAndroid開発の第一級言語」
Google B 「Dartならクロスプラットフォーム開発出来るよ」
Google C 「社内ではTypeScriptが標準開発言語ですけどね」
Google D 「Goはさらに進化する」
Google B 「Dartならクロスプラットフォーム開発出来るよ」
Google C 「社内ではTypeScriptが標準開発言語ですけどね」
Google D 「Goはさらに進化する」
688デフォルトの名無しさん
2018/06/27(水) 21:47:53.30ID:UhwNkHWJ Googleも一枚岩ではないからな
689デフォルトの名無しさん
2018/06/27(水) 21:54:44.06ID:058nb6Zd そういうカオスなのがGoogleっぽくて嫌いじゃない
Googleはインド系
Appleは中国系
Googleはインド系
Appleは中国系
690デフォルトの名無しさん
2018/06/27(水) 22:06:52.35ID:M3lpNFO8 Google的にはWebAssemblyはどの言語なんだろ
Kotlin/Nativeを推してくれたりしないものか
Kotlin/Nativeを推してくれたりしないものか
691デフォルトの名無しさん
2018/06/27(水) 22:36:51.97ID:09Lu5AaC GoogleはSEO最強だからどんなものでもそれなりに凄いもののように見えるけど、
実際にはGoogle自身も全く本気でやってないお遊びレベルのゴミが多いでしょ
Googleって社内的には非常に一貫性の高い独自のプラットフォームがあって、世間のOSSベースな開発とはかけ離れた世界になってるらしいし
実際にはGoogle自身も全く本気でやってないお遊びレベルのゴミが多いでしょ
Googleって社内的には非常に一貫性の高い独自のプラットフォームがあって、世間のOSSベースな開発とはかけ離れた世界になってるらしいし
692デフォルトの名無しさん
2018/06/28(木) 05:21:24.48ID:lL281Rpl ソースは?
693デフォルトの名無しさん
2018/06/28(木) 08:16:52.30ID:1UW06GNd googleのソースリポジトリへのコミット要件が割と厳し目なのは有名かな。
その割にgithubにあげてるのはそもそもまともに動かないものもたまにある。
その割にgithubにあげてるのはそもそもまともに動かないものもたまにある。
694デフォルトの名無しさん
2018/06/28(木) 11:23:25.80ID:m6ikkjV1 >>692
オリバーかイカリ使ってる
オリバーかイカリ使ってる
695デフォルトの名無しさん
2018/06/30(土) 20:53:17.24ID:eWG25u0M この前のHadi Haririのイベント行った奴いないの?
696デフォルトの名無しさん
2018/07/01(日) 08:01:17.25ID:/DvFOeR7 すみません、どちらに質問させて頂けるのか分からなくてこちらで教えていただければと考えてます。よろしくお願いします。
697696
2018/07/01(日) 08:15:08.30ID:/DvFOeR7 1 fun func(x:int,y:(Int)->Int)=L(x)
2 func(1,{it*5})
1行目のL(x)は何を意味しているのでしょうか?
また、var y:(Int)->Int={x:Int->x*2}をfunc関数に代入するために
1行目にy:(Int)->Intを引数にして
2行目で、{x:Int->x*2}を実行しているという理解でいいのでしょうか?
2 func(1,{it*5})
1行目のL(x)は何を意味しているのでしょうか?
また、var y:(Int)->Int={x:Int->x*2}をfunc関数に代入するために
1行目にy:(Int)->Intを引数にして
2行目で、{x:Int->x*2}を実行しているという理解でいいのでしょうか?
698デフォルトの名無しさん
2018/07/01(日) 08:18:15.23ID:nOlX7v2j699デフォルトの名無しさん
2018/07/01(日) 10:29:25.00ID:7m3QggRW >>697
1行目はLという名前の関数にxを渡してるだけ
fun func(x:int, y:(Int)->Int) {
return L(x)
}
の省略表記
ただ、引数のyが無視されているので
L(x) じゃなくて y(x) の間違いなんじゃねって気がする
2行目は代入云々はその理解で合ってるけど
「実行している」のではなく「定義して渡している」
実際そのコードではyが呼ばれてないのでその掛け算は実行されない
1行目はLという名前の関数にxを渡してるだけ
fun func(x:int, y:(Int)->Int) {
return L(x)
}
の省略表記
ただ、引数のyが無視されているので
L(x) じゃなくて y(x) の間違いなんじゃねって気がする
2行目は代入云々はその理解で合ってるけど
「実行している」のではなく「定義して渡している」
実際そのコードではyが呼ばれてないのでその掛け算は実行されない
700デフォルトの名無しさん
2018/07/01(日) 16:20:40.37ID:nicbhK38 なんで、宣言のとき型と変数名逆にしたんだろうなあ、苛つくわあ
701デフォルトの名無しさん
2018/07/01(日) 16:23:38.80ID:nOlX7v2j >>700
省略したいときウルトラ面倒になるのでやりたくなかったのだろう
省略したいときウルトラ面倒になるのでやりたくなかったのだろう
702デフォルトの名無しさん
2018/07/01(日) 16:58:23.83ID:nicbhK38 val 人間:文字列=山田
気持ち悪いわあ
気持ち悪いわあ
703デフォルトの名無しさん
2018/07/01(日) 18:15:00.04ID:kOaBFF1V >>700
型が省略されてるものとされないものが混在したら可読性ウンコになるだろ
型が省略されてるものとされないものが混在したら可読性ウンコになるだろ
704デフォルトの名無しさん
2018/07/01(日) 19:41:23.70ID:zdyprq44 以前はPASCAL, ML, Haskell、最近なら Scala, Go もこういう形で、
「型 変数」っていう順序のCスタイルの方が本来異色なんだけど。
「型 変数」っていう順序のCスタイルの方が本来異色なんだけど。
705デフォルトの名無しさん
2018/07/01(日) 20:18:17.04ID:dWb7F20p706デフォルトの名無しさん
2018/07/01(日) 20:49:55.44ID:8aTW58+O val name : String = " 名前"
" String "に代入してる感覚があるから、わかりにくのは事実だわなw
" String "に代入してる感覚があるから、わかりにくのは事実だわなw
707デフォルトの名無しさん
2018/07/01(日) 20:53:31.14ID:dWb7F20p708デフォルトの名無しさん
2018/07/01(日) 21:01:29.33ID:kOaBFF1V709デフォルトの名無しさん
2018/07/01(日) 21:31:28.10ID:sOb0a/fB 文芸的プログラミングというやつで、
val name: String
はname of Stringと見えるから英語の順序的にはこのほうが自然
val name: String
はname of Stringと見えるから英語の順序的にはこのほうが自然
710デフォルトの名無しさん
2018/07/01(日) 21:38:16.02ID:nOlX7v2j711デフォルトの名無しさん
2018/07/01(日) 22:01:00.11ID:q7RVjG2e 日本語話者の一般的な認知様式は
鳥の模型>模型の鳥
名前を表す文字列>文字列で表された名前
だし、日本語でも 変数名:型 の方が言語的には自然では
鳥の模型>模型の鳥
名前を表す文字列>文字列で表された名前
だし、日本語でも 変数名:型 の方が言語的には自然では
712デフォルトの名無しさん
2018/07/01(日) 22:20:03.34ID:InQHnS3f 数字の n は 42
文字列の s は "42"
文字列の s は "42"
713デフォルトの名無しさん
2018/07/01(日) 22:26:56.25ID:nicbhK38 言葉的にはそうかもしれないが
抽象度の順じゃないつうのがねー
これがモヤっとする原因
哺乳類>人間>山田
抽象度の順じゃないつうのがねー
これがモヤっとする原因
哺乳類>人間>山田
714デフォルトの名無しさん
2018/07/01(日) 22:31:27.77ID:R8XGd50K715デフォルトの名無しさん
2018/07/01(日) 22:50:43.53ID:q7RVjG2e716デフォルトの名無しさん
2018/07/01(日) 22:55:24.40ID:+8z4/crF717デフォルトの名無しさん
2018/07/01(日) 23:01:37.60ID:8aTW58+O kotlinの基本に慣れる為に
val name : String = " 名前"
"定数"の"name"には"String型"の"値"を入れる
と言う解釈がすんなり行けるかな
val name : String = " 名前"
"定数"の"name"には"String型"の"値"を入れる
と言う解釈がすんなり行けるかな
718デフォルトの名無しさん
2018/07/01(日) 23:08:56.02ID:raAwvdUY val name: String = "..."
"name" is a string: "John Smith"
「名前」は文字列、"山田花子"
打ってる時はだいたいこういう感じの思考の流れがある
"name" is a string: "John Smith"
「名前」は文字列、"山田花子"
打ってる時はだいたいこういう感じの思考の流れがある
719デフォルトの名無しさん
2018/07/01(日) 23:19:27.43ID:CPfYnrTw >>717
define a variable "name" as a string and assign a value "名前" to it って読むんだよそれ
define a variable "name" as a string and assign a value "名前" to it って読むんだよそれ
720デフォルトの名無しさん
2018/07/01(日) 23:20:47.61ID:InQHnS3f valなのにvariable wwwww
721デフォルトの名無しさん
2018/07/01(日) 23:27:05.41ID:yaDvqYhr 昔々PascalというかDelphiをよく使っていたので変数名、形の順でも違和感なし。
Oracle の PL/SQL も確かそうだったな。
Cも昔からよく使ってるけどね。Javaは趣味で使う程度かな。
Oracle の PL/SQL も確かそうだったな。
Cも昔からよく使ってるけどね。Javaは趣味で使う程度かな。
722デフォルトの名無しさん
2018/07/01(日) 23:30:37.32ID:yaDvqYhr そういやKotlinは val a, b, c : Int みたいに書いてまとめて宣言できないんだっけ?できた?
723デフォルトの名無しさん
2018/07/02(月) 00:28:48.57ID:QmQNg+H0 >>708
javaとかこんなんじゃなかったっけ
javaとかこんなんじゃなかったっけ
724デフォルトの名無しさん
2018/07/02(月) 00:29:30.51ID:QmQNg+H0725デフォルトの名無しさん
2018/07/02(月) 02:31:32.49ID:oF5BHAcS 変数名とコロンの間にスペース入れるのは規約違反?
726デフォルトの名無しさん
2018/07/02(月) 04:08:17.17ID:M/CoMLX8727デフォルトの名無しさん
2018/07/02(月) 10:54:34.73ID:sDkOSnE9 >>725
IntelliJのCode Style設定ではどちらも選べるようになってるから、どちらでもいいんでない
IntelliJのCode Style設定ではどちらも選べるようになってるから、どちらでもいいんでない
728デフォルトの名無しさん
2018/07/02(月) 12:07:35.37ID:eli6Ofbc729デフォルトの名無しさん
2018/07/02(月) 15:54:18.89ID:fF3oZnn5 そうそう型と継承が同じ記法だからごちゃごちゃするよな
どうせならすべて動的型付けにすればよかったのに
どうせならすべて動的型付けにすればよかったのに
730デフォルトの名無しさん
2018/07/02(月) 16:24:41.26ID:6MU/ELtX 動的型付けだと、存在意義全否定だろ。
Groovyでも使っとけ。
Groovyでも使っとけ。
731デフォルトの名無しさん
2018/07/02(月) 20:41:56.60ID:nCi8FeLN 型推論と動的型付けを混同すんなよ
732デフォルトの名無しさん
2018/07/02(月) 21:15:16.60ID:BzTTxziN733デフォルトの名無しさん
2018/07/02(月) 21:24:23.77ID:EvLqbtyu >>732
うむ。精進なされよ。
うむ。精進なされよ。
734デフォルトの名無しさん
2018/07/02(月) 23:00:47.89ID://b/At4I 慣れたら型が後の方が可読性高く感じる
それと構文解析しやすくなるのもあるんじゃね
Kotlinでの
(T1,T2)->R
はJavaでは
BiFunction<T1,T2,R>
型が先だと関数型(function type)が他の構文と衝突しないよう識別子やジェネリクス型を置くことになる
それと構文解析しやすくなるのもあるんじゃね
Kotlinでの
(T1,T2)->R
はJavaでは
BiFunction<T1,T2,R>
型が先だと関数型(function type)が他の構文と衝突しないよう識別子やジェネリクス型を置くことになる
735デフォルトの名無しさん
2018/07/03(火) 00:00:46.54ID:GdB7bYPq (TT^TT)
736デフォルトの名無しさん
2018/07/03(火) 00:39:55.52ID:TIu9/k2l 関数の返値の変数の型も指定できるから、そっちのほうはわかりやすいんじゃないかな
fun hoge(): String = "ぬるぽ"
関数型プログラミングだと、そういう形式のほうがわかりやすいんじゃないかと思う
val hoge: () -> String = fun(): String = "ぬるぽ"
fun hoge(): String = "ぬるぽ"
関数型プログラミングだと、そういう形式のほうがわかりやすいんじゃないかと思う
val hoge: () -> String = fun(): String = "ぬるぽ"
737デフォルトの名無しさん
2018/07/03(火) 09:23:57.08ID:5ohzf/bH >>736
ガッ
ガッ
738デフォルトの名無しさん
2018/07/03(火) 10:05:34.13ID:2Hrfam1D 慣れの問題じゃなあかなあ
739デフォルトの名無しさん
2018/07/03(火) 10:06:19.13ID:2Hrfam1D うう。スマホのフリック入力で失敗した。
740デフォルトの名無しさん
2018/07/03(火) 10:07:52.88ID:ng0Ex9q0741デフォルトの名無しさん
2018/07/03(火) 10:19:34.86ID:lMsOY+nb このスレの人たち、今だにガラケー使ってそうだな
いつまで慣れの問題でギャーギャー言ってんだよ
いつまで慣れの問題でギャーギャー言ってんだよ
742デフォルトの名無しさん
2018/07/03(火) 10:40:19.23ID:pQbF/VH/743デフォルトの名無しさん
2018/07/03(火) 11:32:14.53ID:jh9a6Llj >>741
幸か不幸かどこぞの板と違って末尾で判断できない
幸か不幸かどこぞの板と違って末尾で判断できない
744デフォルトの名無しさん
2018/07/03(火) 15:12:48.33ID:k8WNCQ/C kotlinのコロン( : )ってどんな働き・役割なのですか?
745デフォルトの名無しさん
2018/07/03(火) 15:56:30.11ID:k8WNCQ/C もう一つ質問させてください
1. class chiba{ }
2. class chiba(){ ]
3. class chiba(city:String="--"){ }
1はコンストラクタは持たない
2は自動でパラメータのないコンストラクタが生成される
3は( )内でパラメータを初期化し{ }がコンストラクタになる
という理解でいいのでしょうか?
1. class chiba{ }
2. class chiba(){ ]
3. class chiba(city:String="--"){ }
1はコンストラクタは持たない
2は自動でパラメータのないコンストラクタが生成される
3は( )内でパラメータを初期化し{ }がコンストラクタになる
という理解でいいのでしょうか?
746デフォルトの名無しさん
2018/07/03(火) 16:38:20.61ID:h4wqJ0lA747デフォルトの名無しさん
2018/07/03(火) 20:19:53.43ID:rBmEiF9u >>745
以下4行は同一、下に行くほど省略表記なだけ
コンストラクタは自動的に作られる
class chiba constructor() { }
class chiba() { }
class chiba { }
class chiba
コンストラクタ(プライマリコンストラクタ)の中身は
初期化ブロック( init{...} )とインスタンス変数の初期化
具体的にコードで
https://ideone.com/KpwsQl
リファレンス
https://kotlinlang.org/docs/reference/classes.html
以下4行は同一、下に行くほど省略表記なだけ
コンストラクタは自動的に作られる
class chiba constructor() { }
class chiba() { }
class chiba { }
class chiba
コンストラクタ(プライマリコンストラクタ)の中身は
初期化ブロック( init{...} )とインスタンス変数の初期化
具体的にコードで
https://ideone.com/KpwsQl
リファレンス
https://kotlinlang.org/docs/reference/classes.html
748デフォルトの名無しさん
2018/07/03(火) 20:54:14.27ID:ODNzvHJa ObservableFieldの説明を見ていたら、
https://developer.android.com/reference/android/databinding/ObservableField
public final ObservableField<String> first = new ObservableField<String>();
public final ObservableField<String> last = new ObservableField<String>();
public final ObservableField<String> display = new ObservableField<String>(first, last) {
@Override
public String get() {
return context.getResources().getString(R.string.name, first.get, last.get());
}
};
既存のObservableFieldを組み合わせて新しいObservableFieldを作るようなコードが載っているので、
そのままコピペして試してみたんですが、コンパイルが通らないんですがどうしたらいいですか
https://developer.android.com/reference/android/databinding/ObservableField
public final ObservableField<String> first = new ObservableField<String>();
public final ObservableField<String> last = new ObservableField<String>();
public final ObservableField<String> display = new ObservableField<String>(first, last) {
@Override
public String get() {
return context.getResources().getString(R.string.name, first.get, last.get());
}
};
既存のObservableFieldを組み合わせて新しいObservableFieldを作るようなコードが載っているので、
そのままコピペして試してみたんですが、コンパイルが通らないんですがどうしたらいいですか
749デフォルトの名無しさん
2018/07/03(火) 21:10:49.57ID:egr/fzRr >>748
コンパイルエラーのエラーメッセージを読む
コンパイルエラーのエラーメッセージを読む
750デフォルトの名無しさん
2018/07/03(火) 21:13:11.08ID:b3yF7W7d それJavaじゃん
Kotlinで書く
Kotlinで書く
751デフォルトの名無しさん
2018/07/03(火) 21:34:21.57ID:ODNzvHJa Kotlinに変換しても同じだった
エラーメッセージは以下だが、何を治したらいいのか
Cannot resolve constructor 'ObservableField(...)'
エラーメッセージは以下だが、何を治したらいいのか
Cannot resolve constructor 'ObservableField(...)'
752デフォルトの名無しさん
2018/07/04(水) 04:50:43.63ID:deFmQ17L スレ違いの
753デフォルトの名無しさん
2018/07/04(水) 04:54:54.94ID:/r54tfMO コトリヌス
754デフォルトの名無しさん
2018/07/04(水) 07:37:22.00ID:QS1wdrQw755デフォルトの名無しさん
2018/07/04(水) 07:37:52.39ID:K6PpspCw 基礎からやっていくか、状況をちゃんと説明出来るようになるか
756デフォルトの名無しさん
2018/07/04(水) 07:42:41.16ID:d8xWcdxC 初心者でせっかくだらjavaよりも新しいkotlinでやろうと勉強中なんだけど、結局javaも知らんといかんのね…
757デフォルトの名無しさん
2018/07/04(水) 07:54:41.64ID:qSU3AFLq 「こんぱいるとおりません」は実際なんも説明してねーからな
で、「ほんとうに」全部自分でゼロから作るならJavaの知識は不要なのだけど
実際はJavaの内部ライブラリやJava製の外部ライブラリを利用するorさせられることが多いので
Javaは少なくとも読めて呼び出し法くらいは知っておかないと現状余裕で詰まる
で、「ほんとうに」全部自分でゼロから作るならJavaの知識は不要なのだけど
実際はJavaの内部ライブラリやJava製の外部ライブラリを利用するorさせられることが多いので
Javaは少なくとも読めて呼び出し法くらいは知っておかないと現状余裕で詰まる
758デフォルトの名無しさん
2018/07/04(水) 08:34:41.84ID:dJOGt5Qc 普通に、コンストラクタの引数がちがうか、importしてないか、importするための設定をbuild.gradleに書いてないかだろ
759デフォルトの名無しさん
2018/07/04(水) 08:39:44.33ID:hww1W9rh ああそのレベルならimportしてないが有力だな、確かにw
760デフォルトの名無しさん
2018/07/04(水) 08:42:59.27ID:bgzrJhKa ビルド通ったやついるん?
761デフォルトの名無しさん
2018/07/04(水) 10:08:54.78ID:lcEaonpe importしてないならその前でコケるだろjk
sdkのバージョン違いじゃないの?
sdkのバージョン違いじゃないの?
762デフォルトの名無しさん
2018/07/04(水) 10:40:04.79ID:dJOGt5Qc build.gradleのandroid {} のなかに dataBinding { enable = true } 書いて、ObservableField のとこで Alt + Enter すれば、必要なimport が追加されたよ
763デフォルトの名無しさん
2018/07/04(水) 11:34:18.64ID:Fv6I2084 return context.getResources().getString(R.string.name, first.get, last.get();
ここの行のfirst.getもfirst.get()のはずだし、公式のサンプルコードがおかしいんじゃねえの
ここの行のfirst.getもfirst.get()のはずだし、公式のサンプルコードがおかしいんじゃねえの
764デフォルトの名無しさん
2018/07/04(水) 11:39:55.59ID:PJj9ZCzu >>747
ありがとうございました!
ありがとうございました!
765デフォルトの名無しさん
2018/07/04(水) 14:18:24.41ID:6R9abQ63 kotlinはネット投稿越しの説明デバッグが面倒くさい…
766デフォルトの名無しさん
2018/07/04(水) 15:27:56.70ID:hVA06Lo9 >>722に書いたやつはできないがこういうのはできるのな。
val (a, b, c, d, e) = listOf(1, 2, 3, 4, 5)
ただし5つまで。理由は component1() 〜 component5() を使うため。
val (a, b, c, d, e) = listOf(1, 2, 3, 4, 5)
ただし5つまで。理由は component1() 〜 component5() を使うため。
767デフォルトの名無しさん
2018/07/04(水) 16:47:52.07ID:n4h9hTEh768デフォルトの名無しさん
2018/07/04(水) 19:03:02.55ID:Uqt21yY2 >>767
グロ
グロ
769デフォルトの名無しさん
2018/07/04(水) 19:20:22.52ID:dJOGt5Qc770デフォルトの名無しさん
2018/07/04(水) 19:41:26.22ID:yHhNx3G5771デフォルトの名無しさん
2018/07/04(水) 21:42:39.79ID:KFDu9ptB それもまたスクリーンショットを使わないと説明できないのです。
772デフォルトの名無しさん
2018/07/04(水) 21:47:17.49ID:gFgZc5FG 9MT
773デフォルトの名無しさん
2018/07/05(木) 06:52:07.84ID:3UdVdS3q つまりVSは抽象概念だった?
774デフォルトの名無しさん
2018/07/05(木) 18:11:14.13ID:1+w/aSOe JVM系でのことりんのポジションって.Net系だと何になるの?
775デフォルトの名無しさん
2018/07/05(木) 18:25:29.62ID:em8VdMHP すみません。ラムダ式について質問させてください。
純粋にkotlinじゃなくてすみません。
import kotlin.concurrent.*
fun main(args:Array<String>){
var a1=Pn("A")
var a2=Pn("B")
var a3=Pn("C")
thread{a1.en()}
thread{a2.en()}
thread{a3.en()}
}
class Pn(nm:String){
fun en(){
for(i in 1..5){
println("${nm}:${i}")
}
}
}
thread{a1.en()}の波括弧内はラムダ式ということなのですが、
もともとの関数の記述って、どんな記述になりますか?
a1:Pn->a1.eat()
とかですか?
純粋にkotlinじゃなくてすみません。
import kotlin.concurrent.*
fun main(args:Array<String>){
var a1=Pn("A")
var a2=Pn("B")
var a3=Pn("C")
thread{a1.en()}
thread{a2.en()}
thread{a3.en()}
}
class Pn(nm:String){
fun en(){
for(i in 1..5){
println("${nm}:${i}")
}
}
}
thread{a1.en()}の波括弧内はラムダ式ということなのですが、
もともとの関数の記述って、どんな記述になりますか?
a1:Pn->a1.eat()
とかですか?
776デフォルトの名無しさん
2018/07/05(木) 18:48:07.71ID:9m4qXusF 質問の意味がわからない
777デフォルトの名無しさん
2018/07/05(木) 19:37:20.63ID:gU4M+kls >>775
いや、そのラムダは引数に何も受け取ってないよ
クロージャになってて外側のa1とかの変数をキャプチャしてるだけ
JavaScriptとかの書き方で言えば
() => { a1.en() }
みたいな感じ
いや、そのラムダは引数に何も受け取ってないよ
クロージャになってて外側のa1とかの変数をキャプチャしてるだけ
JavaScriptとかの書き方で言えば
() => { a1.en() }
みたいな感じ
778デフォルトの名無しさん
2018/07/05(木) 20:08:46.41ID:bx98WRX+ クロージャ使うのは一苦労じゃ
779デフォルトの名無しさん
2018/07/05(木) 20:17:49.90ID:9m4qXusF 【審議中】
∧,,∧ ∧,,∧
∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U ( ・) (・` ) と ノ
u-u (l ) ( ノu-u
`u-u’. `u-u’
∧,,∧ ∧,,∧
∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U ( ・) (・` ) と ノ
u-u (l ) ( ノu-u
`u-u’. `u-u’
780デフォルトの名無しさん
2018/07/05(木) 20:57:09.18ID:n+w19a7Z■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- ブタをぶったたく
- 【悲報】日本、自民党(統一教会)で完全崩壊か?年金制度実質破綻、生活保護、国民健康保険廃止へ [383063292]
- ‎
- 高市早苗って「わざと」日本畳んでるよな? [419865925]
