JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/
Kotlin 5
■ このスレッドは過去ログ倉庫に格納されています
2018/12/08(土) 20:29:41.41ID:oXOQORcd
358デフォルトの名無しさん
2019/02/26(火) 18:17:15.84ID:k06atLuF >>357
できる。
できる。
359デフォルトの名無しさん
2019/02/28(木) 03:26:51.88ID:oRFlldUh ま、しかし、複数項目で昇順降順が混在する場合は自分で Comparator 作っちゃった方が楽かもね。
360デフォルトの名無しさん
2019/02/28(木) 07:06:25.14ID:Lh1ejLNL いやいや rankingDatas.sortedBy { it.subTitle }.sortedBy { it.title }.sortedByDescending { it.bookMarkCount } でいいじゃん
361デフォルトの名無しさん
2019/02/28(木) 09:12:21.78ID:sPMvbV7g 直感的でない
362デフォルトの名無しさん
2019/02/28(木) 09:15:13.48ID:UGZ/YaG8 >>360
処理時間3倍かかるよそれ
処理時間3倍かかるよそれ
363デフォルトの名無しさん
2019/02/28(木) 10:37:24.91ID:o8LdAn98364デフォルトの名無しさん
2019/02/28(木) 13:05:23.62ID:oAFMMcaR >>360
それって2番目の並べ替えで1番目の並べ替えの順序が変わらないことは保証されてるの?
それって2番目の並べ替えで1番目の並べ替えの順序が変わらないことは保証されてるの?
365デフォルトの名無しさん
2019/02/28(木) 13:16:03.81ID:TwQuwGRl stable sortだから保証されてる
366デフォルトの名無しさん
2019/02/28(木) 15:53:56.89ID:sPMvbV7g mutableLivedataを外部に公開したら良くないってことで
別途livedataを作ってそいつに参照を持たせて
外部にはlivedataだけ公開するっていうのを
全部のmutableLivedataに対して行うの面倒臭いんですが
なにかいい方法ないですか
別途livedataを作ってそいつに参照を持たせて
外部にはlivedataだけ公開するっていうのを
全部のmutableLivedataに対して行うの面倒臭いんですが
なにかいい方法ないですか
367デフォルトの名無しさん
2019/02/28(木) 19:05:52.26ID:TwQuwGRl よく知らないけどmutableLivedataをコンストラクタで貰って
それを元にlivedataを作って両方保持するクラスでも作って包めばいいんじゃないの
それを元にlivedataを作って両方保持するクラスでも作って包めばいいんじゃないの
368デフォルトの名無しさん
2019/03/01(金) 01:02:08.44ID:8x0yRf06 それで何か解決するんですかね
結局view側からmutableLivedataに
アクセスできるんじゃないですかね
結局view側からmutableLivedataに
アクセスできるんじゃないですかね
369デフォルトの名無しさん
2019/03/01(金) 06:35:34.41ID:eJTnddJA 本当にやり方が思いつかないならもうちょっと経験値の高い先輩なりに相談してみよう
370デフォルトの名無しさん
2019/03/01(金) 08:39:12.55ID:8x0yRf06 分からないならレスしないでください。うざいだけです
371デフォルトの名無しさん
2019/03/01(金) 09:24:26.88ID:ajbNVKsu 動かしてないけどこんな感じ
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
}
}
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
}
}
372デフォルトの名無しさん
2019/03/01(金) 11:13:31.72ID:PhmT31GH >>370
分かりません。
分かりません。
373デフォルトの名無しさん
2019/03/01(金) 11:44:05.14ID:AdJjcFYH >>370
技術力がないだけじゃなくて人間としても終わってるのな
技術力がないだけじゃなくて人間としても終わってるのな
374デフォルトの名無しさん
2019/03/01(金) 12:41:01.41ID:yZJ4Zkhu 荒らしに返事するな!
そいつは前からいる、荒らしだろ。
相手をすると、この板に居つくだけ!
そいつは前からいる、荒らしだろ。
相手をすると、この板に居つくだけ!
375デフォルトの名無しさん
2019/03/01(金) 12:57:49.73ID:PhmT31GH ま、しかし、このスレの場合は日頃は過疎ってるのでたまに荒しが来てくれた方がスレが活性化して落ちる心配がなくなるなw
376デフォルトの名無しさん
2019/03/01(金) 16:06:36.33ID:XD1TRf4c developer.android.comの最近のページはコードサンプルがKotlinとJava両方載ってるんだね
タブで切り替えるんだけど最初に表示されてるのはKotlin
タブで切り替えるんだけど最初に表示されてるのはKotlin
377デフォルトの名無しさん
2019/03/01(金) 16:54:26.44ID:ae30enpy 俺も動かしてないけどつくってみた
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)
}
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)
}
378デフォルトの名無しさん
2019/03/02(土) 06:14:14.54ID:qFBH5IQH >>357
降順と昇順が混在する場合は compareBy または compareByDescending で Comparator 作って
それに対して thenBy または thenByDescending で追加させて行く方が楽だし速いと思う。
降順と昇順が混在する場合は compareBy または compareByDescending で Comparator 作って
それに対して thenBy または thenByDescending で追加させて行く方が楽だし速いと思う。
379デフォルトの名無しさん
2019/03/04(月) 16:04:14.52ID:/4qbaGVQ AnkoでBottom Sheetって使えますか?
380デフォルトの名無しさん
2019/03/08(金) 09:22:28.79ID:Yj0eRJ2i なんか面白い話題ないんかな。。
381デフォルトの名無しさん
2019/03/08(金) 10:46:41.80ID:pv8HlopZ 君が面白くなりなさい。
382デフォルトの名無しさん
2019/03/08(金) 13:24:56.87ID:AzqZJLRD springがフルkotlinになるのはいつ?
383デフォルトの名無しさん
2019/03/08(金) 18:01:21.77ID:rmua+rZ/ Exposed1.0が出るのはいつ?
384デフォルトの名無しさん
2019/03/10(日) 12:52:23.09ID:t+kr7Jdy sequenceってジェネレーターみたいなもの?
385デフォルトの名無しさん
2019/03/10(日) 13:42:04.30ID:56gRJqyl >>384
SequenceはIterableとほぼ同じ
違いは
Sequence: 遅延評価する (なのでジェネレーターも含む)
Iterable: 基本的には遅延評価でない (通常、実体はコレクション)
拡張関数も別れていて、例えば
Sequenceのmap は遅延評価するSequenceを返す
Iterableのmap はその場で全要素を処理してListを返す
SequenceはIterableとほぼ同じ
違いは
Sequence: 遅延評価する (なのでジェネレーターも含む)
Iterable: 基本的には遅延評価でない (通常、実体はコレクション)
拡張関数も別れていて、例えば
Sequenceのmap は遅延評価するSequenceを返す
Iterableのmap はその場で全要素を処理してListを返す
386デフォルトの名無しさん
2019/03/11(月) 00:27:22.19ID:+Nlo5Elt ずばり説明が書いてあるページを発見した。
KotlinのListとSequenceって何が違うの?
https://qiita.com/KirariGlock/items/9aa251a44c11900c8b5f
KotlinのListとSequenceって何が違うの?
https://qiita.com/KirariGlock/items/9aa251a44c11900c8b5f
387デフォルトの名無しさん
2019/03/11(月) 07:22:41.11ID:0boP2QX3 うんこは最後に出す方法
388デフォルトの名無しさん
2019/03/11(月) 17:24:32.47ID:2ppgAkG/ げ、知らなかった。
ずっとIterableがStreamの代わりだとばかり。
PythonのSequenceと混同してた。
ならば、Iterableをあそこまでゴージャスにする必要があったのか?
ずっとIterableがStreamの代わりだとばかり。
PythonのSequenceと混同してた。
ならば、Iterableをあそこまでゴージャスにする必要があったのか?
389デフォルトの名無しさん
2019/03/11(月) 18:33:50.09ID:JQuKUcCl 誰かの趣味だよきっと
390デフォルトの名無しさん
2019/03/11(月) 18:35:48.60ID:oxE6wZ/Z >>388
典型的なコレクション操作では遅延評価せずその場で全処理する方が早いため
意味付けが違うだけで、SequenceとIterableは同じ拡張関数を持ってるくらいの認識でOK
分かりやすさのため、あえて使い分けを用意しなかった
Javaの割り切り方もありだとは思うけどね
典型的なコレクション操作では遅延評価せずその場で全処理する方が早いため
意味付けが違うだけで、SequenceとIterableは同じ拡張関数を持ってるくらいの認識でOK
分かりやすさのため、あえて使い分けを用意しなかった
Javaの割り切り方もありだとは思うけどね
391デフォルトの名無しさん
2019/03/11(月) 21:05:48.78ID:MDT71nit SequenceはJava8のStreamと類似で、KotlinであえてStreamを使うべき機会はほとんどないからSequenceを使っておけば良いってことかな
392デフォルトの名無しさん
2019/03/11(月) 23:18:53.36ID:+cXkYAGY そしてSequenceって変数にぶち込んで使いまわせなかったっけ?
393デフォルトの名無しさん
2019/03/12(火) 01:11:15.05ID:WllyGH1o partitionのSequence版が無くて自作したわ
groupingByも遅延評価だけど使い方がむずい(毎回リファレンス読み直す)
groupingByも遅延評価だけど使い方がむずい(毎回リファレンス読み直す)
394デフォルトの名無しさん
2019/03/12(火) 08:13:05.73ID:z/76z4zm395デフォルトの名無しさん
2019/03/12(火) 12:54:36.68ID:6Uu2j9Xc kotlin推しがgoを推薦
https://www.youtube.com/watch?v=KGzoE6z7ojk
https://www.youtube.com/watch?v=KGzoE6z7ojk
396デフォルトの名無しさん
2019/03/12(火) 14:55:36.01ID:7iAawGvK python,go,kotlin全部推してるやん
397デフォルトの名無しさん
2019/03/12(火) 15:14:48.22ID:iD2RJper398デフォルトの名無しさん
2019/03/12(火) 15:56:40.12ID:7iAawGvK >>397
そうか。すまん
そうか。すまん
399デフォルトの名無しさん
2019/03/16(土) 11:53:34.93ID:28C0KCt9 そもそもなんの権威でもないやろこの人
400デフォルトの名無しさん
2019/03/16(土) 13:53:25.25ID:jFsymRCD 坊やだからさ
401デフォルトの名無しさん
2019/03/16(土) 16:06:54.74ID:ksQagb59 俺が Kotlin 押しビデオ作って公開すればいいのか?
しかし Kotlin 初心者なので「いいですよ〜。最高ですよ〜」などと情緒に訴えて見ている側を洗脳しようとすることぐらいしかできない。
しかし Kotlin 初心者なので「いいですよ〜。最高ですよ〜」などと情緒に訴えて見ている側を洗脳しようとすることぐらいしかできない。
402デフォルトの名無しさん
2019/03/16(土) 16:14:10.50ID:YxxaJZky403デフォルトの名無しさん
2019/03/16(土) 16:20:48.33ID:28C0KCt9 まぁでも、kotlin go あたりが推奨されるのはわかるけどな
今更phpとかおすよりかは説得力ある
今更phpとかおすよりかは説得力ある
404デフォルトの名無しさん
2019/03/16(土) 17:20:10.49ID:ksQagb59405デフォルトの名無しさん
2019/03/16(土) 17:27:02.08ID:ksQagb59 やっぱこれも必要だろうな。
https://imgur.com/b5zh9pa
https://imgur.com/b5zh9pa
406デフォルトの名無しさん
2019/03/16(土) 17:28:59.66ID:ksQagb59 既にどこの国の誰だか知らんが絵を作っている人はいた。
https://imgur.com/gallery/dIvW5Sh
https://imgur.com/gallery/dIvW5Sh
407デフォルトの名無しさん
2019/03/17(日) 18:08:41.49ID:fOPvRjrc PreferenceFragmentが非推奨になる
↓
代わりにandroidx.preference liblary使えって言われる
↓
日本語のガイドに説明なし
適当すぎんだろイライラ
↓
代わりにandroidx.preference liblary使えって言われる
↓
日本語のガイドに説明なし
適当すぎんだろイライラ
408デフォルトの名無しさん
2019/03/17(日) 21:15:53.12ID:t+AGMGYK あんま関係ないけどmavenのkotlinプラグインで増分コンパイルされないのって仕様?
409デフォルトの名無しさん
2019/03/18(月) 09:41:08.53ID:7YQXcQeA >>407
ドキュメント読めば書いてあるし問題なくね?
ドキュメント読めば書いてあるし問題なくね?
410デフォルトの名無しさん
2019/03/18(月) 17:50:47.00ID:VkTfSOi0 >>407
本気で言うけど、公式ドキュメント程度の英語は頑張って読んだ方がいいと思うよ。
本気で言うけど、公式ドキュメント程度の英語は頑張って読んだ方がいいと思うよ。
411デフォルトの名無しさん
2019/03/18(月) 19:24:24.40ID:6b7FslP4 まぁAndroidの公式リファレンスは言語切替をシステム化してるから
ドキュメントのバージョンが不一致なら警告表示するくらいすればいいのにとは思う
iOSの方は英語以外バッサリ切り捨ててる(最新は英語読めと明示してある)から
中途半端に惑わされることは無い
ドキュメントのバージョンが不一致なら警告表示するくらいすればいいのにとは思う
iOSの方は英語以外バッサリ切り捨ててる(最新は英語読めと明示してある)から
中途半端に惑わされることは無い
412デフォルトの名無しさん
2019/03/18(月) 20:47:50.90ID:1gtRswz3413デフォルトの名無しさん
2019/03/19(火) 03:22:14.95ID:j5JxWPYN もっと可愛い名前にすれば良かったのに
swiftみたいな
swiftみたいな
414デフォルトの名無しさん
2019/03/19(火) 03:33:14.71ID:EnTGEExM 古都リンちゃん
415デフォルトの名無しさん
2019/03/19(火) 10:04:27.55ID:InXhSaoV >>409
日本語でしか表示されないんだが
日本語でしか表示されないんだが
416デフォルトの名無しさん
2019/03/19(火) 10:51:32.88ID:STa9vfc0 >>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
ページ一番下に言語切替がある
リファレンスページでは正常に切り替わらないことがあるからトップページで切り換えた方がいい
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
417デフォルトの名無しさん
2019/03/19(火) 12:07:55.88ID:t/u/FScK Androidは公式で日本語ドキュメントあるのか
Kotlinのドキュメントは有志がやってたけどもうメンテしてないよな
Kotlinのドキュメントは有志がやってたけどもうメンテしてないよな
418デフォルトの名無しさん
2019/03/19(火) 12:30:24.38ID:BI7+7Q7/ 君がやってくれ。たのんだぞ。
419デフォルトの名無しさん
2019/03/19(火) 14:20:51.95ID:3khslMEX Kotlin in actionとどっちの方がいいんだ
420デフォルトの名無しさん
2019/03/19(火) 15:10:03.68ID:TG1sbbZQ >>416
丁寧にすまんな……
丁寧にすまんな……
421デフォルトの名無しさん
2019/03/19(火) 17:12:09.49ID:7p2/yAlP >>417
公式日本語ドキュメントは更新が遅いから読まない方がいいぞ
公式日本語ドキュメントは更新が遅いから読まない方がいいぞ
422デフォルトの名無しさん
2019/03/19(火) 17:54:02.89ID:qahjbQKM kotlin native応援してるんだけど何が一番貢献になるんやろか?
翻訳とか細かなライブラリ作ったりくらいなら時間かければできそうなんやけど、難しいことはできん。
やっぱ募金とかなんか?
翻訳とか細かなライブラリ作ったりくらいなら時間かければできそうなんやけど、難しいことはできん。
やっぱ募金とかなんか?
423デフォルトの名無しさん
2019/03/19(火) 18:07:06.75ID:VCt0hAH/424デフォルトの名無しさん
2019/03/19(火) 18:12:21.52ID:STa9vfc0 >>422
とりあえず公式リポジトリのスターとfork数増やして
kotlin nativeであることをアピールしたライブラリ作ればいいのでは
ただ、現時点ではパフォーマンスが残念だからお勧めしない
出来ることが違うとはいえ、ロジック部分は
JVMどころかKotlin/JS経由のnodeで動かすのより7〜10倍くらい遅い
まだコンパイラの最適化をやってないのは救いだけど
俺はARC with cycle collectorがスループット下げてる可能性を気にしてる
もしそうなら最適化やっても思うほど改善しないんじゃないかと
とりあえず公式リポジトリのスターとfork数増やして
kotlin nativeであることをアピールしたライブラリ作ればいいのでは
ただ、現時点ではパフォーマンスが残念だからお勧めしない
出来ることが違うとはいえ、ロジック部分は
JVMどころかKotlin/JS経由のnodeで動かすのより7〜10倍くらい遅い
まだコンパイラの最適化をやってないのは救いだけど
俺はARC with cycle collectorがスループット下げてる可能性を気にしてる
もしそうなら最適化やっても思うほど改善しないんじゃないかと
425デフォルトの名無しさん
2019/03/20(水) 08:09:47.58ID:vnEhpOgU JSとかnativeとかどうでもええ。
いろいろ変更予定のあるJVMとAndroid対応だけしっかりやれや。
いろいろ変更予定のあるJVMとAndroid対応だけしっかりやれや。
426デフォルトの名無しさん
2019/03/20(水) 09:36:36.87ID:bT3jH/zR JetBrainsの業績そんなに悪くないしむしろ伸びてるはずだけど
427デフォルトの名無しさん
2019/03/20(水) 13:58:35.52ID:uYHRW+dq とりあえずgitとintellijの更新はしとく。
作るとしたら何系のライブラリがいいと思う?
作るとしたら何系のライブラリがいいと思う?
428デフォルトの名無しさん
2019/03/20(水) 14:21:09.73ID:wkbxcvwm429デフォルトの名無しさん
2019/03/20(水) 15:39:59.54ID:uYHRW+dq なるほど。何に思い入れがあったか思い出してくるわ。
ありがと
ありがと
430デフォルトの名無しさん
2019/03/20(水) 17:00:17.12ID:BuSIOCAA むしろMicrosoftのほうが糞
431デフォルトの名無しさん
2019/03/20(水) 20:08:58.41ID:TxjggMxz >>423
ならライセンス買おうよ。
ならライセンス買おうよ。
432デフォルトの名無しさん
2019/03/20(水) 20:09:44.23ID:kvLAmSD0 そういえばXamarinネタ見なくなったな
433デフォルトの名無しさん
2019/03/20(水) 21:34:30.03ID:/gKFWWq8 >>432
まあ知ってる人はごくわずかだから話題にしたくても出来る人はいないだろう。
まあ知ってる人はごくわずかだから話題にしたくても出来る人はいないだろう。
434デフォルトの名無しさん
2019/03/22(金) 15:40:33.53ID:L3xU9+dS 即荒しが何か書いてスレが活性化するかと思ったら完全に無反応。本当に少数なったのだな。合掌。
435デフォルトの名無しさん
2019/03/23(土) 14:14:54.18ID:Bvojjkpo Kotlin そのものの質問ではないがこのスレの方が分かる人が多いような気がするのでここに書き込む。
IntelliJ IDEA で Kotlin のプロジェクトを作ってその src フォルダで 〜.kt を一つ作ってそこに main() が
あるだけなら良いんだけど、もう一つ 〜.kt を作ってそこにも main() を作って、それぞれを別々に動かす
ということはできないのかな? どうやらそのままではできないようで、そのままやろうとすると個別にコンパイル
しようとしても同じ関数があると衝突してエラーになる。(最初に登録した方のソースは大丈夫。2番目に
登録した方の 〜.kt ファイルのコンパイルでエラー)。
こういう使い方は想定されていないんだろうか? しかしこれができないと小さいプログラムが沢山あるような
プロジェクトは作れなくて個別に沢山のプロジェクトを作らねばならなくなる。仮にそういう風にしかできない
んだとしてもそれならばプロジェクトを束ねるようなその上位の何かは作れないのか?でないと同じ階層に
プロジェクトが沢山作られてしまい非常に使い辛い。
IntelliJ IDEA で Kotlin のプロジェクトを作ってその src フォルダで 〜.kt を一つ作ってそこに main() が
あるだけなら良いんだけど、もう一つ 〜.kt を作ってそこにも main() を作って、それぞれを別々に動かす
ということはできないのかな? どうやらそのままではできないようで、そのままやろうとすると個別にコンパイル
しようとしても同じ関数があると衝突してエラーになる。(最初に登録した方のソースは大丈夫。2番目に
登録した方の 〜.kt ファイルのコンパイルでエラー)。
こういう使い方は想定されていないんだろうか? しかしこれができないと小さいプログラムが沢山あるような
プロジェクトは作れなくて個別に沢山のプロジェクトを作らねばならなくなる。仮にそういう風にしかできない
んだとしてもそれならばプロジェクトを束ねるようなその上位の何かは作れないのか?でないと同じ階層に
プロジェクトが沢山作られてしまい非常に使い辛い。
436デフォルトの名無しさん
2019/03/23(土) 15:19:26.37ID:HXMNak6o >>435
トップレベルのmain()が名前空間で衝突しているからコンパイルエラーになると思われる。
class MyApp {
companion object {
@JvmStatic fun main(args: Array<String>) {
のような書き出しでエントリーポイントを作ることも出来ますが、そういった方法では解決できませんでしょうか。
トップレベルのmain()が名前空間で衝突しているからコンパイルエラーになると思われる。
class MyApp {
companion object {
@JvmStatic fun main(args: Array<String>) {
のような書き出しでエントリーポイントを作ることも出来ますが、そういった方法では解決できませんでしょうか。
437デフォルトの名無しさん
2019/03/23(土) 15:24:44.47ID:UK/ZLX81 >>435
A.kt に書けば AKt.class が、B.kt に書けば BKt.class が生成されるので
JvmNameとかpackage指定と合わないフォルダ下で名前衝突させたりしない限り
普通は衝突しないはずだけど
A.kt に書けば AKt.class が、B.kt に書けば BKt.class が生成されるので
JvmNameとかpackage指定と合わないフォルダ下で名前衝突させたりしない限り
普通は衝突しないはずだけど
438デフォルトの名無しさん
2019/03/23(土) 15:28:37.98ID:Bvojjkpo >>436
どうもありがとう。
同じ関数がなければ main() がファイルごとにあっても大丈夫なことがわかった。
実行する時は main() の行頭の左側に出ている ? マークをマウスでクリックして実行またはデバッグすれば実行できた。
どうもありがとう。
同じ関数がなければ main() がファイルごとにあっても大丈夫なことがわかった。
実行する時は main() の行頭の左側に出ている ? マークをマウスでクリックして実行またはデバッグすれば実行できた。
439デフォルトの名無しさん
2019/03/23(土) 15:29:46.08ID:Bvojjkpo >>437
ああ。package 付ける方法もあるな。試してないけどそれでもできそう。
ああ。package 付ける方法もあるな。試してないけどそれでもできそう。
440デフォルトの名無しさん
2019/03/23(土) 15:34:11.63ID:Bvojjkpo441デフォルトの名無しさん
2019/03/23(土) 15:38:27.73ID:UK/ZLX81 いや、437はpackageが同じでもファイル名が別なら衝突しないという話だよ
442デフォルトの名無しさん
2019/03/23(土) 18:56:11.23ID:Bvojjkpo >>441
package が同じというのは2ファイルが package 指定なしの時と同じだよね?
それだとダメだったんだよね。IntelliJ がどういう風にコンパイルしているかの問題だろうけど。
package が同じというのは2ファイルが package 指定なしの時と同じだよね?
それだとダメだったんだよね。IntelliJ がどういう風にコンパイルしているかの問題だろうけど。
443デフォルトの名無しさん
2019/03/23(土) 18:58:25.76ID:z3jdsP7r さすがにスレチ
444デフォルトの名無しさん
2019/03/23(土) 19:07:58.43ID:Bvojjkpo すまん。
445デフォルトの名無しさん
2019/03/23(土) 19:29:18.72ID:UK/ZLX81446デフォルトの名無しさん
2019/03/23(土) 20:07:45.61ID:UK/ZLX81 >>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(){}
}
ああごめん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(){}
}
448デフォルトの名無しさん
2019/03/26(火) 10:19:16.34ID:E1WCPVyW Kotlin/Nativeが遅い原因を逆アセンブルして調べてたらこの記事にたどり着いた
https://soywiz.com/kpspemu-kn09/
UpdateReturnRefやLeaveFrameのコストが重すぎる
1.3.20時点ではリリースビルドでも最適化はされていない
https://soywiz.com/kpspemu-kn09/
UpdateReturnRefやLeaveFrameのコストが重すぎる
1.3.20時点ではリリースビルドでも最適化はされていない
449デフォルトの名無しさん
2019/03/26(火) 19:23:47.37ID:NbUyZWCM 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 56097
https://you-can-program.hatenablog.jp
https://you-can-program.hatenablog.jp
450デフォルトの名無しさん
2019/03/26(火) 21:38:27.76ID:PDyA3k9g451デフォルトの名無しさん
2019/03/26(火) 21:40:50.59ID:PDyA3k9g ていうか既にプログラム書ける人ばかり来てるであろうスレでそんなの書かれても効果を実感できるやつはほとんど居ないだろうなあ。
452デフォルトの名無しさん
2019/03/26(火) 21:53:14.49ID:hJyrjtJ9453デフォルトの名無しさん
2019/03/29(金) 20:35:19.53ID:abJt4WgD 今日Kotlin入門しサクッと文法をやった程度のものですがAndroidプログラミングの学習リソースを探しています
JavaでのAndroidプログラミング経験はありません
JavaでのAndroidプログラミング経験はありません
454デフォルトの名無しさん
2019/03/29(金) 20:41:29.42ID:KqjpTu4V 今日やっていきなりかよ!
もうちょっとKotlin単体で粘れよ!他にやることあるだろ!
もうちょっとKotlin単体で粘れよ!他にやることあるだろ!
455デフォルトの名無しさん
2019/03/29(金) 21:25:55.21ID:Jv6E4VJb456デフォルトの名無しさん
2019/03/29(金) 21:34:48.88ID:wVkKBlg0457デフォルトの名無しさん
2019/03/30(土) 06:03:17.66ID:145z6i/c ぼくなんかJavaちょっとかじっただけでAndroidに挑戦しちゃったわ
あの時はActivityがクラスな事すら分からずにテキスト見てその通り書いてたな……😅
あの時はActivityがクラスな事すら分からずにテキスト見てその通り書いてたな……😅
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★2 [muffin★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 『水ダウ』年内は「名探偵津田」一色 藤井健太郎氏が報告 未公開"長袖"SP&第4話前編・後編とも90分SP [muffin★]
- まったりまったりおじゃる丸待機スレ🏡
- ヒトラー「乳首で感じる男はいない」
- ワイ「え!?まだポケモンやってんの?ww」 同僚「うん、子供とやるよ」
- X「スーパーで知り合いとかに会うのがなぜか苦手」共感の嵐 [394133584]
- ふわトロとかいう、おまんこにしか使わない単語
- 中古車で修復歴ありは安くても手を出すな←これまじ????
