Kotlin 5

■ このスレッドは過去ログ倉庫に格納されています
2018/12/08(土) 20:29:41.41ID:oXOQORcd
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/
2019/03/18(月) 17:50:47.00ID:VkTfSOi0
>>407
本気で言うけど、公式ドキュメント程度の英語は頑張って読んだ方がいいと思うよ。
2019/03/18(月) 19:24:24.40ID:6b7FslP4
まぁAndroidの公式リファレンスは言語切替をシステム化してるから
ドキュメントのバージョンが不一致なら警告表示するくらいすればいいのにとは思う

iOSの方は英語以外バッサリ切り捨ててる(最新は英語読めと明示してある)から
中途半端に惑わされることは無い
412デフォルトの名無しさん
垢版 |
2019/03/18(月) 20:47:50.90ID:1gtRswz3
いつの間にかこんな入門書出てたよ。既にKindle版もある。

Kotlinプログラミング
https://www.amazon.co.jp/dp/B07M8LKSKV
413デフォルトの名無しさん
垢版 |
2019/03/19(火) 03:22:14.95ID:j5JxWPYN
もっと可愛い名前にすれば良かったのに
swiftみたいな
2019/03/19(火) 03:33:14.71ID:EnTGEExM
古都リンちゃん
2019/03/19(火) 10:04:27.55ID:InXhSaoV
>>409
日本語でしか表示されないんだが
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
2019/03/19(火) 12:07:55.88ID:t/u/FScK
Androidは公式で日本語ドキュメントあるのか
Kotlinのドキュメントは有志がやってたけどもうメンテしてないよな
418デフォルトの名無しさん
垢版 |
2019/03/19(火) 12:30:24.38ID:BI7+7Q7/
君がやってくれ。たのんだぞ。
2019/03/19(火) 14:20:51.95ID:3khslMEX
Kotlin in actionとどっちの方がいいんだ
2019/03/19(火) 15:10:03.68ID:TG1sbbZQ
>>416
丁寧にすまんな……
2019/03/19(火) 17:12:09.49ID:7p2/yAlP
>>417
公式日本語ドキュメントは更新が遅いから読まない方がいいぞ
2019/03/19(火) 17:54:02.89ID:qahjbQKM
kotlin native応援してるんだけど何が一番貢献になるんやろか?
翻訳とか細かなライブラリ作ったりくらいなら時間かければできそうなんやけど、難しいことはできん。
やっぱ募金とかなんか?
2019/03/19(火) 18:07:06.75ID:VCt0hAH/
>>422
まずはなんとかしてVSCodeを潰そう
このままだとJetBrains無くなるよ
2019/03/19(火) 18:12:21.52ID:STa9vfc0
>>422
とりあえず公式リポジトリのスターと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対応だけしっかりやれや。
2019/03/20(水) 09:36:36.87ID:bT3jH/zR
JetBrainsの業績そんなに悪くないしむしろ伸びてるはずだけど
2019/03/20(水) 13:58:35.52ID:uYHRW+dq
とりあえずgitとintellijの更新はしとく。
作るとしたら何系のライブラリがいいと思う?
2019/03/20(水) 14:21:09.73ID:wkbxcvwm
>>427
自分で使うやつ
より正確に言うとプルリクエストが来たときに議論できる程度に思い入れのあるやつ

使いもしないのに聞きかじりで作るのはやめておいたほうがいい
2019/03/20(水) 15:39:59.54ID:uYHRW+dq
なるほど。何に思い入れがあったか思い出してくるわ。
ありがと
2019/03/20(水) 17:00:17.12ID:BuSIOCAA
むしろMicrosoftのほうが糞
2019/03/20(水) 20:08:58.41ID:TxjggMxz
>>423
ならライセンス買おうよ。
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 ファイルのコンパイルでエラー)。

こういう使い方は想定されていないんだろうか? しかしこれができないと小さいプログラムが沢山あるような
プロジェクトは作れなくて個別に沢山のプロジェクトを作らねばならなくなる。仮にそういう風にしかできない
んだとしてもそれならばプロジェクトを束ねるようなその上位の何かは作れないのか?でないと同じ階層に
プロジェクトが沢山作られてしまい非常に使い辛い。
2019/03/23(土) 15:19:26.37ID:HXMNak6o
>>435
トップレベルのmain()が名前空間で衝突しているからコンパイルエラーになると思われる。

class MyApp {
companion object {
@JvmStatic fun main(args: Array<String>) {
のような書き出しでエントリーポイントを作ることも出来ますが、そういった方法では解決できませんでしょうか。
2019/03/23(土) 15:24:44.47ID:UK/ZLX81
>>435
A.kt に書けば AKt.class が、B.kt に書けば BKt.class が生成されるので
JvmNameとかpackage指定と合わないフォルダ下で名前衝突させたりしない限り
普通は衝突しないはずだけど
438デフォルトの名無しさん
垢版 |
2019/03/23(土) 15:28:37.98ID:Bvojjkpo
>>436
どうもありがとう。

同じ関数がなければ main() がファイルごとにあっても大丈夫なことがわかった。
実行する時は main() の行頭の左側に出ている ? マークをマウスでクリックして実行またはデバッグすれば実行できた。
2019/03/23(土) 15:29:46.08ID:Bvojjkpo
>>437
ああ。package 付ける方法もあるな。試してないけどそれでもできそう。
2019/03/23(土) 15:34:11.63ID:Bvojjkpo
>>437
どうもありがとう。

できたよ。違う package にしておけば同じ関数があってもうまく行く(名前衝突しないんだから当然と言えば当然か)。
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 がどういう風にコンパイルしているかの問題だろうけど。
2019/03/23(土) 18:58:25.76ID:z3jdsP7r
さすがにスレチ
444デフォルトの名無しさん
垢版 |
2019/03/23(土) 19:07:58.43ID:Bvojjkpo
すまん。
2019/03/23(土) 19:29:18.72ID:UK/ZLX81
>>442
>同じだよね?
同じ

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

>>443
これはKotlinコンパイラの仕様だから別にスレチではないよ
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(){}
}
447442
垢版 |
2019/03/24(日) 03:29:22.97ID:ynFGlX0q
>>446
どうもありがとう。
確かに private でも名前外に出さないからできるね。
2019/03/26(火) 10:19:16.34ID:E1WCPVyW
Kotlin/Nativeが遅い原因を逆アセンブルして調べてたらこの記事にたどり着いた
https://soywiz.com/kpspemu-kn09/

UpdateReturnRefやLeaveFrameのコストが重すぎる
1.3.20時点ではリリースビルドでも最適化はされていない
2019/03/26(火) 19:23:47.37ID:NbUyZWCM
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 56097
https://you-can-program.hatenablog.jp
450デフォルトの名無しさん
垢版 |
2019/03/26(火) 21:38:27.76ID:PDyA3k9g
>>449
そのためにわざわざ眼鏡買うのバカらしいから君ちょっと自分で試してみなさい。
それともブログ書いた本人だから試し済みか?
451デフォルトの名無しさん
垢版 |
2019/03/26(火) 21:40:50.59ID:PDyA3k9g
ていうか既にプログラム書ける人ばかり来てるであろうスレでそんなの書かれても効果を実感できるやつはほとんど居ないだろうなあ。
2019/03/26(火) 21:53:14.49ID:hJyrjtJ9
>>450
>>397
2019/03/29(金) 20:35:19.53ID:abJt4WgD
今日Kotlin入門しサクッと文法をやった程度のものですがAndroidプログラミングの学習リソースを探しています
JavaでのAndroidプログラミング経験はありません
2019/03/29(金) 20:41:29.42ID:KqjpTu4V
今日やっていきなりかよ!
もうちょっとKotlin単体で粘れよ!他にやることあるだろ!
2019/03/29(金) 21:25:55.21ID:Jv6E4VJb
>>454
>>453はXamarinのAndroid開発のエキスパートかもしれん...
2019/03/29(金) 21:34:48.88ID:wVkKBlg0
>>453
Activityとは何か?と考えることにひたすら時間を費やす。
使用言語にかかわらずandroid開発はそれがすべて。
2019/03/30(土) 06:03:17.66ID:145z6i/c
ぼくなんかJavaちょっとかじっただけでAndroidに挑戦しちゃったわ
あの時はActivityがクラスな事すら分からずにテキスト見てその通り書いてたな……😅
2019/03/30(土) 13:35:02.89ID:M1S6T7Ca
Rってなんですか?とか<T>ってなんですか?とかでぜひ挫折して欲しい
2019/03/30(土) 15:12:50.70ID:b12H3n9S
挫折するような人はRとは?とか<T>とは?なんてこと考えたりしない
2019/03/30(土) 15:38:23.64ID:bfZyzxOj
>>453
「Android Hello World」でググる
何はともあれ、まず動かすのが最速の学習
2019/03/30(土) 20:04:51.02ID:5DG6z16F
RもTも知らんけど、コピペで動いてるからそれでいい
適当にやれば動く
Rが赤いときは、大抵xmlの打ち間違い
T?知らん
2019/04/01(月) 00:45:49.25ID:Th3XB2nz
だいたいあってるw
2019/04/01(月) 01:50:31.93ID://wZRuJn
reifiedつよいよな
464デフォルトの名無しさん
垢版 |
2019/04/01(月) 09:38:57.10ID:Fy4OwQz+
発音が難しいよね
2019/04/01(月) 16:18:36.04ID:yssFrFp/
コトリンのジェネリクスのTってC#のdefaut(T)みたいなのある?
466デフォルトの名無しさん
垢版 |
2019/04/01(月) 17:10:11.92ID:Tc5+6fel
俺はC#を知らない
2019/04/01(月) 18:32:35.54ID://wZRuJn
ない
csはint x=defaultってかけるみたいだけどkotlinは明示的に0で初期化しなきゃいけない
他の型でも同じ
2019/04/01(月) 19:41:02.24ID:no59bRT+
C#のdefaultは単なるシンタックスシュガーじゃなくて、実行時に型引数に応じた適切な値を生成してくれる機能
JavaやKotlinのハリボテジェネリクスでは原理的に不可能
2019/04/01(月) 21:02:06.63ID:jyzymMUT
やりたくなったことは何度かある
2019/04/02(火) 01:27:31.42ID:imTVpGqL
default(T)ないのか・・・

こうしてみたけど何か改良点ある?
例外時にnullも返せないし例外時に返すためだけに引数にt入れてるんだが・・・

import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue

class SJson {
companion object {
inline fun <reified T> toObject(json: String, t: T): T {
val mapper = jacksonObjectMapper()
try {
val obj = mapper.readValue<T>(json)
return obj
} catch (e: Exception) {
SLog.e(e.message.toString())
return t
}
}
}
}
2019/04/02(火) 07:53:18.35ID:JAcM/MrS
>>470
単にnullを返したいということなら戻り値を T? にすればいい
2019/04/02(火) 08:46:54.35ID:e4jQj1uZ
ObjectMapper って使い回してよかったと思う
2019/04/02(火) 09:36:52.02ID:imTVpGqL
>>471
T?にしたらnull返せたわサンクス

>>472
なるほどね
2019/04/12(金) 13:13:10.63ID:EBXnKzt9
Kotlin 1.3.30 released
https://blog.jetbrains.com/kotlin/2019/04/kotlin-1-3-30-released/

KAPT関連の機能追加など
符号無し整数配列の機能追加など
Kotlin/Native
  mingw_x86サポート
  CocoaPodsとの実験的統合機能
  C相互運用改善
2019/04/12(金) 23:07:21.58ID:JX4xskgO
githubのrelease読んだけどめちゃくちゃ多かったな
476デフォルトの名無しさん
垢版 |
2019/04/13(土) 02:06:40.85ID:hw3Eyeqa
ここからだとまだ 1.3.21 のままだね。
https://kotlinlang.org/docs/tutorials/command-line.html
IntelliJ だと 1.3.30 にアップデートできたけど。
477デフォルトの名無しさん
垢版 |
2019/04/13(土) 02:22:02.28ID:hw3Eyeqa
あれ? UInt 型の変数を String.format() で指定する時はどうするのかな?
%d は駄目だし。toString() してから %s 使えってか?
2019/04/13(土) 09:53:18.70ID:oqNH9LQH
>>477
そのまま%sでも使えるけどString.formatはそもそもKotlinでなく
Javaの機能(=Kotlin/JVM以外で使用不可)なので
単純な書式ならString Template使った方がいいよ

val n = 100u
println( "n=${n}" )
479デフォルトの名無しさん
垢版 |
2019/04/14(日) 20:07:14.86ID:JuY/4ckm
UInt に関しては toLong() しちゃえば良いだけだと後で気づいたが、ULong の方はどうもならんね。
ULong.MAX_VALUE と Long.MAX_VALUE は10進数だと20桁と19桁で1桁違うので桁を考慮したフォーマットはこれを考慮する必要がある。
%20d とか %020d と書いても ULong については分かってくれないので自作する必要がある。
2019/04/15(月) 01:34:29.54ID:PzbTbQ3M
C#みたく${}内でフォーマットが使えれば一番なんだけどね…
2019/04/15(月) 17:43:26.97ID:3BglWTch
要望出せばそのうち出来るようになりそう
2019/04/19(金) 12:18:20.68ID:je8e8yU3
OracleJDK有料化でますますKotlin人口が増えるな
2019/04/19(金) 13:16:58.17ID:oa1dttvK
たしかASにjavaからkotlin変換がなかったっけ
あれで全て解決するような気がするんだけど
2019/04/19(金) 14:47:33.44ID:Z5+6w9VM
jdk有料化とかで騒いでいる奴いるけど
彼らにとってoraclejdkが唯一のjdkなのかな
2019/04/19(金) 14:57:46.07ID:/crv8Bf3
>>484
そうだよ
ついでに世界は五分前に始まった
2019/04/19(金) 17:40:48.18ID:xQzUZ1Zh
JDK有償化の話は何ら騒ぐようなことじゃなかったのに
Oracleの説明が手抜きだったからああなった

あとOpenJDK公式サイトの構成が酷く大部分がメンテされてないもの原因の一つ
例えば Groups > Adoption > Wiki > Adopt OpenJDK
2019/04/19(金) 17:46:39.55ID:xQzUZ1Zh
サイト管理者が違うんだろうけど
AdoptOpenJDKへのリンクをトップに置いとけばいいのに
OpenJDKのビルドインフラのメンバーが運用してるんだから
2019/04/19(金) 21:41:56.97ID:oXduz3ip
うちはAWSのやつに順次置き換えてるわ、名前が覚えにくいけど
2019/04/19(金) 21:50:42.00ID:aAzLpfHC
なによりJakartaEEが無能すぎる
2019/04/19(金) 22:34:55.70ID:hY3XsNGB
そこでjblendですよ
491デフォルトの名無しさん
垢版 |
2019/04/20(土) 09:53:47.54ID:IaSD8GNU
>>453
おぉー同士。
当方、Visual Basicアプリ、iOSアプリの経験はあるが、Android経験ゼロです。

どうやらAndroidManifest.xmlに記載のActivityがプログラムのエントリーポイントだと解った所。

iOSとの比較で言えば、
Activity = ViewController,
wedgit = View,
Fragment = Container ViewController
AppDelegate = Application
って感じらしい。
492デフォルトの名無しさん
垢版 |
2019/04/20(土) 11:40:44.23ID:IaSD8GNU
>>491
ちょいと違うかも!
Fragment = custom wedgit(user defined wedgit)

みたいだな。
さて、Java, Kotlin初心者なので、両者のコードの対応表が欲しいところだ。
493デフォルトの名無しさん
垢版 |
2019/04/20(土) 11:43:32.64ID:IaSD8GNU
>>492
>Java, Kotlin
Overview of Kotlin and Comparison Between Kotlin and Java
https://www.xenonstack.com/blog/overview-kotlin-comparison-kotlin-java/
494デフォルトの名無しさん
垢版 |
2019/04/20(土) 13:32:39.16ID:IaSD8GNU
>>493
JavaとKotlinの比較
https://xenos.world/comparison-of-java-and-kotlin/
495デフォルトの名無しさん
垢版 |
2019/04/21(日) 13:29:56.22ID:9kZK6Cbt
macOS Mojave 10.14.2
Android Studio 3.4
環境でBasic Activity Project作ってHello World表示するまで、かれこれ2hr費やした。

ハマりポイント
1. Gradle project sync failed. Basic functionality will not work properly.▶resolved with installing JDK 8u212
2. No Module Specified▶ガチャガチャやって解決。
496デフォルトの名無しさん
垢版 |
2019/04/21(日) 13:36:48.96ID:9kZK6Cbt
ところでGradleって何だ?

daemonとして動いてファイルの変更を監視するmakeコマンドみたいなものか?
今、Gradle sync failed問題で困ってる。
新しくプロジェクト作ったら、Gradle sync failedってエラー吐いて、新規にapkってかModuleを作れない。なぜ??
2019/04/21(日) 13:52:47.18ID:qy+VhZ5w
>>496
何かというのはググってどうぞ
Gradle sync failed は Android Studio側の問題 (おそらくbuild.gradle生成処理の問題)

必要なライブラリのダウンロードが終わってないと発生するような印象
Android Studioを再起動してプロジェクトを新規作成しなおすとエラーが無くなったりする
2019/04/21(日) 14:11:36.76ID:Jrx6sgEL
gradle嫌い。
完全オフラインで開発作業したいのに、
ちょっとした事でネットアクセスを要求してくる。
2019/04/21(日) 14:14:25.40ID:RKX/L/5n
GradleKotlinDSL使ってるけど情報少なすぎてハマるからオススメしない
500デフォルトの名無しさん
垢版 |
2019/04/21(日) 15:35:20.45ID:9kZK6Cbt
>>497
AndroidStudio3.4(17 April 2019)には問題ありと判断して、3.2へdegradeしてみた。

Gradle sync failed issueは初回Studio起動時に発生するも、指示に従って、build toolの最新版をinstallしてみた。

その後は3.2では問題発生せず!

ちなみに3.3はArchiveに発見できず。September 2018のAndroidStudioだが、まあ、良いんじゃ無いかぁ。
501デフォルトの名無しさん
垢版 |
2019/04/21(日) 15:53:07.87ID:9kZK6Cbt
くっそ!
AndroidStudio3.3は、English pageにあるのかぁ。
日本語ページに無いなんて!
どうやら、日本は置いてけぼりって事だ。
502デフォルトの名無しさん
垢版 |
2019/04/21(日) 16:45:42.90ID:9kZK6Cbt
AndroidStudio3.4
AndroidStudio3.2
AndroidStudio3.3.2

の順で試してみた。Mojave 10.14.3で。
Gradle sync failedが発生しないのは、3.2だった。
3.3.2, 3.4は発生する。

何をやっているかと言うと、
AndoroidStudioをinstallした直後に、新規プロジェクト(Basic Activity)を作った直後の挙動を調査しているのだ。

プロジェクト作成直後にGradle sync failedってよろしく無いよねぇ。
AndroidStudioをrestartしてもこの症状は解消しない。
2019/04/21(日) 16:51:51.27ID:qy+VhZ5w
>>502
3.3以降で、エラーになったプロジェクトを捨てて
再度新たにプロジェクトを作っても発生する?
504デフォルトの名無しさん
垢版 |
2019/04/21(日) 17:41:08.01ID:9kZK6Cbt
>>503
します。ただし、3.4の場合、何かのひょうしに解決されて、Gradle sync failedってのが出なくなります。

idea.logファイルに記録されてるWarningはこんな感じ。

WARN - n.GradleOrderEnumeratorHandler - Root project path of the Gradle project not found for Module: 'App03'
2019/04/21(日) 18:18:34.43ID:2Pn5K2oC
そのへんのエラーは冗談比喩抜きで「起動しっぱなしで放っておいたら数日後に直る」経験しかない
まあどっかの何かが新しい何かに何かしてなくて放置してると何かが何かなって何かするんだと思う
506デフォルトの名無しさん
垢版 |
2019/04/21(日) 18:20:30.52ID:9kZK6Cbt
>>504
>Root project path of the Gradle project not found

解決か?
~/Library/Preferences/AndroidStudio3.4/
~/Library/Preferences/AndroidStudio3.3/
を消してやると、Gradle Sync failed Issue解決!か?

今の所、上手く動いてる.
次は、Command Lineでkotlincコマンドを実行したいのだが、AndroidStudioをinstallしただけではダメなのだろうか?

In Android Studio download page, the basic Android tools below are included in Android Studio.
らしいのだが?
507デフォルトの名無しさん
垢版 |
2019/04/21(日) 18:36:10.73ID:9kZK6Cbt
試しに、
https://developer.android.com/samples
ここからサンプルプロジェクトをdownloadしてみた。
なんと、AndroidStudio付属のGradleとは異なるバージョンのGradleのinstallが始まった。

サンプルプロジェクト毎にTarget API Levelが異なるために、それ用のGradleがinstallされるみたい。

AndroidStudio3.2, 3.3.2, 3.4をinstallしたが、しばらく3.4を使ってみる。
508デフォルトの名無しさん
垢版 |
2019/04/21(日) 18:38:19.48ID:9kZK6Cbt
>>505
Gradle daemon(プロセス名java)をkillしてやれば、Sync failed Issueは解決するのかも!
2019/04/21(日) 18:48:08.38ID:2Pn5K2oC
すまん触った
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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