JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/
Kotlin 5
■ このスレッドは過去ログ倉庫に格納されています
2018/12/08(土) 20:29:41.41ID:oXOQORcd
341デフォルトの名無しさん
2019/02/24(日) 12:59:23.23ID:pmK9w2Lp ランキング画面を作っていてRecyclerViewの項目のソートをしたいんですが、
Cellectionをお気に入り数の降順でソートした上で、
タイトルとサブタイトルの昇順にソートするにはどうしたらいいですか
以下でお気に入り数の降順でソートするところまではできたんですが。
RankingDatas.sortedByDescending { it.bookMarkCount }
Cellectionをお気に入り数の降順でソートした上で、
タイトルとサブタイトルの昇順にソートするにはどうしたらいいですか
以下でお気に入り数の降順でソートするところまではできたんですが。
RankingDatas.sortedByDescending { it.bookMarkCount }
342デフォルトの名無しさん
2019/02/24(日) 17:16:45.57ID:DytDvOjA 俺だったらデータを抜いてくる時点でソートをかけて抜いてくる。
343デフォルトの名無しさん
2019/02/24(日) 17:28:12.24ID:pmK9w2Lp APIレスポンスはそうして返してるんですが、
ローカルでお気に入りオンオフしてランキング順位が変わった場合に
再度APIを叩いてデータを取り直すのも微妙なので
その場合はローカルでソートして
順番を入れ替えたいという感じです
ローカルでお気に入りオンオフしてランキング順位が変わった場合に
再度APIを叩いてデータを取り直すのも微妙なので
その場合はローカルでソートして
順番を入れ替えたいという感じです
344デフォルトの名無しさん
2019/02/24(日) 18:25:01.14ID:nlMNXQkf ドキュメントにこう書いてあるからascendingとdescendingを順次呼び出せばいいんじゃない?
The sort is stable. It means that equal elements preserve their order relative to each other after sorting.
呼び出す順序はソート優先順位の逆順で
The sort is stable. It means that equal elements preserve their order relative to each other after sorting.
呼び出す順序はソート優先順位の逆順で
345デフォルトの名無しさん
2019/02/24(日) 20:05:27.33ID:pmK9w2Lp rankingDatas.sortedByDescending { it.bookMarkCount }.sortedBy { it.title }.sortedBy { it.subTitle }
やってみましたが、途中の結果は捨てられて単に subTitle の降順になるようです
やってみましたが、途中の結果は捨てられて単に subTitle の降順になるようです
346デフォルトの名無しさん
2019/02/24(日) 20:26:13.24ID:pmK9w2Lp 昇順か
347デフォルトの名無しさん
2019/02/24(日) 21:01:47.88ID:DSwgvg4z sortedWithつかえ
348デフォルトの名無しさん
2019/02/24(日) 21:07:06.34ID:pmK9w2Lp できましたありがとうございました
349デフォルトの名無しさん
2019/02/25(月) 01:07:00.43ID:EPSsIluE 呼び出す順序はソート優先順位の逆順でと言ったのに伝わらなかったか
350デフォルトの名無しさん
2019/02/25(月) 05:33:03.93ID:D5d9E5fI 「kotlin sort multiple fields」で検索!
351デフォルトの名無しさん
2019/02/26(火) 03:00:37.89ID:lsok3PaS こういうことしたかったのか?
https://code.i-harness.com/ja/q/2388797
https://code.i-harness.com/ja/q/2388797
352デフォルトの名無しさん
2019/02/26(火) 06:27:00.41ID:oQJIDyJZ 久しぶりに触ったらcoroutineがだいぶ変わってるらしくて以前からとりあえず動くけどよく分かってない状態だったのにもう全然分からないよ……(´・ω・`)
353デフォルトの名無しさん
2019/02/26(火) 07:07:49.29ID:UAPWfCGq >>352
とりあえず前知識として「コールバック地獄」について知っておくといいかも
とりあえず前知識として「コールバック地獄」について知っておくといいかも
354デフォルトの名無しさん
2019/02/26(火) 08:39:12.02ID:5k0N70Wq coroutine登場人物多すぎ
355デフォルトの名無しさん
2019/02/26(火) 09:55:03.32ID:E0EMtjG2 え?子ルーチンそんなに変わったの?
356デフォルトの名無しさん
2019/02/26(火) 10:37:15.60ID:UAPWfCGq experimental中は色々変わったけど正式版以降の使い方は基本的に変わってないよ
https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md
https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md
357デフォルトの名無しさん
2019/02/26(火) 12:06:54.02ID:5MxkS3P7 >>351
のリンク先で、数値なら、- で降順にできるのか?
list.sortedWith(compareBy({ -it.age }, { it.name }, { it.address }))
Ruby なら、
arr2 = arr.sort_by { |a| [ -a[:score], a[:room] ] }
のリンク先で、数値なら、- で降順にできるのか?
list.sortedWith(compareBy({ -it.age }, { it.name }, { it.address }))
Ruby なら、
arr2 = arr.sort_by { |a| [ -a[:score], a[:room] ] }
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が同じでもファイル名が別なら衝突しないという話だよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★2 [muffin★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 首相答弁「スパイ防止法、外国代理人登録法、ロビー活動公開法などについて速やかに法案を策定する」 [1ゲットロボ★]
- 【悲報】このままだと2040年に日本崩壊… たしかに高市事変やコメ高騰にかまけてインフラ老朽化問題を放置しているもんな [452836546]
- 中国外務省「全く不十分だ。ごまかすような手口を使うべきではない」高市答弁を批判 [834922174]
- まったりまったりおじゃる丸待機スレ🏡
- GeForceのグラボ値上げwwwwwwwwwwwwwwwwwwww
- 高速道路でスピード出してる軽見ると笑ってしまうんだが
- 元女子高生だけど質問ある?
