[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/03 05:19 / Filesize : 241 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Kotlin 5



1 名前:デフォルトの名無しさん mailto:sage [2018/12/08(土) 20:29:41.41 ID:oXOQORcd.net]
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/

357 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:07:49.29 ID:UAPWfCGq.net]
>>352
とりあえず前知識として「コールバック地獄」について知っておくといいかも

358 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:39:12.02 ID:5k0N70Wq.net]
coroutine登場人物多すぎ

359 名前:デフォルトの名無しさん [2019/02/26(火) 09:55:03.32 ID:E0EMtjG2.net]
え?子ルーチンそんなに変わったの?

360 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:37:15.60 ID:UAPWfCGq.net]
experimental中は色々変わったけど正式版以降の使い方は基本的に変わってないよ
https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md

361 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:06:54.02 ID:5MxkS3P7.net]
>>351
のリンク先で、数値なら、- で降順にできるのか?

list.sortedWith(compareBy({ -it.age }, { it.name }, { it.address }))

Ruby なら、
arr2 = arr.sort_by { |a| [ -a[:score], a[:room] ] }

362 名前:デフォルトの名無しさん [2019/02/26(火) 18:17:15.84 ID:k06atLuF.net]
>>357
できる。

363 名前:デフォルトの名無しさん [2019/02/28(木) 03:26:51.88 ID:oRFlldUh.net]
ま、しかし、複数項目で昇順降順が混在する場合は自分で Comparator 作っちゃった方が楽かもね。

364 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 07:06:25.14 ID:Lh1ejLNL.net]
いやいや rankingDatas.sortedBy { it.subTitle }.sortedBy { it.title }.sortedByDescending { it.bookMarkCount } でいいじゃん

365 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 09:12:21.78 ID:sPMvbV7g.net]
直感的でない



366 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 09:15:13.48 ID:UGZ/YaG8.net]
>>360
処理時間3倍かかるよそれ

367 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 10:37:24.91 ID:o8LdAn98.net]
>>362
10万件ソートするなら使えないし、1000件しかソートしないなら問題ない
ランキングならたいした件数ないんじゃない

368 名前:デフォルトの名無しさん [2019/02/28(木) 13:05:23.62 ID:oAFMMcaR.net]
>>360
それって2番目の並べ替えで1番目の並べ替えの順序が変わらないことは保証されてるの?

369 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 13:16:03.81 ID:TwQuwGRl.net]
stable sortだから保証されてる

370 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 15:53:56.89 ID:sPMvbV7g.net]
mutableLivedataを外部に公開したら良くないってことで
別途livedataを作ってそいつに参照を持たせて
外部にはlivedataだけ公開するっていうのを
全部のmutableLivedataに対して行うの面倒臭いんですが
なにかいい方法ないですか

371 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 19:05:52.26 ID:TwQuwGRl.net]
よく知らないけどmutableLivedataをコンストラクタで貰って
それを元にlivedataを作って両方保持するクラスでも作って包めばいいんじゃないの

372 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 01:02:08.44 ID:8x0yRf06.net]
それで何か解決するんですかね
結局view側からmutableLivedataに
アクセスできるんじゃないですかね

373 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 06:35:34.41 ID:eJTnddJA.net]
本当にやり方が思いつかないならもうちょっと経験値の高い先輩なりに相談してみよう

374 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 08:39:12.55 ID:8x0yRf06.net]
分からないならレスしないでください。うざいだけです

375 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 09:24:26.88 ID:ajbNVKsu.net]
動かしてないけどこんな感じ

import android.arch.lifecycle.*
import kotlin.reflect.KProperty

//保持用
fun <T> unmodifiableLiveData(d:LiveData<T>): LiveData<T> = Transformations.map(d){it}
class MutLiveWrap<T>(val lv:MutableLiveData<T>) {
val readonlyLv = unmodifiableLiveData(lv)
operator fun getValue(thisRef: Any?, property: KProperty<*>) = readonlyLv
}
val <T> MutableLiveData<T>.wrap get() = MutLiveWrap<T>(this)


//使用
class Test {
private val aWr = MutableLiveData<Int>().wrap
val a by aWr

fun f(){
val mutLv: MutableLiveData<Int> = this.aWr.lv
val roLv : LiveData<Int> = this.a
}
}



376 名前:デフォルトの名無しさん [2019/03/01(金) 11:13:31.72 ID:PhmT31GH.net]
>>370
分かりません。

377 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 11:44:05.14 ID:AdJjcFYH.net]
>>370
技術力がないだけじゃなくて人間とし

378 名前:トも終わってるのな []
[ここ壊れてます]

379 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 12:41:01.41 ID:yZJ4Zkhu.net]
荒らしに返事するな!

そいつは前からいる、荒らしだろ。
相手をすると、この板に居つくだけ!

380 名前:デフォルトの名無しさん [2019/03/01(金) 12:57:49.73 ID:PhmT31GH.net]
ま、しかし、このスレの場合は日頃は過疎ってるのでたまに荒しが来てくれた方がスレが活性化して落ちる心配がなくなるなw

381 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 16:06:36.33 ID:XD1TRf4c.net]
developer.android.comの最近のページはコードサンプルがKotlinとJava両方載ってるんだね
タブで切り替えるんだけど最初に表示されてるのはKotlin

382 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 16:54:26.44 ID:ae30enpy.net]
俺も動かしてないけどつくってみた

import androidx.annotation.MainThread
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Observer

private class ReadOnlyLiveData<T>(private val liveData: LiveData<T>) : LiveData<T>() {
override fun setValue(value: T) { TODO("この関数を呼び出したとき、リードオンリーだから使えないよって教える。") }
override fun postValue(value: T) { TODO("この関数を呼び出したとき、リードオンリーだから使えないよって教える。") }
@MainThread override fun observe(owner: LifecycleOwner, observer: Observer<in T>) { liveData.observe(owner, observer) }

@MainThread override fun observeForever(observer: Observer<in T>) { liveData.observeForever(observer) }

@MainThread override fun removeObserver(observer: Observer<in T>) { liveData.removeObserver(observer) }

@MainThread override fun removeObservers(owner: LifecycleOwner) { liveData.removeObservers(owner) }

override fun getValue(): T? = liveData.value

@SuppressWarnings("WeakerAccess") override fun hasObservers(): Boolean = liveData.hasObservers()

@SuppressWarnings("WeakerAccess") override fun hasActiveObservers(): Boolean = liveData.hasActiveObservers()
}

fun <T> LiveData<T>.readOnly(): LiveData<T> {
if (this is ReadOnlyLiveData<T>) return this // もうすでにリードオンリー
return ReadOnlyLiveData(this)
}

383 名前:デフォルトの名無しさん [2019/03/02(土) 06:14:14.54 ID:qFBH5IQH.net]
>>357
降順と昇順が混在する場合は compareBy または compareByDescending で Comparator 作って
それに対して thenBy または thenByDescending で追加させて行く方が楽だし速いと思う。

384 名前:デフォルトの名無しさん [2019/03/04(月) 16:04:14.52 ID:/4qbaGVQ.net]
AnkoでBottom Sheetって使えますか?

385 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 09:22:28.79 ID:Yj0eRJ2i.net]
なんか面白い話題ないんかな。。



386 名前:デフォルトの名無しさん [2019/03/08(金) 10:46:41.80 ID:pv8HlopZ.net]
君が面白くなりなさい。

387 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:24:56.87 ID:AzqZJLRD.net]
springがフルkotlinになるのはいつ?

388 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 18:01:21.77 ID:rmua+rZ/.net]
Exposed1.0が出るのはいつ?

389 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 12:52:23.09 ID:t+kr7Jdy.net]
sequenceってジェネレーターみたいなもの?

390 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 13:42:04.30 ID:56gRJqyl.net]
>>384
SequenceはIterableとほぼ同じ
違いは
 Sequence: 遅延評価する (なのでジェネレーターも含む)
 Iterable:  基本的には遅延評価でない (通常、実体はコレクション)

拡張関数も別れていて、例えば
 Sequenceのmap は遅延評価するSequenceを返す
 Iterableのmap はその場で全要素を処理してListを返す

391 名前:デフォルトの名無しさん [2019/03/11(月) 00:27:22.19 ID:+Nlo5Elt.net]
ずばり説明が書いてあるページを発見した。

KotlinのListとSequenceって何が違うの?
https://qiita.com/KirariGlock/items/9aa251a44c11900c8b5f

392 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 07:22:41.11 ID:0boP2QX3.net]
うんこは最後に出す方法

393 名前:デフォルトの名無しさん [2019/03/11(月) 17:24:32.47 ID:2ppgAkG/.net]
げ、知らなかった。
ずっとIterableがStreamの代わりだとばかり。
PythonのSequenceと混同してた。
ならば、Iterableをあそこまでゴージャスにする必要があったのか?

394 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 18:33:50.09 ID:JQuKUcCl.net]
誰かの趣味だよきっと

395 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 18:35:48.60 ID:oxE6wZ/Z.net]
>>388
典型的なコレクション操作では遅延評価せずその場で全処理する方が早いため

意味付けが違うだけで、SequenceとIterableは同じ拡張関数を持ってるくらいの認識でOK

分かりやすさのため、あえて使い分けを用意しなかった
Javaの割り切り方もありだとは思うけどね



396 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 21:05:48.78 ID:MDT71nit.net]
SequenceはJava8のStreamと類似で、KotlinであえてStreamを使うべき機会はほとんどないからSequenceを使っておけば良いってことかな

397 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 23:18:53.36 ID:+cXkYAGY.net]
そしてSequenceって変数にぶち込んで使いまわせなかったっけ?

398 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 01:11:15.05 ID:WllyGH1o.net]
partitionのSequence版が無くて自作したわ

groupingByも遅延評価だけど使い方がむずい(毎回リファレンス読み直す)

399 名前:デフォルトの名無しさん [2019/03/12(火) 08:13:05.73 ID:z/76z4zm.net]
>>391
pararellがないな。
はっきり並列化できる処理なら、Streamの方がJavaの言い回しを考慮した上でも直感的にかける。

400 名前:デフォルトの名無しさん [2019/03/12(火) 12:54:36.68 ID:6Uu2j9Xc.net]
kotlin推しがgoを推薦
https://www.youtube.com/watch?v=KGzoE6z7ojk

401 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 14:55:36.01 ID:7iAawGvK.net]
python,go,kotlin全部推してるやん

402 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 15:14:48.22 ID:iD2RJper.net]
>>396
このレスは板内爆撃
本人かシンパかアンチか荒らしかいまいち判別できないので放置でよいよ

403 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 15:56:40.12 ID:7iAawGvK.net]
>>397
そうか。すまん

404 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:53:34.93 ID:28C0KCt9.net]
そもそもなんの権威でもないやろこの人

405 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 13:53:25.25 ID:jFsymRCD.net]
坊やだからさ



406 名前:デフォルトの名無しさん [2019/03/16(土) 16:06:54.74 ID:ksQagb59.net]
俺が Kotlin 押しビデオ作って公開すればいいのか?

しかし Kotlin 初心者なので「いいですよ〜。最高ですよ〜」などと情緒に訴えて見ている側を洗脳しようとすることぐらいしかできない。

407 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 16:14:10.50 ID:YxxaJZky.net]
>>401
ジャップに布教するなら、みんな使ってますよ〜乗り遅れますよ〜仲間外れですよ〜だけでいいよ
初心者のお前でも、有名企業でのKotlin採用事例を集めて紹介するくらいはできるだろう?

408 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 16:20:48.33 ID:28C0KCt9.net]
まぁでも、kotlin go あたりが推奨されるのはわかるけどな
今更phpとかおすよりかは説得力ある

409 名前:デフォルトの名無しさん [2019/03/16(土) 17:20:10.49 ID:ksQagb59.net]
>>402
ああ。そうだな。
後は学生向けにこれさえできれば楽々就職みたいに言うと。

410 名前:デフォルトの名無しさん [2019/03/16(土) 17:27:02.08 ID:ksQagb59.net]
やっぱこれも必要だろうな。
https://imgur.com/b5zh9pa

411 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 17:28:59.66 ID:ksQagb59.net]
既にどこの国の誰だか知らんが絵を作っている人はいた。
https://imgur.com/gallery/dIvW5Sh

412 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 18:08:41.49 ID:fOPvRjrc.net]
PreferenceFragmentが非推奨になる

代わりにandroidx.preference liblary使えって言われる

日本語のガイドに説明なし

適当すぎんだろイライラ

413 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 21:15:53.12 ID:t+AGMGYK.net]
あんま関係ないけどmavenのkotlinプラグインで増分コンパイルされないのって仕様?

414 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 09:41:08.53 ID:7YQXcQeA.net]
>>407
ドキュメント読めば書いてあるし問題なくね?

415 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 17:50:47.00 ID:VkTfSOi0.net]
>>407
本気で言うけど、公式ドキュメント程度の英語は頑張って読んだ方がいいと思うよ。



416 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 19:24:24.40 ID:6b7FslP4.net]
まぁAndroidの公式リファレンスは言語切替をシステム化してるから
ドキュメントのバージョンが不一致なら警告表示するくらいすればいいのにとは思う

iOSの方は英語以外バッサリ切り捨ててる(最新は英語読めと明示してある)から
中途半端に惑わされることは無い

417 名前:デフォルトの名無しさん [2019/03/18(月) 20:47:50.90 ID:1gtRswz3.net]
いつの間にかこんな入門書出てたよ。既にKindle版もある。

Kotlinプログラミング
https://www.amazon.co.jp/dp/B07M8LKSKV

418 名前:デフォルトの名無しさん [2019/03/19(火) 03:22:14.95 ID:j5JxWPYN.net]
もっと可愛い名前にすれば良かったのに
swiftみたいな

419 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 03:33:14.71 ID:EnTGEExM.net]
古都リンちゃん

420 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 10:04:27.55 ID:InXhSaoV.net]
>>409
日本語でしか表示されないんだが

421 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 10:51:32.88 ID:STa9vfc0.net]
>>415
ページ一番下に言語切替がある
リファレンスページでは正常に切り替わらないことがあるからトップページで切り換えた方がいい
https://developer.android.com/

もしくはURLに言語を英語にする「?hl=en」を付ける
https://developer.android.com/guide/topics/ui/settings.html?hl=en

日本語の方はAndroidXの記述が無いな
https://developer.android.com/guide/topics/ui/settings.html?hl=ja

422 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 12:07:55.88 ID:t/u/FScK.net]
Androidは公式で日本語ドキュメントあるのか
Kotlinのドキュメントは有志がやってたけどもうメンテしてないよな

423 名前:デフォルトの名無しさん [2019/03/19(火) 12:30:24.38 ID:BI7+7Q7/.net]
君がやってくれ。たのんだぞ。

424 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 14:20:51.95 ID:3khslMEX.net]
Kotlin in actionとどっちの方がいいんだ

425 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 15:10:03.68 ID:TG1sbbZQ.net]
>>416
丁寧にすまんな……



426 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 17:12:09.49 ID:7p2/yAlP.net]
>>417
公式日本語ドキュメントは更新が遅いから読まない方がいいぞ

427 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 17:54:02.89 ID:qahjbQKM.net]
kotlin native応援してるんだけど何が一番貢献になるんやろか?
翻訳とか細かなライブラリ作ったりくらいなら時間かければできそうなんやけど、難しいことはできん。
やっぱ募金とかなんか?

428 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 18:07:06.75 ID:VCt0hAH/.net]
>>422
まずはなんとかしてVSCodeを潰そう
このままだとJetBrains無くなるよ

429 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 18:12:21.52 ID:STa9vfc0.net]
>>422
とりあえず公式リポジトリのスターとfork数増やして
kotlin nativeであることをアピールしたライブラリ作ればいいのでは

ただ、現時点ではパフォーマンスが残念だからお勧めしない
出来ることが違うとはいえ、ロジック部分は
JVMどころかKotlin/JS経由のnodeで動かすのより7〜10倍くらい遅い

まだコンパイラの最適化をやってないのは救いだけど
俺はARC with cycle collectorがスループット下げてる可能性を気にしてる
もしそうなら最適化やっても思うほど改善しないんじゃないかと

430 名前:デフォルトの名無しさん [2019/03/20(水) 08:09:47.58 ID:vnEhpOgU.net]
JSとかnativeとかどうでもええ。
いろいろ変更予定のあるJVMとAndroid対応だけしっかりやれや。

431 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 09:36:36.87 ID:bT3jH/zR.net]
JetBrainsの業績そんなに悪くないしむしろ伸びてるはずだけど

432 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 13:58:35.52 ID:uYHRW+dq.net]
とりあえずgitとintellijの更新はしとく。
作るとしたら何系のライブラリがいいと思う?

433 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 14:21:09.73 ID:wkbxcvwm.net]
>>427
自分で使うやつ
より正確に言うとプルリクエストが来たときに議論できる程度に思い入れのあるやつ

使いもしないのに聞きかじりで作るのはやめておいたほうがいい

434 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 15:39:59.54 ID:uYHRW+dq.net]
なるほど。何に思い入れがあったか思い出してくるわ。
ありがと

435 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 17:00:17.12 ID:BuSIOCAA.net]
むしろMicrosoftのほうが糞



436 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 20:08:58.41 ID:TxjggMxz.net]
>>423
ならライセンス買おうよ。

437 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 20:09:44.23 ID:kvLAmSD0.net]
そういえばXamarinネタ見なくなったな

438 名前:デフォルトの名無しさん [2019/03/20(水) 21:34:30.03 ID:/gKFWWq8.net]
>>432
まあ知ってる人はごくわずかだから話題にしたくても出来る人はいないだろう。

439 名前:デフォルトの名無しさん [2019/03/22(金) 15:40:33.53 ID:L3xU9+dS.net]
即荒しが何か書いてスレが活性化するかと思ったら完全に無反応。本当に少数なったのだな。合掌。

440 名前:デフォルトの名無しさん [2019/03/23(土) 14:14:54.18 ID:Bvojjkpo.net]
Kotlin そのものの質問ではないがこのスレの方が分かる人が多いような気がするのでここに書き込む。

IntelliJ IDEA で Kotlin のプロジェクトを作ってその src フォルダで 〜.kt を一つ作ってそこに main() が
あるだけなら良いんだけど、もう一つ 〜.kt を作ってそこにも main() を作って、それぞれを別々に動かす
ということはできないのかな? どうやらそのままではできないようで、そのままやろうとすると個別にコンパイル
しようとしても同じ関数があると衝突してエラーになる。(最初に登録した方のソースは大丈夫。2番目に
登録した方の 〜.kt ファイルのコンパイルでエラー)。

こういう使い方は想定されていないんだろうか? しかしこれができないと小さいプログラムが沢山あるような
プロジェクトは作れなくて個別に沢山のプロジェクトを作らねばならなくなる。仮にそういう風にしかできない
んだとしてもそれならばプロジェクトを束ねるようなその上位の何かは作れないのか?でないと同じ階層に
プロジェクトが沢山作られてしまい非常に使い辛い。

441 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:19:26.37 ID:HXMNak6o.net]
>>435
トップレベルのmain()が名前空間で衝突しているからコンパイルエラーになると思われる。

class MyApp {
companion object {
@JvmStatic fun main(args: Array<String>) {
のような書き出しでエントリーポイントを作ることも出来ますが、そういった方法では解決できませんでしょうか。

442 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:24:44.47 ID:UK/ZLX81.net]
>>435
A.kt に書けば AKt.class が、B.kt に書けば BKt.class が生成されるので
JvmNameとかpackage指定と合わないフォルダ下で名前衝突させたりしない限り
普通は衝突しないはずだけど

443 名前:デフォルトの名無しさん [2019/03/23(土) 15:28:37.98 ID:Bvojjkpo.net]
>>436
どうもありがとう。

同じ関数がなければ main() がファイルごとにあっても大丈夫なことがわかった。
実行する時は main() の行頭の左側に出ている ? マークをマウスでクリックして実行またはデバッグすれば実行できた。

444 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:29:46.08 ID:Bvojjkpo.net]
>>437
ああ。package 付ける方法もあるな。試してないけどそれでもできそう。

445 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:34:11.63 ID:Bvojjkpo.net]
>>437
どうもありがとう。

できたよ。違う package にしておけば同じ関数があってもうまく行く(名前衝突しないんだから当然と言えば当然か)。



446 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:38:27.73 ID:UK/ZLX81.net]
いや、437はpackageが同じでもファイル名が別なら衝突しないという話だよ

447 名前:デフォルトの名無しさん [2019/03/23(土) 18:56:11.23 ID:Bvojjkpo.net]
>>441
package が同じというのは2ファイルが package 指定なしの時と同じだよね?
それだとダメだったんだよね。IntelliJ がどういう風にコンパイルしているかの問題だろうけど。

448 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 18:58:25.76 ID:z3jdsP7r.net]
さすがにスレチ

449 名前:デフォルトの名無しさん [2019/03/23(土) 19:07:58.43 ID: ]
[ここ壊れてます]

450 名前:Bvojjkpo.net mailto: すまん。 []
[ここ壊れてます]

451 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 19:29:18.72 ID:UK/ZLX81.net]
>>442
>同じだよね?
同じ

ほんとにmainが衝突してる?
main以外のトップレベル関数が衝突してるだけか、
もしくはかなり古いKotlinコンパイラ(プラグイン)を使ってない?

>>443
これはKotlinコンパイラの仕様だから別にスレチではないよ

452 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 20:07:45.61 ID:UK/ZLX81.net]
>>442
ああごめん435読み直したら、衝突したのはmainじゃなくて「同じ関数」なのね

対応方法としてはmain以外をprivate funにする,
classまたはcompanion objectまたはobjectに入れる

A.kt, B.kt
-----
fun main(){
a()
f.a2()
}
private fun a(){}
private val f = object {
fun a2(){}
}

453 名前:442 mailto:sage [2019/03/24(日) 03:29:22.97 ID:ynFGlX0q.net]
>>446
どうもありがとう。
確かに private でも名前外に出さないからできるね。

454 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 10:19:16.34 ID:E1WCPVyW.net]
Kotlin/Nativeが遅い原因を逆アセンブルして調べてたらこの記事にたどり着いた
https://soywiz.com/kpspemu-kn09/

UpdateReturnRefやLeaveFrameのコストが重すぎる
1.3.20時点ではリリースビルドでも最適化はされていない

455 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 19:23:47.37 ID:NbUyZWCM.net]
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 56097
https://you-can-program.hatenablog.jp



456 名前:デフォルトの名無しさん [2019/03/26(火) 21:38:27.76 ID:PDyA3k9g.net]
>>449
そのためにわざわざ眼鏡買うのバカらしいから君ちょっと自分で試してみなさい。
それともブログ書いた本人だから試し済みか?

457 名前:デフォルトの名無しさん [2019/03/26(火) 21:40:50.59 ID:PDyA3k9g.net]
ていうか既にプログラム書ける人ばかり来てるであろうスレでそんなの書かれても効果を実感できるやつはほとんど居ないだろうなあ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<241KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef