[表示 : 全て 最新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/

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]
ていうか既にプログラム書ける人ばかり来てるであろうスレでそんなの書かれても効果を実感できるやつはほとんど居ないだろうなあ。



458 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 21:53:14.49 ID:hJyrjtJ9.net]
>>450
>>397

459 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 20:35:19.53 ID:abJt4WgD.net]
今日Kotlin入門しサクッと文法をやった程度のものですがAndroidプログラミングの学習リソースを探しています
JavaでのAndroidプログラミング経験はありません

460 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 20:41:29.42 ID:KqjpTu4V.net]
今日やっていきなりかよ!
もうちょっとKotlin単体で粘れよ!他にやることあるだろ!

461 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 21:25:55.21 ID:Jv6E4VJb.net]
>>454
>>453はXamarinのAndroid開発のエキスパートかもしれん...

462 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 21:34:48.88 ID:wVkKBlg0.net]
>>453
Activityとは何か?と考えることにひたすら時間を費やす。
使用言語にかかわらずandroid開発はそれがすべて。

463 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 06:03:17.66 ID:145z6i/c.net]
ぼくなんかJavaちょっとかじっただけでAndroidに挑戦しちゃったわ
あの時はActivityがクラスな事すら分からずにテキスト見てその通り書いてたな……😅

464 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 13:35:02.89 ID:M1S6T7Ca.net]
Rってなんですか?とか<T>ってなんですか?とかでぜひ挫折して欲しい

465 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 15:12:50.70 ID:b12H3n9S.net]
挫折するような人はRとは?とか<T>とは?なんてこと考えたりしない

466 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 15:38:23.64 ID:bfZyzxOj.net]
>>453
「Android Hello World」でググる
何はともあれ、まず動かすのが最速の学習

467 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 20:04:51.02 ID:5DG6z16F.net]
RもTも知らんけど、コピペで動いてるからそれでいい
適当にやれば動く
Rが赤いときは、大抵xmlの打ち間違い
T?知らん



468 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 00:45 ]
[ここ壊れてます]

469 名前::49.25 ID:Th3XB2nz.net mailto: だいたいあってるw []
[ここ壊れてます]

470 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 01:50:31.93 ID://wZRuJn.net]
reifiedつよいよな

471 名前:デフォルトの名無しさん [2019/04/01(月) 09:38:57.10 ID:Fy4OwQz+.net]
発音が難しいよね

472 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 16:18:36.04 ID:yssFrFp/.net]
コトリンのジェネリクスのTってC#のdefaut(T)みたいなのある?

473 名前:デフォルトの名無しさん [2019/04/01(月) 17:10:11.92 ID:Tc5+6fel.net]
俺はC#を知らない

474 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 18:32:35.54 ID://wZRuJn.net]
ない
csはint x=defaultってかけるみたいだけどkotlinは明示的に0で初期化しなきゃいけない
他の型でも同じ

475 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 19:41:02.24 ID:no59bRT+.net]
C#のdefaultは単なるシンタックスシュガーじゃなくて、実行時に型引数に応じた適切な値を生成してくれる機能
JavaやKotlinのハリボテジェネリクスでは原理的に不可能

476 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:02:06.63 ID:jyzymMUT.net]
やりたくなったことは何度かある

477 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 01:27:31.42 ID:imTVpGqL.net]
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
}
}
}
}



478 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 07:53:18.35 ID:JAcM/MrS.net]
>>470
単にnullを返したいということなら戻り値を T? にすればいい

479 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 08:46:54.35 ID:e4jQj1uZ.net]
ObjectMapper って使い回してよかったと思う

480 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 09:36:52.02 ID:imTVpGqL.net]
>>471
T?にしたらnull返せたわサンクス

>>472
なるほどね

481 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 13:13:10.63 ID:EBXnKzt9.net]
Kotlin 1.3.30 released
https://blog.jetbrains.com/kotlin/2019/04/kotlin-1-3-30-released/

KAPT関連の機能追加など
符号無し整数配列の機能追加など
Kotlin/Native
  mingw_x86サポート
  CocoaPodsとの実験的統合機能
  C相互運用改善


482 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:07:21.58 ID:JX4xskgO.net]
githubのrelease読んだけどめちゃくちゃ多かったな

483 名前:デフォルトの名無しさん [2019/04/13(土) 02:06:40.85 ID:hw3Eyeqa.net]
ここからだとまだ 1.3.21 のままだね。
https://kotlinlang.org/docs/tutorials/command-line.html
IntelliJ だと 1.3.30 にアップデートできたけど。

484 名前:デフォルトの名無しさん [2019/04/13(土) 02:22:02.28 ID:hw3Eyeqa.net]
あれ? UInt 型の変数を String.format() で指定する時はどうするのかな?
%d は駄目だし。toString() してから %s 使えってか?

485 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:53:18.70 ID:oqNH9LQH.net]
>>477
そのまま%sでも使えるけどString.formatはそもそもKotlinでなく
Javaの機能(=Kotlin/JVM以外で使用不可)なので
単純な書式ならString Template使った方がいいよ

val n = 100u
println( "n=${n}" )

486 名前:デフォルトの名無しさん [2019/04/14(日) 20:07:14.86 ID:JuY/4ckm.net]
UInt に関しては toLong() しちゃえば良いだけだと後で気づいたが、ULong の方はどうもならんね。
ULong.MAX_VALUE と Long.MAX_VALUE は10進数だと20桁と19桁で1桁違うので桁を考慮したフォーマットはこれを考慮する必要がある。
%20d とか %020d と書いても ULong については分かってくれないので自作する必要がある。

487 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 01:34:29.54 ID:PzbTbQ3M.net]
C#みたく${}内でフォーマットが使えれば一番なんだけどね…



488 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:43:26.97 ID:3BglWTch.net]
要望出せばそのうち出来るようになりそう

489 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 12:18:20.68 ID:je8e8yU3.net]
OracleJDK有料化でますますKotlin人口が増えるな

490 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 13:16:58.17 ID:oa1dttvK.net]
たしかASにjavaからkotlin変換がなかったっけ
あれで全て解決するような気がするんだけど

491 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 14:47:33.44 ID:Z5+6w9VM.net]
jdk有料化とかで騒いでいる奴いるけど
彼らにとってoraclejdkが唯一のjdkなのかな

492 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 14:57:46.07 ID:/crv8Bf3.net]
>>484
そうだよ
ついでに世界は五分前に始まった

493 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:40:48.18 ID:xQzUZ1Zh.net]
JDK有償化の話は何ら騒ぐようなことじゃなかったのに
Oracleの説明が手抜きだったからああなった

あとOpenJDK公式サイトの構成が酷く大部分がメンテされてないもの原因の一つ
例えば Groups > Adoption > Wiki > Adopt OpenJDK

494 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:46:39.55 ID:xQzUZ1Zh.net]
サイト管理者が違うんだろうけど
AdoptOpenJDKへのリンクをトップに置いとけばいいのに
OpenJDKのビルドインフラのメンバーが運用してるんだから

495 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:41:56.97 ID:oXduz3ip.net]
うちはAWSのやつに順次置き換えてるわ、名前が覚えにくいけど

496 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:50:42.00 ID:aAzLpfHC.net]
なによりJakartaEEが無能すぎる

497 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:34:55.70 ID:hY3XsNGB.net]
そこでjblendですよ



498 名前:デフォルトの名無しさん [2019/04/20(土) 09:53:47.54 ID:IaSD8GNU.net]
>>453
おぉー同士。
当方、Visual Basicアプリ、iOSアプリの経験はあるが、Android経験ゼロです。

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

iOSとの比較で言えば、
Activity = ViewController,
wedgit = View,
Fragment = Container ViewController
AppDelegate = Application
って感じらしい。

499 名前:デフォルトの名無しさん [2019/04/20(土) 11:40:44.23 ID:IaSD8GNU.net]
>>491
ちょいと違うかも!
Fragment = custom wedgit(user defined wedgit)

みたいだな。
さて、Java, Kotlin初心者なので、両者のコードの対応表が欲しいところだ。

500 名前:デフォルトの名無しさん [2019/04/20(土) 11:43:32.64 ID:IaSD8GNU.net]
>>492
>Java, Kotlin
Overview of Kotlin and Comparison Between Kotlin and Java
https://www.xenonstack.com/blog/overview-kotlin-comparison-kotlin-java/

501 名前:デフォルトの名無しさん [2019/04/20(土) 13:32:39.16 ID:IaSD8GNU.net]
>>493
JavaとKotlinの比較
https://xenos.world/comparison-of-java-and-kotlin/

502 名前:デフォルトの名無しさん [2019/04/21(日) 13:29:56.22 ID:9kZK6Cbt.net]
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▶ガチャガチャやって解決。

503 名前:デフォルトの名無しさん [2019/04/21(日) 13:36:48.96 ID:9kZK6Cbt.net]
ところでGradleって何だ?

daemonとして動いてファイルの変更を監視するmakeコマンドみたいなものか?
今、Gradle sync failed問題で困ってる。
新しくプロジェクト作ったら、Gradle sync failedってエラー吐いて、新規にapkってかModuleを作れない。なぜ??

504 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 13:52:47.18 ID:qy+VhZ5w.net]
>>496
何かというのはググってどうぞ
Gradle sync failed は Android Studio側の問題 (おそらくbuild.gradle生成処理の問題)

必要なライブラリのダウンロードが終わってないと発生するような印象
Android Studioを再起動してプロジェクトを新規作成しなおすとエラーが無くなったりする

505 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:11:36.76 ID:Jrx6sgEL.net]
gradle嫌い。
完全オフラインで開発作業したいのに、
ちょっとした事でネットアクセスを要求してくる。

506 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:14:25.40 ID:RKX/L/5n.net]
GradleKotlinDSL使ってるけど情報少なすぎてハマるからオススメしない

507 名前:デフォルトの名無しさん [2019/04/21(日) 15:35:20.45 ID:9kZK6Cbt.net]
>>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だが、まあ、良いんじゃ無いかぁ。



508 名前:デフォルトの名無しさん [2019/04/21(日) 15:53:07.87 ID:9kZK6Cbt.net]
くっそ!
AndroidStudio3.3は、English pageにあるのかぁ。
日本語ページに無いなんて!
どうやら、日本は置いてけぼりって事だ。

509 名前:デフォルトの名無しさん [2019/04/21(日) 16:45:42.90 ID:9kZK6Cbt.net]
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してもこの症状は解消しない。

510 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 16:51:51.27 ID:qy+VhZ5w.net]
>>502
3.3以降で、エラーになったプロジェクトを捨てて
再度新たにプロジェクトを作っても発生する?

511 名前:デフォルトの名無しさん [2019/04/21(日) 17:41:08.01 ID:9kZK6Cbt.net]
>>503
します。ただし、3.4の場合、何かのひょうしに解決されて、Gradle sync failedってのが出なくなります。

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

WARN - n.GradleOrderEnumeratorHandler - Root project path of the Gradle project not found for Module: 'App03'

512 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:18:34.43 ID:2Pn5K2oC.net]
そのへんのエラーは冗談比喩抜きで「起動しっぱなしで放っておいたら数日後に直る」経験しかない
まあどっかの何かが新しい何かに何かしてなくて放置してると何かが何かなって何かするんだと思う

513 名前:デフォルトの名無しさん [2019/04/21(日) 18:20:30.52 ID:9kZK6Cbt.net]
>>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.
らしいのだが?

514 名前:デフォルトの名無しさん [2019/04/21(日) 18:36:10.73 ID:9kZK6Cbt.net]
試しに、
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を使ってみる。

515 名前:デフォルトの名無しさん [2019/04/21(日) 18:38:19.48 ID:9kZK6Cbt.net]
>>505
Gradle daemon(プロセス名java)をkillしてやれば、Sync failed Issueは解決するのかも!

516 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:48:08.38 ID:2Pn5K2oC.net]
すまん触った

517 名前:デフォルトの名無しさん [2019/04/21(日) 19:56:32.73 ID:9kZK6Cbt.net]
developer.android.comからサンプルをdownloadして動かしてたら、Gradle daemonが3つも動いてる事になった。

各々違うVersionのGradleらしい。

どうやら、androidの開発環境の歴史的変遷から、ややこしい事になってるみたいだ。

build.gradle(Module:app)とbuild.gradle(Project: kotlinApp)の2つあったり。



518 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:42:46.66 ID:ePLxajCC.net]
連投しているところ悪いけど、その手の日記ならQiitaにでも書いておいてほしい。
ていうか書くまでもなくそこに答えが書いてある。

519 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:54:30.74 ID:JMkKpOJG.net]
まずはAndroid関係ないシンプルなGradleプロジェクトを作ってみることをお勧めする。基礎知識が欠落しすぎてて余計な回り道しかしてない。
よほど込み入ったことをしない限りそんなに複雑なものではないから。
少なくとも歴史上生まれてきた数々のビルドツールの中では1番マシ。

520 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:54:39.59 ID:8IQ6w5E8.net]
.gladleのキャッシュとかいろいろあるけどねえ
ガチャガチャやってりゃ直るからgladleは優しいよな

521 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:55:48.78 ID:JMkKpOJG.net]
それ。ぶっ壊れたと思っても適当になんかしてりゃ直ってくれるから優秀。

522 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 23:56:09.92 ID:+YkyhY+W.net]
まったく毎度毎度グーグルの仕事はほんんんんと雑だな

523 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 00:58:40.19 ID:47gIWCEb.net]
fragmentのbindingってlateinitでvarにするのとby lazyでvalにするのとどっちが正解ですか

524 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 03:51:49.53 ID:SyBBal55.net]
>>509
はい

525 名前:デフォルトの名無しさん [2019/04/22(月) 10:56:56.63 ID:QiOq/xsC.net]
>>512
thx
found great articles in Qiita concerning Gradle build tool.

526 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:17:09.85 ID:iCdpr57v.net]
JVMが有償化したらおまえら阿鼻叫喚

527 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:49:18.33 ID:+g+F61Q1.net]
1年くらい前は確かに阿鼻叫喚だったけど今となってはもう誰も問題だと思ってない



528 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 13:54:04.36 ID:5CpOs8vM.net]
>>519
JVM, JRE, JDKが今どんな状況か分かってなさそう

529 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 14:54:26.97 ID:3J9RCiSz.net]
>>521
詳しく頼む

530 名前:デフォルトの名無しさん [2019/04/22(月) 16:23:17.22 ID:QiOq/xsC.net]
>>522
Android Studio 3.4
Build #AI-183.5429.30.34.5452501, built on April 10, 2019
JRE: 1.8.0_152-release-1343-b01 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.3

これでどう?

531 名前:デフォルトの名無しさん [2019/04/22(月) 16:29:37.09 ID:QiOq/xsC.net]
俺、AndroidStudio3.4をinstallしてからGradle sync failed問題を解決しようとして、Oracle JDK8u212ってのをinstallしちまった。

AndroidStudio3.4にはOpenJDKってのが入ってるのか?
Oracle JDK8u212ってのはuninstallしても良いのか?

ちなみに、Command Lineでjava -vすると
>java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

532 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:34:09.84 ID:952sQ1R ]
[ここ壊れてます]

533 名前:S.net mailto: >>524
Android Studioには専用にカスタマイズされたOpenJDKが組み込まれててそれを使って動いているから、システムに別のJDKを入れようが入れまいが関係ない
[]
[ここ壊れてます]

534 名前:デフォルトの名無しさん [2019/04/22(月) 16:35:59.31 ID:QiOq/xsC.net]
ちなみにgradleってファイル名のbash scriptがAndroidStudio3.4には入っていて、
1. $JAVA_HOME
2. which java

上記からjavaコマンドの場所を検索してgradle-launcher-5.1.1.jarを動かしてるみたいなんだけど。

535 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:37:13.18 ID:952sQ1RS.net]
で、何がわからなくて何が聞きたいの?

536 名前:デフォルトの名無しさん [2019/04/22(月) 16:40:22.54 ID:QiOq/xsC.net]
>>525
なるほど!
ってことは、Oracle版JDKはuninstallしてもOK?

以下のフォルダをごそっと削除してしまいたいんだけど。

> /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home

537 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:49:59.02 ID:952sQ1RS.net]
>>528
Android Studioを動かすだけなら消しちゃって大丈夫。
そのパソコンで他にjavaに依存している何かを動かしてるなら消しちゃダメ。



538 名前:デフォルトの名無しさん [2019/04/22(月) 18:10:15.79 ID:QiOq/xsC.net]
>>529
thx
javaに依存してる何かは、無いです。

kotlinc(Kotlin Compiler)コマンドを使いたいので
>brew install kotlin
ってコマンドを打とうとしてます。
kotlinがJREを必要とするなら、JREも同時にbrewがinstallするでしょう。
だったら、消さずに残すのが良いでしょうか?

539 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:06:49.70 ID:R7Rys8j6.net]
幼稚園児が増える季節か

540 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:49:54.02 ID:BvK+7rjz.net]
この前も別の初心者がkotlincで詰まってたんだけど、どこかの有名な入門サイトがコマンドライン推奨でもしてるの?
正直kotlin書くならIDE前提だろうからコマンドラインでコンパイラの使い方を覚える必要なんて全くないと思うんだが。

541 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:19:08.99 ID:SyBBal55.net]
>>532
同じ人なのでは
n=1

542 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:20:41.47 ID:47gIWCEb.net]
dagger

543 名前:デフォルトの名無しさん [2019/04/22(月) 20:31:59.51 ID:QiOq/xsC.net]
>>532
うっそーん。
コマンドラインでチョコっと、コードを試したいってこと無い?
IDEよりVimが好きな俺だけか?

ようやく、Quickrun.vimが動くようになって、今コレ読んでるところ。

はじめてのKotlin。Javaと比較してみた
https://qiita.com/hituziando/items/fa2dc4097b24ab78276e

30分で覚えるKotlin文法
https://qiita.com/k5n/items/cc0377b75d8537ef8a85

544 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:41:55.57 ID:47gIWCEb.net]
それならブラウザ上で実行できるplayground的なものが公式にあったはず

545 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:49:23.39 ID:952sQ1RS.net]
ちょっと書いてちょっと動かすにしてもIntelliJでRunした方がいいしな、デバッガが超優秀だし
Vimで書いてコマンドラインで実行ってのは確かに昔Javaを勉強した頃はやったけど、
今となっては出汁をとるのに鰹節を削るところから始めるような古めかしさを感じる

546 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:51:00.58 ID:952sQ1RS.net]
まあ好みだからそれがやりたいなら良いとは思うよ
仕事で新人がそんなことで詰まってたらやんわり注意するかもしれんけど

547 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:51:15.45 ID:MftVaIwk.net]
そういうときはREPL使ってる



548 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:14:37.90 ID:j5GMJ/X8.net]
単一ファイルを少し変更したいときはエディタ。
それ以外はIDEを使う

549 名前:デフォルトの名無しさん [2019/04/22(月) 21:42:39.28 ID:QiOq/xsC.net]
>>537
三大Java IDEは気にはなってるけど、今の所リソース食いそうで躊躇してます。

今の所、Referenceの検索容易性から俺にはVimかなぁ。
デバッグ環境はpoorかな。

550 名前:print文を埋め込むしか、今の所は手が無しかな。

デバッグが必要ならAndroidStudio起動して、なおかつKotlin Scriptに変換して動かす事にします。

ScriptじゃないKotlinコードをAndroidStudioで動かす事は出来ないのかな?よく解らん。

Xcodeならplayground作れるんだが。
[]
[ここ壊れてます]

551 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:53:50.10 ID:BvK+7rjz.net]
君、謎の行動力がありそうでそれはいいんだけど、
本当に何から何まで無駄なことばっかりやってるからまず最初に調べる癖をつけたほうがいい
この世界は一にも二にもまずは調べることが何より大事

552 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:12:50.79 ID:5CpOs8vM.net]
KotlinやるならIntelliJ一択
あとガワが違うだけでAndroid Studioの中身はIntelliJ
※Android以外のプロジェクト作成など、一部の機能を非表示にしている

553 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:19:17.89 ID:BvK+7rjz.net]
Kotlin勉強したいならIntelliJの無償版使うのが1番おすすめだねえ
ちなみにAndroid Studio動かすのと消費するリソースは同じ、何せほぼ同じものだし

554 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:23:01.40 ID:5CpOs8vM.net]
>>522
・JVMはJREの一部、JREはJDKの一部
・Java9以降「システムへの単一JREのインストール」は無くなっており、
 JDKから各アプリの同梱用JREを生成する (jdeps/jlink)
・OracleJDKに含まれるJVMは既に有償化されている
・OpenJDKに含まれるJVMは今後も有償化されることは無い

555 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 23:33:08.26 ID:2FYuav9u.net]
>>545
ありがとう
十分に理解できました

556 名前:デフォルトの名無しさん [2019/04/23(火) 12:05:16.04 ID:3Q52IgbA.net]
>>535
>はじめてのKotlin。Javaと比較してみた
>https://qiita.com/hituziando/items/fa2dc4097b24ab78276e
>
>30分で覚えるKotlin文法
>https://qiita.com/k5n/items/cc0377b75d8537ef8a85

もういっちょ!
Kotlinまとめ - 文法詳解 - クラスとそのメンバ
https://qiita.com/hicka04/items/6f47f505d7b68ede3680

557 名前:デフォルトの名無しさん [2019/04/23(火) 13:16:20.26 ID:gv0SOq8d.net]
>>535
ある。ちょこっとする時は例えWindowsで IntelliJ 起動中でも Linux サーバ側でREPLやるな。
なんでかというと IntelliJ のREPLのウインドウはなんか出力がすぐ出なかったりでおかしいから。
その他短すぎるプログラムのためにわざわざプロジェクト作ったり packge 作るのもアホらしい時とか。



558 名前:デフォルトの名無しさん [2019/04/23(火) 14:13:43.00 ID:3Q52IgbA.net]
Android Studio残念ポイント!

1. Android Projectしか開くことができない。
2. Hello Worldするhello.ktを開くことができない。

なんで?そう言う時は、IntelliJ使えってことか?▶なんだろうなぁ。

559 名前:デフォルトの名無しさん [2019/04/23(火) 14:52:10.33 ID:67h9+wNp.net]
>>548,549
JUnit使う手がある。
しかも、main毎にファイル分けるとかしなくていいし。

560 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 14:54:14.57 ID:TrDrz5+t.net]
>>548
IntelliJのあれはまともに動いてないんじゃないかとずっと思ってる
まともに使えてる人いるのだろうか…?

561 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 15:47:52.74 ID:KnPjeA9Q.net]
Intの変数名をintってするのってまずい?

val int : Int = 0

こういうの

562 名前:デフォルトの名無しさん [2019/04/23(火) 15:52:03.96 ID:3Q52IgbA.net]
>>548
REPLねぇ。

Ruby, JavaScript(Node.js), SwiftのREPL環境を使ったことあるけど、Reflection機能が充実している言語(ruby)以外、イマイチだなぁ。

コードの編集も不自由だし。

あんた、本当にLinux側でREPLする事あるの?

563 名前:デフォルトの名無しさん [2019/04/23(火) 15:54:20.98 ID:3Q52IgbA.net]
>>552
怖いなぁ。そのコード。
俺、さっき、setNameってメソッドを作ったら、clashしてるって怒られた。
clash = conflict って意味らしい。
java.lang.StringのsetNameメソッドとコンフリクトしてるから、コンパイルしないんだって。

564 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:06:01.49 ID:KnPjeA9Q.net]


565 名前:そういうことあるのか
でもIntがintじゃないのってintを変数名で使ってもいいよっていう意思を感じるんだよなあ

val hoge : Hoge

ってすることを考えると

val int : Int

も自然な気がする
[]
[ここ壊れてます]

566 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:09:50.49 ID:KnPjeA9Q.net]
ああでもjavaは予約語でintだめなのか
やっぱりやめておこう

567 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:25:21.03 ID:xD8uuYM0.net]
そもそも逆コンパイルしたソースじゃないんだから
意味のある変数名付けなよ



568 名前:デフォルトの名無しさん [2019/04/23(火) 16:31:00.98 ID:3Q52IgbA.net]
macOS10.14.3
AndroidStudio3.4
環境です。API Referenceを参照するには、どうすれば?
Command-Jで起動するかと思いきや?何も起こらないっす。

Webサイトへ行かないとダメなのかな?

569 名前:デフォルトの名無しさん [2019/04/23(火) 17:37:07.37 ID:gv0SOq8d.net]
>>553
ちょっと試す時とかによく使うよ

570 名前:デフォルトの名無しさん [2019/04/23(火) 17:41:27.91 ID:3Q52IgbA.net]
>>559
thx
そっすか。

571 名前:デフォルトの名無しさん [2019/04/23(火) 18:02:43.25 ID:3Q52IgbA.net]
>>558
see the hit result of Help>Search(Documentation).
You can retrieve the documents by ctrl-J@macOS as well.

572 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:19:13.65 ID:IWDMUBZh.net]
>>555
とりあえず変な癖をつける前に『リーダブルコード』を読んでくれ、頼むから

573 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:47:01.75 ID:hcUTeQ5O.net]
リーダブルコード読みやすいしわかりやすいし為になるし
書いたやつ神

574 名前:デフォルトの名無しさん [2019/04/23(火) 19:49:26.39 ID:3Q52IgbA.net]
>>562
>リーダブルコード
この本そんなに良い本なのか?

ペラペラ見たことあるけど、すでに知ってること、というか、実践していることしか書いてなかった。

575 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:52:05.70 ID:Ky48Nwl1.net]
>>564
嘘だ

576 名前:デフォルトの名無しさん [2019/04/23(火) 20:08:14.43 ID:gv0SOq8d.net]
>>564
じゃあその本に書いてないことが書かれた本を出してくれ。Kindle版だけでもいいから。

577 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:16:21.90 ID:IWDMUBZh.net]
>>565
知っていることを再認識させてくれる良書ではある



578 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:18:24.37 ID:IWDMUBZh.net]
何でIDが同じになるんだよ
同じプロバイダーなのか

579 名前:デフォルトの名無しさん [2019/04/23(火) 20:22:11.04 ID:gv0SOq8d.net]
たまーに同じID出ることあるな。ものすごく希だが。
きっと今日は良いことあるよ。あと3時間40分ぐらいで終わるけど。

580 名前:デフォルトの名無しさん [2019/04/23(火) 20:22:12.06 ID:3Q52IgbA.net]
>>565
嘘じゃない。
ああぁ。俺は間違ってないんだな。という感じ。
まあ、詳細に読んだわけでは無いし、プログラマが知るべき97のこと、って本にも似たような事が書いてある。

Matzも「名前重要」なんて事を、97本に寄稿している。
プログラミング作法、なんかの方がよっぽど良かったな。俺には。

581 名前:デフォルトの名無しさん [2019/04/23(火) 20:24:15.75 ID:3Q52IgbA.net]
>>569
って事はHash algorithmがpoorってこった。

582 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:25:36.05 ID:B8eC+d1i.net]
コードコンプリート

583 名前:デフォルトの名無しさん [2019/04/23(火) 20:27:52.73 ID:3Q52IgbA.net]
>>570
>Matzも「名前重要」

私の設計上の座右の銘は「名前重要」です。あらゆる機能をデザインする時に、私はその名前にもっともこだわります。

courtesy of Matz

584 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:29:32.04 ID:IWDMUBZh.net]
プログラミング作法
プログラム書法
ソフトウェア作法

全てブライアン・カーニハン御年77歳の名著

585 名前:デフォルトの名無しさん [2019/04/23(火) 20:31:32.66 ID:gv0SOq8d.net]
>>571
まあそういうことだな。
こんな掲示板でrichにしてどうするって感じはするが。

586 名前:デフォルトの名無しさん [2019/04/23(火) 20:32:56.33 ID:3Q52IgbA.net]
>>566
じゃぁ、一つ俺の考え方を!

狭いスコープの中を生きる変数は、名前が短くても良い。
e.g. str1 = “OK”

広いスコープの中を生きる変数の名前は、長い名前が必要。
e.g. numberOfBooks = 100

何時いかなる時も、意味ある変数名をつけるのは、俺は反対だ。
変数名を考える事に、時間が惜しい時もある。

587 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:33:50.86 ID:PyZ6tY2R.net]
拡張プロパティに値セットする方法ある?



588 名前:デフォルトの名無しさん [2019/04/23(火) 20:36:26.55 ID:gv0SOq8d.net]
やはりプログラミングも茶道とか華道とかと同様にプログラミング道を作ってわびさびが必要な時代が来たのかも知れないな。

589 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:36:27.27 ID:IWDMUBZh.net]
>>576
そ、ループ変数なんて i, j, k, ....nで良いやん

590 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:38:43.46 ID:PyZ6tY2R.net]
でもkotlinでforとか使わなくね?

591 名前:デフォルトの名無しさん [2019/04/23(火) 20:42:02.64 ID:gv0SOq8d.net]
>>576
変数名を日本語にすれば良い。
ソース丸ごと世界に公開する予定がないならその方が分かりやすくて良い。
日本語知らないやつには難読化して軽くプロテクトが掛かった状態にもなる。

592 名前:デフォルトの名無しさん [2019/04/23(火) 20:54:10.92 ID:3Q52IgbA.net]
>>581
昔、英語が出来なかった時には、
kabuPrice
とか
kabuka
なんて恥ずかしい名前使ってたけど、
今では、
sharePrice
でないと、code reading時にストレス感じるわぁ。

593 名前:デフォルトの名無しさん [2019/04/23(火) 20:57:09.18 ID:gv0SOq8d.net]
漢字使え漢字

594 名前:デフォルトの名無しさん [2019/04/23(火) 21:02:15.89 ID:3Q52IgbA.net]
val 感じ = "感じ"
print(感じ)
なんと、warningは出るが、実行可能。

595 名前:デフォルトの名無しさん [2019/04/23(火) 21:05:59.98 ID:3Q52IgbA.net]
Qiita見ながらKotlin修行中だけど、
Jump Command便利そう。
return@forEach
continue@loop
return@loop
とか言うやつ。

これSwiftに欲しい。

596 名前:デフォルトの名無しさん [2019/04/23(火) 21:15:06.63 ID:3Q52IgbA.net]
そんなことより、API referenceってかDocumentをofflineで見る手段、どうしてる?
Zeal, Velocity, Dashなんかを使ってるの?
Android StudioでAppCompatActivetyを引くと

android.support.v7.app.AppCompatActivity public AppCompatActivity()

Gradle: com.android.support:appcompat-v7:28.0.0@aar

たったコレだけしか表示されないっす。

597 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:32:38.61 ID:bGCgvaJg.net]
>>517
俺も謝っておく
触ったすまん



598 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:53:05.69 ID:strBUBex.net]
>>585
便利な反面1歩間違えると悲惨なコードになりそうだな

599 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 22:46:19.69 ID:B8eC+d1i.net]
尻でも触ったのか

600 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 23:21:01.87 ID:IWDMUBZh.net]
>>585
Kotlinにあるでしょそれ
https://kotlinlang.org/docs/reference/returns.html

601 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 23:23:43.15 ID:IWDMUBZh.net]
ごめん間違えた、SwiftにあるからKotlinに欲しいって読み違えた
Xamarinのライセンス買ってくる

602 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 05:30:04.16 ID:BhgQi2cO.net]
悲惨なコードとは?

603 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 05:38:27.15 ID:MHxaAVIF.net]
goto文みたいに次にどこに行くのか読みにくいって意味じゃないかな
そんなことはないけどね

604 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 05:51:11.02 ID:kB2a7+Os.net]
変数名漢字って結構有りだと思う
平均からすれば英語かなり必死に勉強したほうだと思うけど、ネイティブからすれば変な英語使ってるって自覚あるし
ネイティブ的な感覚がないから、命名には常に苦労する
もちろん特定用途でしか使えない手法だけど、やっぱり母国語ってわかりやすいよね
英語圏のやつらにスーパハカーが多いのはそういう理由もあるよな、母国語でプログラムできるのうらやましいわ

605 名前:デフォルトの名無しさん [2019/04/24(水) 07:33:38.62 ID:ZqBzQREh.net]
>>594
英語人口20億、英語母語5億
くらいじゃない?

チェコ、ロシア、ルクセンブルグにHacker多い印象が俺にはある。

606 名前:デフォルトの名無しさん [2019/04/24(水) 11:18:15.23 ID:ZqBzQREh.net]
Constructorの書き方がムズイ。
primery, secondary constructorとか、Swiftには無いし。

Kotlinスタートブック、はしばらく様子見。今の所買わない方向で…
だって、2016年の本って、情報が古そうだし。

607 名前:デフォルトの名無しさん [2019/04/24(水) 12:11:30.51 ID:f6AiwYyw.net]
そのうち在日ユダヤが「日本人にベーグル盗まれた」なんて狂言やりそう



608 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:20:40.85 ID:ymPUK1bE.net]
>>594
日本語固有のややこしい漢字の名称を無理やり英語にするよりはそのまま使った方が可読性もはるかにいいわな
何か不都合が起きたらIDEでリネームすりゃいいだけの話だから、全然ありだと思う
俺はテストケース名は日本語がんがん使う

609 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:48:24.16 ID:CTi91KC0.net]
>>596
Swiftの designated initializer ≒ Kotlinの primary constructor
Swiftの convenience initializer ≒ Kotlinの secondary constructor

610 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 13:08:03.94 ID:CTi91KC0.net]
>>599の具体例

Swift
https://ideone.com/48Boj1

Kotlin 比較用
https://ideone.com/ovwjrs

Kotlin 短縮
https://ideone.com/IcR8Wo

611 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 13:28:15.20 ID:CQvKnKTI.net]
>>577だけどこれ無理っぽいな

612 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 14:01:42.54 ID:CTi91KC0.net]
>>577
勧めるものじゃないけど、一応疑似的にならば
https://ideone.com/7lTdsi

class A {}

private val xname = WeakHashMap<Any,String?>()
var A.name: String?
get() = xname[this]
set(v:String?) { xname[this] = v }

613 名前:デフォルトの名無しさん [2019/04/24(水) 14:14:45.53 ID:ZqBzQREh.net]
>>599
thx

614 名前:デフォルトの名無しさん [2019/04/24(水) 14:19:09.62 ID:ZqBzQREh.net]
>>602
Kotlin day3の俺には、なぜAのインスタンスがnameプロパティを持つのか?
良く解らん。
Rubyみたいに、Aを再オープンしてるのか?

615 名前:デフォルトの名無しさん [2019/04/24(水) 14:22:08.49 ID:ZqBzQREh.net]
>>604
fun mainの外でthisは何を指してるのだ?

616 名前:デフォルトの名無しさん [2019/04/24(水) 14:28:29.52 ID:ZqBzQREh.net]
>>605
>fun mainの外でthis
ってのはMainKtのインスタンスってことか?
うぅーん。後で確認。

fun main(args: Array<String>) {}

in a file called Main.kt will compile to something like:

public class MainKt {
public static void main(String[] args) {}
}

617 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 14:55:22.29 ID:CTi91KC0.net]
>>604
602は拡張プロパティとシングルトンのWeakHashMapを利用している
詳細はgoogleで

拡張プロパティ:
見た目はプロパティだが実際のところ
staticメソッドのシンタックスシュガー

fun A_name_get(thisObj: A): String? {
  return xname.get(thisObj)
}

println( a.name )
 ↓
println( A_name_get(a) )


WeakHashMap:
キーがGC対象となるのを阻害しないMap
aとnameの関連付けはここに入っている
aがへの参照が無くなったら、nameへの関連付けもCG対象になって消える



618 名前:デフォルトの名無しさん [2019/04/24(水) 15:34:34.20 ID:ZqBzQREh.net]
>>607
>拡張プロパティ

気になる!

Rubyの特異メソッドみたいなもんか?
特異メソッド:クラスに住んでるメソッドとは異なり、オブジェクトに住んでるソレ!

619 名前:デフォルトの名無しさん [2019/04/24(水) 15:49:00.84 ID:ZqBzQREh.net]
>>608
特異メソッドとは違うみたい。

Rubyのクラスの再オープン、オープンクラス、monkey patching
とか言う邪悪なテクみたい。

Dateクラスに本来備わってないyesterday, tomorrowとかいうpropertyを追加したりできる。

620 名前:デフォルトの名無しさん [2019/04/24(水) 15:52:13.17 ID:ZqBzQREh.net]
うぅーん。
top level でthisが何を指しているのか?
よく解らん。

621 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 15:52:31.03 ID:CTi91KC0.net]
連投せずググりなさい

622 名前:デフォルトの名無しさん [2019/04/24(水) 15:56:37.35 ID:ZqBzQREh.net]
>>610
きっとthisは、nameプロパティーが呼ばれるまで定まらなくて、nameプロパティーのレシーバー(a1, a2)の事なんだ。

と言う事にしておこう。

拡張関数、拡張プロパティー、が必要になった時のメモ

Kotlinの拡張関数と拡張プロパティについて
https://qiita.com/RyotaMurohoshi/items/4b958af1d23da6d91a61

623 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 17:00:48.57 ID:HA70GdMc.net]
>ID:ZqBzQREh
日記は自分のブログでやってくれ

624 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 17:06:36.37 ID:ymPUK1bE.net]
散々言われてるみたいだけどまずとりあえずググる習慣をつけなさい
君はしなくていい回り道が多すぎる

625 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:05:15.35 ID:CQvKnKTI.net]
>>602
なるほど外のmapに入れられたのか、盲点だった
それとweakhashmapなんてあったのか初めて見たわ

626 名前:デフォルトの名無しさん [2019/04/24(水) 20:26:09.12 ID:ZqBzQREh.net]
>>547
30分で…の記事、2日かけてようやくinfix記法のところまで読めた。
多分費やした時間は6hr以上。

全然30分じゃない。

627 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:28:11.81 ID:Hf91oH+Q.net]
>>614
君も謝る羽目になるよ



628 名前:デフォルトの名無しさん [2019/04/24(水) 20:45:23.71 ID:ZqBzQREh.net]
なんと、キーワードになっている識別子もエスケープ可能!

例:isと言う名前のメソッドも呼び出せる。
foo.`is`(bar)

こんな感じ!

629 名前:デフォルトの名無しさん [2019/04/24(水) 20:49:33.98 ID:ZqBzQREh.net]
Qiitaの30分で…の記事、走り読みした。約8hr位要した。
Vim内でチョコチョコ試運転しながら、走り読み。

お疲れ様でした。▶俺

630 名前:デフォルトの名無しさん [2019/04/24(水) 20:52:35.15 ID:ZqBzQREh.net]
レシーバー付き関数リテラル、がよく解らんかった。

クラス移譲、プロパティー移譲
byとか使う奴。こんなのSwiftには無かったなぁ。

631 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:03:15.80 ID:kFXKi6KY.net]
>>596
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016

太郎本を買っていない香具師は、モグリ!

632 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:13:18.43 ID:kFXKi6KY.net]
Kotlin は、swift とは似ていない

Kotlin は、Groovy を静的にしたもの。
つまり、Ruby, JavaScript の系統

オブジェクト指向・関数型のミックス

633 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:03:35.37 ID:JvprRVGM.net]
Swift程の糞はない

634 名前:デフォルトの名無しさん [2019/04/25(木) 06:51:51.77 ID:BgXoud3L.net]
>>621
赤ベコ本の事ね。

635 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 09:50:10.40 ID:P7ID4Nfd.net]
リーダブルコード要約
https://gist.github.com/AKB428/b8970cea987577ec93c2

初心に戻る良著
最近省略して書いてたから反省してる

636 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 11:34:43.93 ID:ap5qFTOn.net]
> 読みやすい
> if (length > 10 )
>
> 読みにくい
> if (10 < length)

その主観は慣れによる、俺にとっては前者の方が読みにくい

うちでは「物差しの向きに一貫性を持たせる」という指針でやっている
その上で統一のため原則として「小さい方を左に書く」
よって >, >= を使わない

if (10 <= length && length < 100)


まぁRangeやRectでメソッドでの判定をすることも多く
そういう場合は左がどうこうというのは無いが

637 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 11:52:49.98 ID:8pGnANx9.net]
>>626
>if (10 <= length && length < 100)

if (length >= 10 && length < 100)
たまに、こう書くヤツが居るが殺意を覚える

一般的には可変値が左だと思う



638 名前:デフォルトの名無しさん [2019/04/25(木) 12:18:15.49 ID:NAVagSqc.net]
俺も可変値が左だと思うけど、統一された指針が既にあるならそれを貫いたほうがいい
一貫性はとても大事

639 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:32:09.35 ID:wpotMNKo.net]
小さい方を左に書く。
頭の中では、大小は、左右で考えているから

横書きと同じ感覚。
左上がスタート地点

洋画ではそう。左上に赤色を配置する。
そこが目線のスタート地点。
そこから時計回りに目線が、渦の中心へと向かっていく

640 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:41:16.64 ID:NQvr5Lbg.net]
>>626
普通、言葉で考えると「lengthは10以上100未満?」て聞くじゃん。
「10は〜100は〜?」みたいな聞き方しないよね。
主語と動詞を逆にしちゃいけないと思う。

CやC++の頃は
if (length == 10) としたかったところをコーディングミスで
if (length = 10) にしてバグるのを防ぐ為に逆向きにしてた人を見受けたけど、いまどきはIDEがエラー出してくれるからねえ。

641 名前:デフォルトの名無しさん [2019/04/25(木) 12:49:03.99 ID:M77Bu+mz.net]
IDEなくてもコンパイル時になんか出る。

642 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:54:48.89 ID:P7ID4Nfd.net]
>630
なるほど、確かにバグ防止で逆向きにも一理ある
面白いこと考えるね

643 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:03:38.24 ID:myBoG5tn.net]
>>632
ヨーダ記法って言うやつ

644 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:14:11.32 ID:wpotMNKo.net]
C言語では、左に代入できないものを書いていた

比較演算子と間違えて、代入演算子を使うと、コンパイルエラー

645 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:15:44.93 ID:D7t01tqT.net]
ヨーダ記法が可読性低いってのは散々言われてる
結局流行ってないしやらなくていい

646 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:44:40.50 ID:nzEkPIBs.net]
老害ってことや

647 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 14:11:29.90 ID:MiLFxbr9.net]
老害にだけは成りたく無いと思ってました



648 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 14:21:07.30 ID:ap5qFTOn.net]
>>630
> 言葉で考えると「lengthは10以上100未満?」て聞くじゃん

なるほど、改めて思い起こすと言葉以上に図や式で考えているな
そういう資料を読み書きすることが多いからかもしれないが

 10 length     100
--|----^----------|--

10 ≦ length < 100

他所のだけどイメージ
https://i.imgur.com/d5iRSb2.jpg

649 名前:デフォルトの名無しさん [2019/04/25(木) 21:25:32.13 ID:BgXoud3L.net]
kotlin day4

kotlinc, kotlinコマンドの-classpathオプションの使い方でハマった。

>kotlin -cp jsoup-1.11.3.jar JsoupKt
error: could not find or load main class JsoupKt

こちらが正解
kotlin -cp .:jsoup-1.11.3.jar JsoupKt

なんか、変な仕様。そろそろbuild.gradleファイルの作り方を学ぶべきか?

650 名前:デフォルトの名無しさん [2019/04/25(木) 21:29:50.40 ID:BgXoud3L.net]
あのぉー、Kotlinでスクレイピングしたいんですけど、
Jsoupがbest practice?
https://github.com/jhy/jsoup

実は、Javaも初心者なので、Kotlinへのmigrationでヘトヘト!

651 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 22:45:02.30 ID:k8swiVaB.net]
>>640
どんなサイトをスクレイピングしたいのかによるけど、javascriptをガンガン使ってるようなサイトならSeleniumが鉄板だと思うよ。
Jsoupでもjsを実行させられるらいしけど、とても辛いと聞いたことがある。基本的には静的なhtmlを扱うためのライブラリ。

652 名前:デフォルトの名無しさん [2019/04/26(金) 09:47:20.98 ID:MEdB7GvY.net]
>>641
thx

Kotlin day5
コマンドラインで、jsoupでスクレーピングするソースを作成できた。
昔を思い出して、実行にはMakefile作成して行った。

Makefile内で文字列操作(大文字小文字変換とか、文字列連結)とかできるかな?

Makefileはこんな感じ!
CC := kotlin
CFLAGS1 := -cp jsoup-1.11.3.jar -include-runtime
CFLAGS2 := -cp .:jsoup-1.11.3.jar
SRC := jsoup

all: go
go:
$(CC)c $(SRC).kt $(CFLAGS1)
$(CC) $(CFLAGS2) JsoupKt
~

653 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 09:49:24.06 ID:an8vMEsm.net]
>>642
makeが何かをわかっていたらそんな質問はしない

654 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 10:03:32.40 ID:3DaeQ571.net]
>>641
Seleniumってテストツールだと思ってたが、そんな使い方があるのか。
目からうろこが1000枚くらい落ちた。

655 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 10:43:09.29 ID:v018QqLA.net]
>>644
Selenium自体はテストとは無関係だよ、ただ用途としてテストツールと組み合わされることが多いだけ。
最近のサイトはReactとかで動的にガンガン組み立てられるからスクレイピングもSelenium使っておいた方が無難。

656 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 13:23:49.21 ID:A/WNBxWE.net]
Ruby, Nokogiri, Selenium WebDriver を使えば?

CSS Selector, XPath で、要素を指定する

driver.execute_script で、JavaScript のソースコードも実行できる

657 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 14:28:56.17 ID:5b9msznW.net]
Kotlin勉強してるって言ってるんだから別にRubyじゃなくていいだろ



658 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 14:34:22.95 ID:an8vMEsm.net]
NokogiriでXPathとCSSセレクタ使うならべつにこっちでも同じだと思うよ

659 名前:デフォルトの名無しさん [2019/04/26(金) 17:19:57.29 ID:MEdB7GvY.net]
JsoupはNokogiriと違ってXPathを使ってDOMの操作ができない。
けど、使い方はNokogiriとよく似てる。

Androidアプリにスクレイピング機能を実装したいので、Ruby使えば?は却下!

660 名前:デフォルトの名無しさん [2019/04/26(金) 17:21:05.67 ID:MEdB7GvY.net]
ところでJsoupの名前の由来って何?
Java soup = Javaのスープ
変な名前。

661 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 17:57:42.91 ID:TC/HkfSU ]
[ここ壊れてます]

662 名前:.net mailto: いちいち聞かずに勉強しろと延々言われているのに守らないからそういうちぐはぐな恥を晒して支持を減らすことになる(君はすでに識別されている)
どうせPythonのBeautifulSoupのことも知らないしタグスープという言葉も知らんのだろう
…あ、後者は別に知らんでいいわ、知らない人が多いし正式な用語というわけでもないから
[]
[ここ壊れてます]

663 名前:デフォルトの名無しさん [2019/04/26(金) 18:12:21.37 ID:tgodpZ2Y.net]
ごった煮

664 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 20:00:10.59 ID:ErNxnYz2.net]
>>651
まあまあまぁまァ、落ち着けよ
このスレのレベルはピンキリさ

665 名前:デフォルトの名無しさん [2019/04/26(金) 20:32:30.11 ID:MEdB7GvY.net]
>>651

thx.

That is originated in “soup HTML document up beautifully”, it seems.

666 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 21:06:34.41 ID:XuSZUgKR.net]
個人の試行錯誤の実況でスレが消費されてくより過疎ってた方がマシ

667 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 09:33:03.49 ID:2kV59Ab3.net]
スレの消費はどうでもいいんだけど、試行錯誤の記録はqiitaなりブログなり自分で管理できるところに残しておいた方が後々良いと思うんだよね



668 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 09:47:43.31 ID:X+HWf3Sy.net]
>>516
fragmentは再利用されるからlateinit var

669 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 08:51:45.05 ID:7421dKds.net]
Google、Androidにおける「Kotlinファースト」強化を表明。Google I/O 2019
https://www.publickey1.jp/blog/19/googleandroidkotlingoogle_io_2019.html

670 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 09:08:00.50 ID:1o0ZoV2Z.net]
>>658
わかったからFlutterで(を?)使えるようにしてくれ
現時点で構造的に対応超絶困難だ
マテリアルデザインの普及にも役立つだろ

671 名前:デフォルトの名無しさん [2019/05/08(水) 19:13:02.95 ID:PdqlbBMH.net]
kotlin day17、object式
クラスAをインターフェースBによって僅かに修正したクラスCのインスタンスが必要となった時に、サブクラスCを宣言せずにそのインスタンスabを生成できる。
```kt
open class A(x: Int) {
public open val y: Int = x
}

interface B {...}

val ab: A = object : A(1), B {
override val y = 15
}
```

672 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 21:35:17.96 ID:1/kiWGBR.net]
前スレでも書いたがKotlin/JSに続く、Kotlin/Dartトランスパイラをだな・・
まぁやれるとしたらJB側だからリソース的に無理なんだけどな

673 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 00:39:13.38 ID:62rwCBNY.net]
>>661
Flutterが目当てなら、必ずしもDartを介することはないのでは?

674 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 07:27:30.06 ID:bwcjejUH.net]
どういう意味?

675 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 07:28:01.24 ID:bwcjejUH.net]
ああ、ごめん分かったよく読んでなかった

676 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 07:49:34.83 ID:p+Gqts9i.net]
>>662
少なくともDart Kernel binaryを生成出来ないとFlutterのホットリロードが使えない
Kernel binaryの仕様はDart自体より安定してない

https://flutter.dev/docs/development/tools/hot-reload
https://mrale.ph/dartvm/

Flutterのクロスプラットフォーム性や開発時の機能などの結構な割合を
Dart自体の機能により実現しているのでその辺の仕組みに乗っかれないと逆に厳しいと思うぞ

677 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 09:45:14.22 ID:Gvcl+e3N.net]
flutterも最初素晴らしいと触ってたけど、dartの糞さに嫌気さしてさわるのやめたな。つか、flutterは致命的な問題もあるしな



678 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 13:10:55.61 ID:fgBYrKh8.net]
kotlinのgraphqlライブラリ微妙だからscalaのsangria使えないかなー
sangriaどころかscala触ったことないけど

679 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 15:52:18.57 ID:drrQ8Z5A.net]
>>666
どんな問題?

680 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 20:53:25.89 ID:Gvcl+e3N.net]
モバイルアプリはメモリ不足によってプロセスキルされ、キル前の状態に戻すために復元の仕組みが用意されてるがflutterではどうすればいいの?問題。
例えばandroidならonSaveInstanceStateがあるが、flutterではどうすれば?
flutterは1つのActivity上でページ遷移してるが、ページ毎に状態保存、復元は?
https://github.com/flutter/flutter/issues/6827

681 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 20:58:48.44 ID:Gvcl+e3N.net]
モバイルアプリ開発したことあれば必ずプロセスキルの問題に出くわすと思うんだがflutterの開発チームはこれ放置してるという。普通flutterの設計段階でこの事考慮すべきだが全く考慮してなさそうというあほっぷり。

682 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 23:07:11.65 ID:p+GF1Adw.net]
地方都市だけど最近Android本が本屋に数冊しかない
他言語は田舎のわりにはけっこう置いてるんだけど
Kotlin移行の影響なのかも

683 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 00:21:35.88 ID:JD2pFQw6.net]
>>670
flutter詳しくは知らんが、もしそれが本当ならモバイル用途としてはたしかに致命的欠陥だな
後付けでflutterのフレームワークの中で強引に全部保存復帰するようにするから気にするな、みたいなこと
考えてるとしたらヤバイ
そういうことができないモバイルだからステートの保存と復帰はアプリに投げるように作ってあるのに・・

684 名前:デフォルトの名無しさん [2019/05/10(金) 03:07:44.06 ID:+vHN15fT.net]
>>671
Amazon使いなさい。

685 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 10:49:17.54 ID:pdzLc3IS.net]
Kotlin/Everywhere
https://blog.jetbrains.com/kotlin/2019/05/kotlin-is-everywhere-join-the-global-event-series/

・イベントは主に5月のGoogle I/Oと12月上旬のKotlinConfの間に行われる
・イベント予定は以下の地図に表示される(今後追加されていく)
https://events.withgoogle.com/kotlin-everywhere/

686 名前:デフォルトの名無しさん [2019/05/10(金) 16:19:08.62 ID:54LLglmL.net]
>>671
同志
Android関連本、俺のところも本屋には少ない。
大阪に隣接の県の県庁所在地なんだけど。

大阪のデカイ本屋へは往復2,000円掛かっちまう。

687 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 19:41:51.78 ID:iG629wI3.net]
>>675
奈良市かな?



688 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 21:37:10.49 ID:shkkgOQu.net]
>>675
Kindleおすすめ
マルチディスプレイで勉強捗る

689 名前:デフォルトの名無しさん [2019/05/10(金) 21:56:19.96 ID:54LLglmL.net]
>>677
Kindleも試したけど、俺、紙の本派なんだよねぇ。
書き込みできるのが紙の本がありがたい。

KindleのためにiPad Pro 12inchも買ったけどやっぱり紙が良いんだよねぇ。
俺って、変かなぁ。

690 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 22:08:26.51 ID:3MWdvG+0.net]
紙の解像度にはまだまだ電子書籍は敵わない
紙の優位性はあるから書見台(ブックスタンド)とか使え、そしてやっぱイマイチだってしまい込むんだ
印刷したデータは死んだデータだってのは、まあ、その通りなんだけども

691 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 23:11:37.34 ID:msYu7Wbl.net]
ktorでhttpsやろうとしてサンプル試してみたけどなんかダメだな

692 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 01:07:57.25 ID:i9FGZXUp.net]
>>673

Amazonも楽天も使ってるよ
ただ本屋に置いてない状況を見ると
Android開発の人気無くなってきてるのかなと思って
本屋は内容確認できる長所あるし
もう少し置いてほしいところ

693 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 06:20:49.01 ID:J+BhWrkd.net]
>>680
オレオレ認証局だけど出来たよ。Let'sEncryptのところでなければ答えられるかも。

>>681
Android開発者が紙の本からKindleに移住している可能性も。
といいつつ自分はPC本は紙派。読んだ後確認する時にこのあたりかなとパラパラとめくりながら探せるので。

694 名前:デフォルトの名無しさん [2019/05/11(土) 07:17:10.19 ID:g6fo75+g.net]
[改訂新版]Android SDKポケットリファレンス
これのKindle版って、サンプルコード見やすいですか?

[改訂新版]Swiftポケットリファレンス、こいつのKindle版掲載のサンプルコードは、文字の拡大縮小も可能で、Goodなんだけど。

Kindle Paper Whiteで閲覧します。iPad Pro 12inchもあるけど。

695 名前:デフォルトの名無しさん [2019/05/11(土) 07:18:23.32 ID:g6fo75+g.net]
ちなみに、お試し版をPaperwhiteで見てみたけど、お試し版は最初の数ページ、しかもサンプルコードが無いページしか、試し読みできませんでした。

696 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 07:25:20.42 ID:BxWOidMY.net]
kindleはコピペできないからPDF版のあるやつは、そっちを買うようにしてる。

697 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 07:33:21.30 ID:x9oQSWJz.net]
その本つてKotlin対応してなかった気がするけど
Javaでも良いの?



698 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 09:37:44.97 ID:Brt5xi0Z.net]
ここが過疎ってるような気がしてslack見てみたけどそっちも過疎ってるのかな。
slackの使い方間違えてるのかな。。

699 名前:デフォルトの名無しさん [2019/05/13(月) 10:33:56.13 ID:4rccaZT+.net]
>>686
JaveでもOKっす。

700 名前:デフォルトの名無しさん [2019/05/14(火) 02:33:08.66 ID:3xJ0OqNt.net]
forEach は Iterable<T> と Iterator<T> にあるのに forEachIndexed は Iterable<T> にあっても Iterator<T> にないのは何故か?

701 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 07:44:27.90 ID:DWuOpB8T.net]
昔ケンカしたから

702 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 07:49:34.32 ID:rV66FunX.net]
Iteratorは拡張関数が4つしかなくインターフェース変換を除くと実質2つ
なのでむしろforEachとwithIndexだけが特別扱いのようなもの

703 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 10:12:17.90 ID:jvXWFm+P.net]
うんことりん

704 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 12:25:52.36 ID:zeev4Evh.net]
Ruby では、クラスに、each メソッドが定義されていれば、
include Enumerable で、map, each_line などの便利な機能を使える(Mix-in)

Enumerableのラッパーが、Enumerator で、
eachを定義していないクラス、例えば、String クラスに、Enumerable の機能を追加する

Enumerableは内部イテレータで、Enumeratorは外部イテレータ。
外部イテレータは、繰り返しの進行を制御できる

enum = "a\nb".to_enum( :each_line ) # Enumerator
enum.with_index do | line, idx | # 1行ずつ処理する
p [ idx, line ]
end

出力
[0, "a\n"]
[1, "b"]

with_index は、Enumeratorクラスのメソッドで、
map に、インデックスを渡すことも出来る

p enum.with_index.map { | line, idx | "#{ idx } : #{ line.swapcase }" }
#=> ["0 : A\n", "1 : B"]

705 名前:デフォルトの名無しさん [2019/05/14(火) 12:36:39.21 ID:eEvxk7yL.net]
>>691
あー。そうか。

まあ Iterable は中に Iterator 返すやつ一つ作ってしまえば良いだけなので object で作ってそのまま forEachOndexed で使えば良いだけなのだがなんというか面倒。

あ、自分でそういう拡張関数作ればいいだけか。てか作っておいて欲しかっな。

706 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 12:45:32.34 ID:BT1Jap6O.net]
>>689
イテレーターは列挙するものだからインデックスと直結しないのでは
n件のリストがあったとして、それをイテラブルとして回すときのインデックスはほぼ自明だけど
そいつを3から始めるイテレーターや逆順のイテレーター
3歩進んで2歩下がるイテレーターのインデックスというのは
ルールを決めてしまえばいいんだけど本質的な属性ではないと思う

707 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 13:05:37.50 ID:4HZJg8yK.net]
拡張関数ってグローバルだよな
どこに書けばいいか迷ったあげく使うクラスと同じファイルに書いてしまう



708 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 16:08:52.35 ID:o/ZzSQAi.net]
拡張関数めっちゃ便利だけど、用法用量を守らないととても危険だよな

709 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 17:29:04.99 ID:IaXs534s.net]
拡張関数の定義を interface の中にすれば、使用可能範囲をコントロールできる

710 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 18:31:50.97 ID:hlTwFz7+.net]
Kotlin用ゲームエンジンらしい

https://korge.soywiz.com

711 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 19:29:46.17 ID:o/ZzSQAi.net]
>>698
知らなかった

712 名前:デフォルトの名無しさん [2019/05/15(水) 12:44:33.69 ID:laKGlnoI.net]
どのみち、IDEがないと読み難い言語だから、Extensionはさして気にならない。
プロパティアクセスのせいで、知らず知らずにシャドウしてしまう方がずっと気になる。

713 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:46:37.64 ID:ctMRzncm.net]
ts2ktって放置されているっぽいけど、今でも使いものになるの?

714 名前:デフォルトの名無しさん [2019/05/16(木) 19:36:52.04 ID:9YitK9mS.net]
>>699
Android以外はちゃんと動くんかな・・・・?

715 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 22:06:49.39 ID:5qYZVYSF.net]
>>698
拡張した本人しか認識できないのもができるからな。

716 名前:デフォルトの名無しさん [2019/05/18(土) 09:09:23.16 ID:cPFyVnxJ.net]
>>699
興味あるわこれ
今やってるの終わったら使ってみようと思うんだけど誰か試してみた?

717 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 12:51:09.41 ID:JYN3Apin.net]
社内の持ち回りの勉強会で、vimでKotlin開発する環境を気合いで整える、という発表をしたら大受けしたわ
もちろんネタとしてな。絶対idea使った方がいいぞ。



718 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 13:41:12.48 ID:1MmHbsk/.net]
無駄なことに時間使ってんな

719 名前:デフォルトの名無しさん [2019/05/18(土) 16:19:18.33 ID:IkSg3I69.net]
やらないと後で「おまえやるって言ったよな」と責められるw

720 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 22:59:21.42 ID:rrFT3N/c.net]
kotlinでandroid開発の記事載ってる雑誌ないですか
ネットや書籍から情報得るしかない?

721 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 01:39:23.54 ID:jp3Kdatt.net]
本とかもう時代遅れ

722 名前:デフォルトの名無しさん [2019/05/19(日) 05:37:35.31 ID:+tXYNnhs.net]
なぜ雑誌?本ならあるのだが。

723 名前:デフォルトの名無しさん [2019/05/19(日) 16:40:35.01 ID:+tXYNnhs.net]
そもそも今ではプログラミングについての雑誌が少ないよね。
Software Design か日経ソフトウェアぐらいなんじゃないか?
ハードウェア寄りな Interface みたいなのもあるが。

724 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 18:23:21.54 ID:fqpGXrMP.net]
>>710
そんなこたぁ無い

725 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 19:18:58.24 ID:Ma/nTg+4.net]
本はディスプレイ以外に開けるから便利だよね

726 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 19:40:59.75 ID:jp3Kdatt.net]
掌田津耶乃でも読んでろカス

727 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 20:36:47.66 ID:fqpGXrMP.net]
つやのちゃん知ってるんだw



728 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 00:21:44.28 ID:pT4TPZWt.net]
断片的なのはネットで調べればいいが、
体系的に全体をまんべんなく知りたいってときは、
やっぱり書籍が適してると思う。

729 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 06:11:32.77 ID:BYsItzt6.net]
書籍もガッツリ読むなら紙の本がいいし、写経するなら電子書籍の方がいいし
選択肢が増えた分だけむしろ選ぶのが大変になってるな

730 名前:デフォルトの名無しさん [2019/05/20(月) 11:03:48.81 ID:+QyKHsoF.net]
SoftwareDesignは最近はもう読んでない
バックナンバーも大量に棄てた
川上さんの連載のだけ残してる

731 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 11:35:05.49 ID:MLZoEYDf.net]
雑誌のいいとこは判型が大きいことだなw
ただのブログよりは読者層を意識してる率が高くて、Web記事よりはまとまりと終わりがある可能性が高いという感じか
なにの情報を欲しいと思ってるのかに依存する気がするぞ

732 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 11:43:30.49 ID:3K6cHyBG.net]
雑誌の良いところは、本よりも情報の鮮度が高いってとこだね。

733 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 15:22:51.14 ID:poyp5Kqc.net]
日経ソフトウェアは、素人向け

SoftwareDesign ぐらいか。
WEB+DB は、システム環境・プログラマーが半々ぐらい

他は、日経Linux は、ラズパイが多い

フレームワークの巨匠と言えば、掌田津耶乃・山田祥寛

山田の講習会は、数万円とか。
掌田なら、十万円ぐらい行きそうw

734 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 16:58:22.74 ID:E7kxjeRz.net]
つやのって読む価値のない入門書しか出してないだろ

735 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 20:22:34.07 ID:Nm/yOzhN.net]
最近の日経ソフトウェアはPython雑誌みたいになってる
Kotlinの記事なんて全く載らない

736 名前:デフォルトの名無しさん [2019/05/20(月) 20:48:41.91 ID:oKvxv21R.net]
そういやPython大ブームだね。
機械学習関係で火が着いた感じか。

737 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 21:27:41.17 ID:QYS7YbVl.net]
数年後に始まる小学校でのプログラミング授業もPython採用と予想。



738 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 21:33:58.54 ID:TjPZT1E7.net]
授業は基本マイクラを使うぞ

739 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 22:00:59.30 ID:9o82qJOc.net]
kotlinのおすすめ無料学習教材は?

740 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 22:10:44.54 ID:0DZMUBSm.net]
勧めるようなものは特にない

741 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 08:28:21.83 ID:2xcSjans.net]
なんか公式のチュートリアルみたいなのなかったっけ

742 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 08:31:57.13 ID:qls//8Wz.net]
おすすめかどうかを意識しろ
あるかどうかではなく、おすすめかどうかだ
検索すりゃこのご時世英語含めてたくさん出てくる
そんなの見りゃわかる
おすすめできるものかどうかがいちばん大事

743 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 10:08:36.16 ID:x7pfOsc7.net]
ただで教える側に求めすぎだろw

744 名前:デフォルトの名無しさん [2019/05/21(火) 10:10:30.25 ID:YlTjoOUk.net]
>>723
NGに入れろ
スッキリ



745 名前:デフォルトの名無しさん [2019/05/21(火) 10:56:17.04 ID:KjOgf3b2.net]
kotlin使った事無くて勉強中なんですが
null安全は通信で届いたオブジェクトについてどう働きますか?
あるいはデシリアライズされたオブジェクトについて
そこでもnull安全ですか?

746 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 11:04:08.23 ID:x7pfOsc7.net]
当然どんなオブジェクトであれKotlinで書かれている限りnull安全は機能するけど、君はそもそもnull安全を誤解してそうな予感がする

747 名前:デフォルトの名無しさん [2019/05/21(火) 11:11:41.76 ID:KjOgf3b2.net]
検索すると、null不可な変数にnullを代入できないこと、とあります。
そうすると通信で受信したオブジェクト等はどうなるのかなと。
この理解は間違っていますか?



748 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 11:39:29.09 ID:c7g0QxSl.net]
どこまで「使ったことない」かにもよるんだが
・nullかどうかの条件分岐をクリアした変数
・nullかどうかの条件分岐をまだやってない変数
の2つがあるだけだと思っていい

外部から取得したデータがあったとして、nullチェックをまだしていないならnullableだ
どこかで誰かが(静的文法解析上)nullではないという条件分岐を通したあとならそれはnonnull
どこかで誰かがその後にnullになるかもしれない処理を通したらnullableに戻る

749 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 12:29:35.90 ID:ZAINLMmO.net]
>>736
文字列とか通信データから、新たなオブジェクトを構築するのでしょ?

構築できたら、null ではないし、
データがおかしくて構築できなかったら、エラー!

750 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 12:40:36.99 ID:sr6+MIRN.net]
当然nonnull出ない変数ににnullをぶち込んだらエラーになる

751 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 13:55:21.57 ID:2xcSjans.net]
>>736
nullを入れられない型なのにnullを入れようとしたらその時点でオブジェクトを生成できずにエラー
なので、json文字列を受け取ってオブジェクトを生成する部分で要件に合わせて適宜いい感じに処理する必要がある

752 名前:デフォルトの名無しさん [2019/05/21(火) 14:53:46.84 ID:BVi2WQ22.net]
>>736
試してみればわかると思うが、nillableな型にnull入れてObjectOutputStreamで書いた後でnullableでなくしてコンパイルしなおしてからObjectInputStreamで読もうとするとInvalidClassExceptionが出る。

753 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 15:17:02.88 ID:RVxsm+ja.net]
kotlin使ったことないって奴向けの説明ではないな

754 名前:デフォルトの名無しさん [2019/05/21(火) 16:06:22.73 ID:BVi2WQ22.net]
図解しないとダメか?w

755 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 17:40:26.31 ID:x7pfOsc7.net]
そもそも聞かれてることに対する回答としてはピントがズレてる
自分の知識自慢したいイキリオタク感がすごい

756 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 18:43:35.05 ID:gj4VcULk.net]
>>734がおそらくしているであろう幻想を抱いていた時期が自分にもありました
とエスパーしながらいうと、通信で受信したオブジェクト等はnullableな型を持つことになるだけで、
Kotlinにしたからといってnullチェックが要らなくなるわけではない。

>>736には誰の説明が分かりやすかっただろうか。

757 名前:デフォルトの名無しさん [2019/05/21(火) 20:08:28.33 ID:BVi2WQ22.net]
>>744
ずれてないだろ。通信でオブジェクト送る話なんだから。



758 名前:デフォルトの名無しさん [2019/05/21(火) 20:11:45.34 ID:grT0tw0/.net]
Javaのコードを呼び出すところは、全部そうだね。
Kotlinはnullableであることを「強制しない」。
AndroidとかjavaxのAnnotationでもついていない限り。

759 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 20:44:09.88 ID:wTyF+2my.net]
>>728
https://play.kotlinlang.org/koans/overview

760 名前:デフォルトの名無しさん [2019/05/21(火) 21:17:46.88 ID:KjOgf3b2.net]
null安全は@NotNullとどう違いますか?

761 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 23:00:11.33 ID:MtIoFqpw.net]
コンパイルエラーになるかぬるぽでばーんってなるかの違い

762 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 23:15:32.28 ID:dJ+4PuSm.net]
null安全は以下の機能を包括する言葉
 ・型システムでnull許容とnull不可を区別出来る
 ・null許容型の取扱いを容易にするモナド操作などを言語仕様や標準ライブラリに持つ

763 名前:デフォルトの名無しさん [2019/05/22(水) 00:26:45.64 ID:s0RuNCYO.net]
  ∧_∧  / ̄ ̄
 ( ´∀`)<  ド?
 (     )  \__
 │ │ │
 (__)___)

764 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 13:10:44.21 ID:o0mLtMWH.net]
iosアプリ作るのは現実的にいけそう?

765 名前:デフォルトの名無しさん [2019/05/22(水) 15:26:22.63 ID:06P4CJxl.net]
いけるいける

766 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 17:11:00.38 ID:ddL9armR.net]
大丈夫大丈夫、なんの問題もない

767 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 19:37:38.21 ID:N+dUt+tn.net]
逆引きのAndroid開発用のKotlin本ないの?
Javaのはあるけどさ



768 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 21:14:49.49 ID:o0mLtMWH.net]
>>754
>>755
ほんとのほんとに?
作り始めてまうで?

769 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 22:18:54.87 ID:mQdasoF8.net]
うん、大丈夫、なにも心配することないから

770 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 00:10:33.20 ID:K2oq56d+.net]
>>754,755,758
iOSアプリを実際に作った人がこの板にこんなにいるとは思えないんだがw
いや、自分もないんだけどさw

771 名前:デフォルトの名無しさん [2019/05/23(木) 00:56:30.37 ID:ClSxeVCE.net]
Kotlinでの競技プログラミングのコンテストがあるよ!

5月28日の23時35分から2時間半!

Kotlin Heroes Announcement
https://codeforces.com/blog/entry/67162
https://codeforces.com/contests/1170

772 名前:デフォルトの名無しさん [2019/05/23(木) 01:52:40.87 ID:kvy164Qh.net]
英語で書かれた問題を解読するだけで2時間半が経過してしまいそうな予感

773 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 02:45:36.97 ID:K2oq56d+.net]
>>760
IntがintになるかIntegerになるか考慮しないといけなかったらちょっと嫌だなあ。

774 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 06:58:10.23 ID:ZvIUMcmJ.net]
>>759
大丈夫、Kotlinも業務で使ってるしiOSアプリも業務でいくつも作ってるからさ
Kotlin nativeのiOSアプリも実際に作ってみたって人と勉強会の懇親会で話したことがある

775 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 09:20:43.95 ID:1flrLOhd.net]
>>756
必要か?

776 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 13:57:22.09 ID:WFuDBTgU.net]
Listの初期化って

var list = listOf<Hoge>()



var list :Hoge? = null

どっちがいいの?

777 名前:デフォルトの名無しさん [2019/05/24(金) 15:11:48.77 ID:10iCK04b.net]
>>765
全く違うもの出されてどちらがと聞かれても・・・



778 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 16:53:05.84 ID:cg0Vnpe0.net]
>>765
その2つでいうなら下はリストを作れてないから上一択になるぞw

779 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 16:57:14.79 ID:WFuDBTgU.net]
間違えた下は

var list :List<Hoge>? = null



これならどっちがいい?

780 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 16:59:34.27 ID:cg0Vnpe0.net]
どちらにせよその2つは作られる型が違う
nullableにする必要があるかどうかで使い分けろとしか

781 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 17:00:11.96 ID:cg0Vnpe0.net]
俺だったら何か理由がない限り上

782 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 17:00:17.36 ID:g+HqU4NL.net]
特別な理由がない限り上はvarじゃなくてvalにすべきじゃない?

783 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 17:15:07.02 ID:WFuDBTgU.net]
>>770
なぜ?

>>771
valにしたら代入できないじゃん

784 名前:デフォルトの名無しさん [2019/05/24(金) 17:52:50.04 ID:8qiM3xuo.net]
val にして空の MutableList 作るのは?

785 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:01:30.45 ID:XLHoRxVW.net]
俺はemptyListだな

786 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:03:21.78 ID:6OR0USBX.net]
?取るのめんどいから空のリストにしてくれ

787 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:27:38.07 ID:g+HqU4NL.net]
>>772
ああごめん val にしてMutableList な
だが、おまえが欲しいのはたぶん
var list = emptyList<Hoge>()



788 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:51:13.35 ID:xfff2+MO.net]
>>772
Kotlinにおいてはvarもnullableもごく限られた場面でしか使わない例外的なものだということは知っておいた方が良い。
nullableは無駄に取り扱いが面倒だったり、varは予期せぬバグを生み出す温床になり得るから。

なので
val list = mutableListof<Unko>()

が、大抵の場面で正解。

789 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 19:42:38.12 ID:Oa3ZkFre.net]
Unkoって何ですか

790 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:03:18.59 ID:g/LimCLF.net]
えっお前んちUnkoねーのだっせー

791 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:04:30.18 ID:6mh6tvLx.net]
かといって盲目的に mutable collection を使うのもどうかと思うがな

792 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:17:54.95 ID:73sdMVIH.net]
盲目的も何もコンテキストが分からないんだから一般論としてvarを使うよりはMutableListを使う方が適してると言うしかないだろ
どんな状況でも何がなんでもMutableListを使えなんて誰も言ってない

793 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:23:02.45 ID:73sdMVIH.net]
俺も>>777にするな。

もしくはlateinitを使うか、どちらか。

794 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 05:49:19.79 ID:wB1WneOU.net]
>>768
状況にもよるけど、>>782で出たlateinitか、場所によっては
val list by lazy{ [List<Hoge>を返す式] }
そもそも、listの要素が出揃っていない段階でlistを宣言するのが適切でない可能性も。
val list = [List<Hoge>を返す式]
のようにいきなり最後まで計算するか、少々面倒だけど>>773の言うように一旦
val temporaryList = mutableListOf<Hoge>()
して要素が出揃ったら
val list = temporaryList.toList()
するとか。

795 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 06:37:38.07 ID:fh0ztzaz.net]
lateinitはvalにできないから糞

796 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 07:20:32.83 ID:Kvnc/U5Q.net]
そんなご無体な

797 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 08:02:42.85 ID:9ELY4FpV.net]
valだけが正しい。valにできないなら新しいvalにコピーするべき



798 名前:768 mailto:sage [2019/05/25(土) 10:50:32.51 ID:VlF1HZqT.net]
>>783
それだとvalじゃなくてvarじゃね?

始めに空のList入れる意見が多いけど結局使う時にemptyかチェックするでしょ
nullかどうかチェックするのと同じじゃね?

799 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 10:57:44.94 ID:VlF1HZqT.net]
nullの警告が厳しいからこそ使うのはどうだろうか
nullならnullだと知らされるがemptyじゃ何の警告も出ない

800 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 13:1 ]
[ここ壊れてます]

801 名前:6:02.71 ID:exhgzloH.net mailto: ・リスト自体を構築するケース
  ・listを使わないケースがかなりある and 非常に効率重視(※)なら
     var list: List<Hoge>? = null
     必要になったら list = mutableListOf()
  ・そうでないなら
     val list = mutableListOf<Hoge>()

  ※mutableListOf(=ArrayListの生成コスト)すら許容出来ない場合
    なおmutableListOfと比較するとlazyの準備処理の方がコストが掛かる

・場合によって構築済みリストを入れ替える(再代入)するケース
  var list = listOf<Hoge>()

補足: listOf()はemptyListにinline展開されEmptyListのシングルトンを返すので生成コストは無い
>>765 >>772は再代入目的のようなのでlistOfで良い
[]
[ここ壊れてます]

802 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 13:19:44.44 ID:F8alA812.net]
>>787
そうとは限らない
単にリストの要素数が0ならそれでいいケースも多い
そう考えると明らかに初期化を忘れてるのが分かるという意味でnullを入れておくのもいいかもしれない

803 名前:デフォルトの名無しさん [2019/05/25(土) 17:48:30.03 ID:AAsiXMmO.net]
Androidなどで、非同期処理が関わってくると、
valは注意して使わないといけない場面が、意外にたくさんあることに気が付く。

804 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 18:20:07.77 ID:lux9UzI+.net]
Activityのbindingはby lazyのval
Fragmentのbindingはlateinit var

805 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 23:17:26.29 ID:/1jO9AOV.net]
>>765
そもそもローカル変数の話なのかプロパティの話なのか…

806 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 12:03:53.57 ID:j1Bw0s67.net]
emptyListってシングルトンだから生成コストがないってのは分かるんだけど、
今時その程度の生成コストを気にする場面ってそんなない気もする
富豪的プログラミングなんて言われるかもしれんけど、もはやそれ自体死語だしな

807 名前:デフォルトの名無しさん [2019/05/27(月) 12:57:29.86 ID:ffeERoRR.net]
>>793
ローカルならそもそも悩まない。

val且つmutableにして都度addallするか、var且つimmutableで丸ごと置き換えるか、はケースバイケースで。



808 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 13:34:53.60 ID:IGUdGZaE.net]
valで都度変数作るからなぁ

809 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 14:33:20.72 ID:24xkxhR7.net]
プロパティの話ね
mutableにしてもそもそも生成は別のところでListごと作るからmutableだろうがListだろうが関係ない
当然後から代入するからvalにはできない

810 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 14:57:26.23 ID:EJcO498B.net]
copyメソッド

811 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 23:34:59.34 ID:s432cqVY.net]
サーバーサイドばっかだからかもしれんがプロパティにMutableListを使うことがそうそう無い
データクラスのコンストラクタ引数に val list: List はよくある

812 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 23:56:54.45 ID:zFWKvIPE.net]
内部DSLとかの指示を構築する系の実装で使うかな

813 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 05:58:36.43 ID:sEeuOOEX.net]
サーバーサイドかどうか関係なくない?
俺はよく使うよ。例えばツリー構造になってるデータを読み込む処理で自分の子ノードのリストを持つため、とか、これ昨日書いた。

814 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 06:33:15.65 ID:f4BtQ/HR.net]
val text = ""

って

val text :String = ""

って書いた方がいい?

815 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 07:05:11.16 ID:Bdaqy37y.net]
>>802
やるメリットは特にない
むしろ本当に宣言通りStringかどうかチェックするぶんビルド遅い

816 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 08:10:42.72 ID:sEeuOOEX.net]
>>802
いらない。何をどう見ても明らかにStringだから意味ない。

817 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 23:54:42.49 ID:g+jKUI0N.net]
>>802
Javaのvarで似たような議論がある。
https://orablogs-jp.blogspot.com/2018/03/style-guidelines-for-local-variable.html



818 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 01:39:37.10 ID:KhqOXHGU.net]
Kotlinに、SwiftのExpressibleByStringLiteralみたいなのが無くて本当に良かったと思う
あれは呪いだ

819 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 02:17:57.59 ID:Qb2i3AGM.net]
>>802 は、IntelljIDEA か Android Studio 使ってないのかね?
警告消して緑色になるようがんばれ
おれは警告にどうしても従えない場合でも、アノテーション使って絶対緑色にする

820 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 04:33:25.97 ID:XoYuC6Fl.net]
Charは'a'なのね

821 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 06:05:24.96 ID:ouhOLTM0.net]
>>806
なにそれ?

822 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 07:50:04.16 ID:KhqOXHGU.net]
>>809
https://ideone.com/3YQTSZ

文字列リテラルが本当に文字列なのか分からなくなるやつ

823 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 14:21:13.30 ID:Jjn+Dq6k.net]
>>806
PHPだと1リクエストごとにFWの初期化処理を行っているのが遅い理由でしょ
特にLaravelは読み込むファイルも多いし重い

他の言語だとアプリケーションサーバ起動時に一回だけ初期化処理をするので1リクエストあたりの処理が少ない

PHPでもSwooleやReactPHPなどを使えば同じことはできるけど、まあ既存のFWを乗っけてもバグりやすいだろうね

824 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 18:46:44.28 ID:R6sHUJ5K.net]
なんの話だよ

825 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 22:32:24.72 ID:VAUlN9pw.net]
やべぇやつが来たなwww

826 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 07:53:39.61 ID:6Ne8KtIA.net]
普通に誤爆でしょ

827 名前:デフォルトの名無しさん [2019/06/01(土) 11:37:30.64 ID:OCCxHMSa.net]
android用途:元気
サーバーサイド用途:全く流行らず
kotlin/native: 瀕死
kotlin.js: 死亡

現状こんな認識なんだけど合ってる?



828 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 11:43:16.53 ID:HBXiOctn.net]
Xamarin程の糞はない

829 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 12:20:19.48 ID:oJ6AvSx+.net]
>>815
Kotlin nativeはなんかもう不死鳥とかみたく蘇ったりする予定なので書いておいてください

830 名前:デフォルトの名無しさん [2019/06/01(土) 14:59:33.17 ID:7bqJsR1f.net]
身内のGraalにトドメ刺されて終わりだろ。

831 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 15:47:15.77 ID:v1/bDBif.net]
/NativeがGraalにやられても/JVMがスイッチするから大丈夫

832 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 16:20:49.17 ID:4wvh7Cn2.net]
>>815
合ってる

833 名前:デフォルトの名無しさん [2019/06/01(土) 16:55:01.52 ID:uuPo6pHP.net]
nativeはまだ作成中みたいな感じなので瀕死とは違うと思うが

834 名前:デフォルトの名無しさん [2019/06/01(土) 17:46:40.68 ID:xELmXxSQ.net]
Kotlinを勉強し始めたんだけどさあ
これってレファレンスを見てエディタで打ち込む->kotlincでコンパイル=>javaで動かす・・・・ってのを繰り返さないとならんの?
Swiftに言う「swift asdf.swift」みたいなのに相当するコマンドはないのかしら

835 名前:デフォルトの名無しさん [2019/06/01(土) 17:49:07.58 ID:FZbdo0L3.net]
そうか。合ってるか。。

サーバーサイド kotlinが流行ってないのは何でなんだろ。
現状問題なく使えるように思うけど、ほとんど開発案件出てこないね。

836 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 17:50:33.82 ID:v1/bDBif.net]
>>822
IntelliJ(community版)を使おう
再生ボタン一つで済む

837 名前:デフォルトの名無しさん [2019/06/01(土) 17:51:43.68 ID:FZbdo0L3.net]
>>822
まずintellij(IDE)をインストールしないと始まらない



838 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 18:32:24.41 ID:7x5on0RN.net]
このスレ定期的にkotlinc使う奴が出てくるよな
どこぞの入門サイトに書いてあるんかね
どう考えてもintellij使う前提の言語なのに

839 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 18:32:52.15 ID:7x5on0RN.net]
>>823
サーバーサイドKotlinで生きていきたいけど、仕事なさすぎて難しいよなあ

840 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 19:41:31.36 ID:4wvh7Cn2.net]
>>822
Kotlinを書くのにエディタを使うのがそもそも間違ってる。
無料版でいいからIntelliJ使え。

841 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 20:59:16.14 ID:f9ycqMAV.net]
うちはサーバーサイドで使ってるわ
ほぼ俺しか書いてないが

842 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:10:50.15 ID:GQlgchjf.net]
YouTube に動画をアップしてる、KENTA でも、
サーバーサイドの、Elixir, Kotlin などを受注するのに苦労してる。
彼は、変わった言語の仕事に、こだわる

こういう仕事は、滅多に出回らないから、ツテから入るのかも。
KENTAは千以上、名刺交換してるとか

彼は、GUI は嫌いらしい。
画面の修正で、時間を食うのが、嫌いらしい

数ピクセル、位置が違うとか、
修正したら、違う人が、元に戻せと言ったりw

GUI は、技術を学ぶ、時間効率が悪いから、嫌いらしい。
だから、サーバーサイドの仕事を取る

843 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:33:39.21 ID:v1/bDBif.net]
歌詞かな

844 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:48:31.29 ID:ZDO2fOJr.net]
サーバーサイド普通に使ってるぞ
lombok駆使するよりいいと思う

845 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 23:07:41.16 ID:jNRuoNdG.net]
>>830
海外の方?

846 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 23:08:06.44 ID:vdsZQvk5.net]
ポエムだぞ

847 名前:デフォルトの名無しさん [2019/06/02(日) 01:28:53.78 ID:/69WsxDT.net]
>>830
「、」で区切り過ぎ。その文章の場合は全ての「、」を削除した方が読みやすい。



848 名前:デフォルトの名無しさん [2019/06/02(日) 01:33:22.19 ID:/69WsxDT.net]
>>822
IntelliJ 使った方が楽だが、kotlinc でコマンドラインでやるとしたら最後の実行は kotlin コマンドでできるよ。

kotlinc xxx.kt
kotlin XxxKt

みたいにする。
kotlin コマンドは環境変数セットしたりして最終的に java を動かす。

849 名前:デフォルトの名無しさん [2019/06/02(日) 10:05:23.69 ID:80ueDuoq.net]
で、サーバサイドkotlinのこれからについての認識なんやけど合ってる?

・実戦投入可能なレベルに達している

・goが選ばれるような案件では以下の点でgoに勝てないので流行らない
→粒度の細かいマイクロサービス:deploy容易性がgoに劣る、kotlinの抽象力が活き辛い
→aws lambdaとか:上記に加えてjvmが温まるまで遅い

・モノリシック案件のbetter javaとしては第一候補
→フルスタックFWが有望でspring bootが最有力
→必然的にSIerの仕事が多くなる

・SIerが最重要視するのは実績
→実績を積むには待つしかない

850 名前:デフォルトの名無しさん [2019/06/02(日) 10:08:10.88 ID:80ueDuoq.net]
kotlin/nativeは「hello world」を「hello world!」にするだけでビルドに7sかかるんやけど。。
こんなもんなん?何かやり方間違ってるのかな。

851 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 10:25:57.88 ID:klo8W86L.net]
>>837
受託の業界は知らんけど、WEB業界なら今までJavaやらScalaやら使ってたところはもう大体使えるところから使い始めてる。
ただそもそも日本のWEB業界ではJavaが不人気過ぎてどうしてもニッチの部類に留まってるわな。

生存戦略としてはとにかく仕事の多いRailsやらをやるか、仕事は少ないが応募者も少ないKotlinを極めるか、まあどちらでもありっちゃあり
どうせ5年後には違う技術が台頭してるし

852 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 11:16:42.46 ID:uIkDYzKb.net]
既存のJavaからKotlinはあっても、そもそも新規でJVM選択するかなっていう

853 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 12:06:59.02 ID:TDNwqEN9.net]
sunが震え声で
ハードの進化でJVMのパフォーマンスは向上していくから…
って言ってから何年経ったのか

854 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 12:13:33.66 ID:UpSyXruc.net]
PHPで作ってたけどパフォーマンスが出なくなって来たからJavaで作り直す、みたいなのはよく聞くな
同じ理由で昔はRailsからJavaってのもあったけど最近のRailsは速いからあまり聞かなくなった

855 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 14:27:04.47 ID:Kbt/vpV3.net]
Rails ができれば、コピーのCakePHP も出来る

違う言語だけど

856 名前:デフォルトの名無しさん [2019/06/02(日) 14:47:02.52 ID:530n/55/.net]
Rubyキチ、無視しろ。

857 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 14:52:37.88 ID:LUUGWxBq.net]
php8()



858 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 15:29:19.09 ID:sHGNUntV.net]
新規でサーバ側でkotlinで作ってもらったけど
少数派なのか。
まあ、何ができるかが大事だからいいけど、流行に左右されるのは厳しいね。

859 名前:デフォルトの名無しさん [2019/06/02(日) 16:54:37.31 ID:/69WsxDT.net]
>>841
20年ぐらい?
まあ確かにあのWindows95だの98だので動かしていた時よりは速くなったけどね。

860 名前:デフォルトの名無しさん [2019/06/02(日) 21:44:03.80 ID:xSU5v8RX.net]
結構Java嫌いな人多いんだね。自分もJavaは好きじゃないけど。

>>840
Javaが検討される規模のWEBサービス作る時にJVM以外の選択肢って例えば何かあるのかな?

>>841
Javaの出始めと比べたら劇的に進化してSunの言う通りになったと思うけどな。
Java離脱組もパフォーマンスじゃなくて開発効率やサービスの拡張性を気にしてる。

>>846
少数派なのはそうなんだけど、依頼側から見たサーバーサイドkotlinのデメリットは
・現状では開発者が少ない=人が集まらないことによる遅延、開発者単価
・実績がない=未知の何かが起こるかも
なのでローンチ出来てる時点でデメリットは乗り越えているし、
Android界隈では確固たる位置にいるからこの先メンテ人材が見つからない心配もない。(←ここが流行に左右されて困るポイント)
悪くない選択だったと思うんだけど

861 名前:デフォルトの名無しさん [2019/06/03(月) 23:56:34.84 ID:JEDLjuFd.net]
JVMの性能は実行時最適化が強みだから
ベンチマーク系は不利
巨大なプログラムで長時間の動作において有利なはず
にもかかわらずベンチマークでもそこそこ速いんだからすごいのでは

862 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 00:08:19.43 ID:8w4/id00.net]
いや実行時最適化は繰り返し実行される処理に対して効くからベンチマークには強いぞ
立ち上がりの遅さとか、ベンチマークに現れない体感的な部分がJVMは遅い
事実上サーバー専用だから仕方ないが

863 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 02:28:23.05 ID:Xu6aOKJJ.net]
JVMはガーベッジコレクションでスローダウンするから未だに使い物にならない。
一番大事な時に直撃で機会損失が億いくと違約金も凄まじかったぜ。

864 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 06:40:04.13 ID:1zKcF7rp.net]
果てしなく嘘くさいな
シビアなシステムでどれだけ使われてると思ってるんだ

865 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 07:41:14.05 ID:zxBnyDUV.net]
10年以上前からあるコンカレントGCすら知らないような会社なんだろう

866 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 08:08:31.64 ID:LGhp/e10.net]
業務用Javaに関しては新機能が使われずなおかつアプデなしで10年経過とか普通にあるからな
それはそれでもいいから対外的にJava語るなって話なんだが

867 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 08:20:13.77 ID:1zKcF7rp.net]
例のみずほのサグラダファミリアもJava1.5という噂を聞いたけどマジなんかな



868 名前:デフォルトの名無しさん [2019/06/04(火) 10:17:08.75 ID:prB+PlYz.net]
ネイティブでgc使わないようなコードも出せるようになればなんとかなりそうな気もするが、そうするとライブラリもそれ用のを使わないとダメか。

869 名前:デフォルトの名無しさん [2019/06/04(火) 11:48:04.89 ID:+GlxYcps.net]
graalvmでできるぞ

870 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 12:44:23.82 ID:zxBnyDUV.net]
それ回収しないやつじゃないですかね

871 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 18:10:17.62 ID:/4mAZqwS.net]
JVMが使い物にならないという人が何を使っているのかとても気になる

872 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 18:49:03.68 ID:Rd1vYitp.net]
JVM入りの指輪使ってます!

873 名前:デフォルトの名無しさん [2019/06/04(火) 19:32:40.19 ID:+GlxYcps.net]
jvmの引数でもGCのラグを解消できるし
最新のZGCというのも出てきた

874 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 23:57:50.92 ID:FDlJBmR7.net]
JVMというかspring fwの起動が糞遅いのは分かる
2.0になって少しましになったけど…

875 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 01:12:19.63 ID:PtZsxspX.net]
springってそんな遅いっけ?

876 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:00:02.20 ID:zKfENgey.net]
気のせいかわからんがKotlinでspringやると遅いような気がする

877 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:01:33.26 ID:C+IWDk26.net]
Ktor流行って欲しい



878 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:13:38.35 ID:gaDZjJ4I.net]
>>876
ktorはマイクロサービス向き
kotlin/jvmはモノリシック向き
kotlin nativeが流行らないと無理やと思うで

879 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 13:28:31.33 ID:B3mDB84e.net]
>>864
コンパイル時間は長いと思うけど、アプリ本体は変わらん。
というかそもそもspring本体はJavaだし。

880 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 19:11:23.87 ID:i1hhoL96.net]
>>866
Ktorをその並びで並べるのはちょっと違うと思う。

881 名前:デフォルトの名無しさん [2019/06/05(水) 21:56:16.86 ID:Nwu/rjvu.net]
>>868
kotlin/jvmはJava代替でSIerによるフルスタックFW&モノリシック開発が向いている
kotlin/nativeはGo代替を目指していてWeb系企業のマイクロサービスが向いている
kotlin/jvm+ktorではGOに勝てるユースケースが無いので
ktor流行にはkotlin/nativeの流行も必須というのが自分の主張。
まあ異論はあると思う。ちなみにkotlin/nativeは応援してるしktorも流行ってほしい

882 名前:デフォルトの名無しさん [2019/06/06(木) 00:14:12.91 ID:crlHsY/g.net]
>>822
vim + quickrunで動くよ!
kotlinc, javaなんてコマンドを打つことはしない。

883 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 05:38:57.73 ID:AHPkvIjM.net]
>>869
言ってることは分からなくもない。
ただ視野が狭すぎるというか、そんな可能性を狭めなくていいと思う。

884 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 06:33:47.56 ID:DDFFQDhW.net]
そもそもKtorってJVM、というかServletに依存してね

885 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 09:26:51.24 ID:B66i5Eyn.net]
依存はしてなくね

886 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 10:59:43.79 ID:72rhxhib.net]
次のリリースでkotlin/nativeのbuild時間が改善されそう
リリースいつなんだろ。。

887 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 12:47:51.63 ID:rJJBtVPp.net]
利根川さんにでも聞け



888 名前:デフォルトの名無しさん [2019/06/06(木) 20:06:45.07 ID:UUcOWqLu.net]
kotlin/nativeはGraal(AOT)に勝てるかどうかすら怪しいのに、夢見過ぎだろ。

889 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 20:44:18.25 ID:tk55iQ4S.net]
ktsって誰も使ってなさそう

890 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 21:14:00.21 ID:DsfM5wVX.net]
Gradleで使う

891 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 08:15:36.89 ID:XGKtoEgu.net]
>>876
AArch64の対応が進んではいるもののGraalがiOSに対応するのは当分先
Kotlin/Native側も資産(ライブラリ等)不足やパフォーマンスの課題があるけどな

892 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 08:44:09.41 ID:XGKtoEgu.net]
>>879の補足

Graal側はAArch64/Linux対応が完成してからiOS対応をやるかどうか検討するとのこと
https://github.com/oracle/graal/issues/373#issuecomment-454697157

まだAArch64/Linux整備中の段階
https://github.com/oracle/graal/commits?author=sanzinger&since=2019-05-15&until=2019-06-07

iPhone/iPadのチップ : A10〜A12X : ARMv8ベース
ARMv8の64ビットモードがAArch64

893 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 16:14:27.25 ID:5OmdT0Za.net]
kotlin/nativeのメインターゲットはiOS開発なんだろうと思う。

894 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 16:40:27.70 ID:xSr7j0ut.net]
普通に考えりゃそうだわな

895 名前:デフォルトの名無しさん [2019/06/07(金) 16:53:00.43 ID:q0RmewW9.net]
Swiftネイティブでいいじゃん、他にはUnityもあるし。
入り込む余地ないでしょ。

896 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 19:12:00.19 ID:uzdYHfME.net]
釣り針は大きすぎちゃいかんのだぞ

897 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 13:55:10.20 ID:pv0ZpPmn.net]
kotlin3大いいところ
・android標準という安心感(直ぐには廃れない)
・モダンな書き方ができる(arrowもあるし)
あと1つは?



898 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 14:23:05.48 ID:LrdSIDEQ.net]
>>885
Listが基本immutableなことやnull安全はモダンに含まれるのかな?
標準という意味ではGradleの記述言語としてもサポートされているので、廃れにくいかなと思っている。
個人的にはDSLを3つ目として挙げたい。

899 名前:デフォルトの名無しさん [2019/06/09(日) 14:43:33.75 ID:zgQq0a06.net]
JVMで動く言語でJavaのライブラリそのまま使えるのが良い
これに関してはKotlinである必用はないのだが、その他の利点の上に更にこれがあるのが良い

900 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 16:29:58.10 ID:SDScvKJ1.net]
最新のjavaも随分進化したから、そこまでkotlinにこだわらねえ。
kotlinがjavaや.netみたく自前の最初からnull安全なクラスライブラリ備えてるなら別だけど。

901 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 16:35:14.81 ID:yULR2w5s.net]
逆にあえてJavaを使う理由が特に思い当たらんからとりあえずKotlin使うわ

902 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 19:10:48.79 ID:TX+aAcRC.net]
Javaに新機能が追加されてもざんねんなJava部分が消えるわけではないので
可能であるなら最初からKotlinでやりたいかな

903 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 22:02:36.62 ID:LrdSIDEQ.net]
>>888
自分も最初はラムダもOptionalもあるからとそう思っていたけど、immutable programmingで行こうと思った時に、
Listがimmutableであることを保証する方法がないことに気づいてKotlinへの移住を思い切った。
immutable programmingはそれほど実現しなかったと反省しているが、
Kotlin/JSやbuild.gradle.ktsとかも出来たので後悔はしていない。

904 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 10:30:03.83 ID:5WqM3fpA.net]
うちももう新規追加は全部Kotlinだわ
だってJavaで書くメリットがマジで何もないんだもん

905 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 10:36:29.16 ID:rgxxUvbF.net]
javaで仕事してるやつ転職できなくなるぞ

906 名前:デフォルトの名無しさん [2019/06/10(月) 11:17:01.74 ID:g6tidy/F.net]
coboちゃんが入れ替わっただけの蛇腹は逝ってヨシ

907 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 13:43:04.79 ID:5WqM3fpA.net]
>>893
Java経験あるならKotlinなんてすぐ書けるから別に気にしないよ。
社員で雇うならどの言語で書いてたかはあんまり関係ない。



908 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 23:11:05.39 ID:f1GGY3g+.net]
kotlin書いてる人は何の仕事してるの?
やっぱandroid?

909 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 05:51:34.27 ID:qT8Bq+lF.net]
サーバーサイド
7割SpringBoot3割sparkその他

910 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 05:52:20.89 ID:qT8Bq+lF.net]
2年くらい前まで都市伝説レベルだったサーバーサイドKotlinも最近は勉強会でよく見かけるようになったんだ

911 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 07:18:21.72 ID:G5A56vfp.net]
できればkotlinで作りたいって言われてサーバー側のプログラムを作ってもらった。
DBサーバは別で画面制御だけ。

自分でも勉強しようと思ってこのスレッドを見てるところ。

912 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 15:06:52.23 ID:1jV87VfI.net]
そっか。サーバサイドkotlin順調に普及してきてるんやね。ワイの周り以外では。
うらやましい!

913 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 17:51:05.94 ID:PKI+0nSq.net]
ほぼ0だったのがようやく1になったくらいで、まだまだマイナーだけどね

914 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 19:13:42.98 ID:oFYgO+/L.net]
分布が0から1になったら制圧完了じゃないか

915 名前:デフォルトの名無しさん [2019/06/13(木) 09:02:41.37 ID:t9tRfwUY.net]
kotlinは関数型も取り入れてるし
色々欲張り過ぎで言語仕様複雑化してるイメージがあるんだけど
実際使っててどうなの?
kotlinプロジェクトはコーディングスタイルが多様化しそう

916 名前:デフォルトの名無しさん [2019/06/13(木) 10:04:02.16 ID:7TzYdFG0.net]
>>902
プログラマならまずそう思うわなw

917 名前:デフォルトの名無しさん [2019/06/13(木) 17:30:55.80 ID:rjthL9V0.net]
AndroidStudioやVSCode(mathiasfrohlichのKotlin Language機能拡張)で学習してるんだけどさ
どちらにしてもスペルミスは文字の色である程度わかるけど、文法が間違っててもその場で指摘してくれるわけじゃないのね
ある程度身につくまで文法間違いやを教えてくれるとありがたいんだけどそういうのはないのかな?



918 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 17:36:07.23 ID:5KTA02i+.net]
文法間違いとはなんぞや
一応、実行できないくらい間違ってる場合はIntelliJ系だと「現時点で解釈不能でわけわかんないです」「これを書いてるつもりの場合は〇〇が必要です」って下に英語でちょろっと出る

919 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 18:20:30.31 ID:KlaL+iOR.net]
文法間違いは普通に赤線で指摘されるだろ

920 名前:デフォルトの名無しさん [2019/06/13(木) 19:19:37.31 ID:t9tRfwUY.net]
kotlinのバグ発生率はJavaより低いですか?

921 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 19:22:16.85 ID:5KTA02i+.net]
Javaのバグ発生率を教えてくれたら考えてあげてもいいよ
同じような式で計算して出すから

922 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 19:32:38.72 ID:BCeAlBQy.net]
>>905
具体的にどういうこと?
VSCodeは知らんけどIntelliJは大抵のミスは教えてくれると思うけど

923 名前:デフォルトの名無しさん [2019/06/13(木) 19:38:53.30 ID:t9tRfwUY.net]
>>909
https://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf
>Java−0.01 (0.04)

Javaはいろいろな言語の中で平均的なバグ発生率のようです。
Kotlinはこの表にありません。

924 名前:デフォルトの名無しさん [2019/06/13(木) 19:43:19.29 ID:t9tRfwUY.net]
Javaのバグ発生率は、
同じ領域で使われていると思われるC++,C#,Pythonと比べて最も低いです。
つまり、カーネルやデバドラやブラウザ系でなければJavaが一番優秀に思えます。
しかしKotlinはJavaを打ち倒すかもしれません。

925 名前:デフォルトの名無しさん [2019/06/13(木) 19:52:28.01 ID:LD/3JdHH.net]
ぬるぽ
ぬるぽ
出まくるが
これはバグじゃないのか

926 名前:デフォルトの名無しさん [2019/06/13(木) 20:13:21.29 ID:t9tRfwUY.net]
その比較研究はgithubのコミットに基づいているようなので
ほとんどのNPEは開発中に発生して修正済みでしょう。
最初からNPEを発生させないkotlinは、
むしろバグ発生率よりコーディングスピードで優れているかもしれません。

927 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 20:40:07.05 ID:RwojvEQB.net]
その類の実証研究、大抵がJava対象だからKotlinだとどうなのかとかはまぁ分からんよね



928 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 21:07:39.94 ID:bk4aKhUm.net]
kotlinだとコードの行数が減るからjavaに比べて開発規模が小さかったと判断されてしまう

929 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 23:03:46.90 ID:bcw2IMf7.net]
>>913
仕様です。

930 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 14:45:14.16 ID:g+H89gem.net]
kotlinの言語仕様的にjavaよりバグり易そうな部分ってあるんかな?

931 名前:デフォルトの名無しさん [2019/06/14(金) 16:59:32.14 ID:3STsRhDl.net]
>>918
it や this が思ったものと違うものを指していたとか。

932 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 18:14:32.08 ID:g+H89gem.net]
確かに。let 周りで失敗してたことあったわ。あの辺はちょっと複雑になっちゃってる感あるね。

933 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 18:28:44.08 ID:LdOtrrUz.net]
KotlinはTypeScript, Swift, C#あたりの典型的なモダンCファミリーの範囲を超えてオリジナリティを出してきた部分については途端に微妙になる印象
当然っちゃ当然なんだが、天才的なものは感じないね

934 名前:デフォルトの名無しさん [2019/06/14(金) 20:01:34.38 ID:pfb3ZKlS.net]
Javaはエラーコードを強制される部分があって、プログラムの質の底上げがされてるんじゃないかな

935 名前:デフォルトの名無しさん [2019/06/14(金) 20:09:15.99 ID:HXW20L0t.net]
エラーコードを強制って例外処理のこと?

936 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 20:23:59.56 ID:Emc1ZmLq.net]
なんかもう、わかんない人は無理に会話入ってこなくていいよ

937 名前:デフォルトの名無しさん [2019/06/14(金) 20:32:30.84 ID:HXW20L0t.net]
たぶんJavaにあってKotlinに無いものは無い
強いて言えばKotlinは関数型を採り入れて言語仕様が複雑化しつつあるし
Javaとの混在が可能だからごちゃごちゃしやすい
人によって書き方が変わりやすい
あとGSONとの連携で問題が生じやすいとかあったはず



938 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 22:27:49.12 ID:7NQ+qMUb.net]
検査例外とラムダ式の相性の悪さは…

939 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 22:47:52.21 ID:w6RR3Bwm.net]
検査例外ちゃんは皆に嫌われてるから…

投げられた例外を捌けるかどうかは呼び出し元の都合や要件に依るからcatchを強制されるのは好かん
て雲のジュウザが言ってた

940 名前:デフォルトの名無しさん [2019/06/14(金) 22:48:02.61 ID:HXW20L0t.net]
なんかQiitaにうまく書けるコードあったからちょっとカスタマイズして使ってる
https://qiita.com/q-ikawa/items/3f55089e9081e1a854bc

941 名前:デフォルトの名無しさん [2019/06/15(土) 04:17:10.27 ID:6gRe3JZA.net]
マルチパラダイムな関数型言語はどう設計していくのが良いのか難しいと思う
OOPと関数型は根本的にミスマッチしてる

942 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 07:02:06.90 ID:9mAlYVnq.net]
ポインタさえなければ、バグの出やすさは誤差の範囲じゃないかな

943 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 07:54:39.96 ID:pCdIqw4x.net]
A

944 名前:ndroid kotlinで言えばMVVM一択だろ
悩むほど選択肢はない
[]
[ここ壊れてます]

945 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 08:21 ]
[ここ壊れてます]

946 名前::51.26 ID:34xcDdoq.net mailto: >>926
関数型とも相性が悪いが嫌わないで下さいませ
[]
[ここ壊れてます]

947 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 09:07:49.50 ID:Ga3aXpPN.net]
>>929
そうかな
イミュータブルオブジェクトと関数型は相性いいと思うけど



948 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 10:09:18.81 ID:kA7AOVm/.net]
OOPそのものじゃなくてクラスでデータと関数が密結合してるのがいまいちという話は感じる

949 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 10:29:34.05 ID:XQanIMKl.net]
本質的にはラムダ/クロージャでの束縛と変わらないと思うけどな

950 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 10:40:41.99 ID:VIoLCw8z.net]
>>909
有言実行な

951 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 11:15:34.03 ID:jsVQo8Sw.net]
>>934
やはりdata Classだな

952 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 11:31:49.90 ID:Ga3aXpPN.net]
これが f(g(immutableData))

こうなる immutableObject.g().f()

953 名前:デフォルトの名無しさん [2019/06/16(日) 15:28:56.20 ID:+bML8jLF.net]
>>918
わからない。なさそうな気がするが、KotlinにはKotlinなりの何かハマり易そうな部分があるのだろうな。弱点というかなんというか。

954 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 09:40:35.09 ID:IlEGRCQm.net]
宮迫の闇営業の件で何をトチ狂ったか、宮迫が出演する番組のスポンサーが
JetBrainsだと勘違いして開発者達にお問い合わせメール送りまくってるの草。
JetBrainsと宮迫は関係ねーよw

955 名前:デフォルトの名無しさん [2019/06/17(月) 12:39:31.98 ID:WHxj8IY7.net]
何の話か全くわからない。
かといって聞いても面白そうな話ではないので詳しく聞きたいとも思わない。

956 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 13:00:55.37 ID:o6rhTPDa.net]
向いてないから死ね

957 名前:デフォルトの名無しさん [2019/06/17(月) 14:50:03.42 ID:WHxj8IY7.net]
向いてない?



958 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 15:42:34.39 ID:hVMxT+V3.net]
(芸能ゴシップに)向いてない

959 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 17:37:42.52 ID:zJfN8BpE.net]
そんなことで死んでたら、おばちゃん以外全滅やな

960 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 17:48:49.03 ID:z41igY3s.net]
JetBrainsがテレビCM出してるの想像したらワロタ
オカンが「あらDataGripもいいわねえ」とか言うのか

961 名前:デフォルトの名無しさん [2019/06/18(火) 06:15:56.76 ID:3nOE2mBA.net]
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。

962 名前:デフォルトの名無しさん [2019/06/18(火) 17:12:38.49 ID:yt+j24gZ.net]
>>944
まあ芸能関係は全く注目してないからな。
しかしのめり込む人は思い切りのめり込むね。
芸能人批判するとか、なんで自分と関係ない他人の事にそんなに夢中になれるのか謎だ。

963 名前:デフォルトの名無しさん [2019/06/18(火) 20:05:30.96 ID:Yl81yVsm.net]
EBライブラリってのをdownloadしてcompileしてみた。
www.mistys-internet.website/eb/

ドキドキしながらsamplesを動かすと、動いてるみたい。
このライブラリを使えばEPWING辞書データにアクセスする事ができる。
俺の場合、手元のジーニアス

964 名前:蜴ォ典にアクセスできた。

こいつでAndroidアプリ、辞書Viewer作れば需要あるかな?
EPWINGだけでなく、辞郎形式のテキストにも対応しちゃう事にする。
Qiitaへ投稿されたMouse Dictionaryみたいなのを目指すけど、需要あるか、ちょいと心配。
[]
[ここ壊れてます]

965 名前:デフォルトの名無しさん mailto:sage [2019/06/18(火) 22:59:28.72 ID:dBLXUbfR.net]
>>949
ジーニアスのアプリがほしいと思っていた時期が、私にもありました。
でも、今や単語を選択して右クリック(長押し)->webで検索で済むと気づいてからは、
なんということでしょう。それまで高まっていた物欲が嘘のように消え去りました。

966 名前:デフォルトの名無しさん [2019/06/19(水) 04:49:57.44 ID:tVNS+22r.net]
【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/

967 名前:デフォルトの名無しさん [2019/06/19(水) 06:23:38.19 ID:l5Kajxps.net]
EBライブラリ、ソースのtimestampが2010/01/03と随分古い。
動かすとテキストがeuc-jpで出て来た。

これは、辞書に依存するのか?それともEBライブラリの仕様か?

2010年ってまだ、UTF-8が普及する前なのか?
そういえばYahoo Japanのフロントページが以前はeuc-jpだった気がする。けど、何時だったか思い出せない。
多分、Ruby 1.9が出現したころだから、これも2010年辺りか?

iPhoneと共にutf-8が普及し出したから2007年にはutf-8は普及の兆しがあったはずだが。



968 名前:デフォルトの名無しさん [2019/06/19(水) 06:58:47.54 ID:l5Kajxps.net]
>>950
ジーニアス大辞典、良いよねぇ。
citeを引くと、excite, reciteと語源が同じって出てくる。

やっぱり、EPWING辞典の需要って少なそう。

969 名前:デフォルトの名無しさん mailto:sage [2019/06/19(水) 09:56:43.59 ID:t5G+Fp+C.net]
>>952
その頃にはUTF-8が覇権を握り始めてたけど、LinuxのデフォルトがEUCだった頃の名残はまだまだ濃かった
特に人の意識でEUCが標準って感覚の人がまだ多かったね

970 名前:デフォルトの名無しさん [2019/06/19(水) 10:46:28.14 ID:l5Kajxps.net]
twitterを電子辞書をkeyに検索すると、デバイスのお絵かき機能を使った落書きが、大量にヒットする。

学生さんは、授業中、イラスト描いてるらしい。

けど、画風が皆、似通ってるのはなぜだ?アニメ世代ってのは、あんな絵が好きなのか?

971 名前:デフォルトの名無しさん [2019/06/19(水) 19:31:58.26 ID:l5Kajxps.net]
EPWINGって何の略?
必死にググったけど、WINGの部分が良く解らん。

EP = Electronic Publishing
ってのはすぐ気がついたけど。
あとEPWINGの仕様で、データはEUC-JPで格納されてる様だ。

EBライブラリのREADMEはISO-2022-JPで書かれていた。
時代を感じる。まだ、10年も経ってないのに。

972 名前:デフォルトの名無しさん [2019/06/19(水) 19:36:05.36 ID:WYELJAwQ.net]
>>955
アニメの絵にも流行りがあって時と共に変化していくんだよ。
昔の同時代のアニメを見るとそれはそれでなんとなく似ていたりする。

973 名前:デフォルトの名無しさん [2019/06/20(木) 07:32:57.64 ID:q2Ahu20H.net]
UTF-8がWindows10にも普及しているのか?調べてみた。
2018年末最新のWindows10からUTF-8採用って事みたい。

ごく最近ッてことだ。おそろしい。きっと混乱はまだ続きそう。

974 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 08:51:24.08 ID:sDpzaQfg.net]
メモ帳でutf-8使うとBOMってのが付くのが憎悪しかない

975 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 09:27:00.55 ID:6ruM3wzV.net]
漢字コード周りは太古より混沌として

976 名前:ワすなあ []
[ここ壊れてます]

977 名前:デフォルトの名無しさん [2019/06/20(木) 10:34:16.29 ID:q2Ahu20H.net]
>>959
メモ帳の文字コード既定値がUTF-8に、Windows 10「May 2019 Update」

https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00723/042300004/



978 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 11:33:05.23 ID:XGI0CaH0.net]
MSはsjis系のテキストファイルと区別するためにUTF-8のテキストファイルにBOM付けたかったんだろうが、Unix系の人達の激しい抵抗に屈した形だな

979 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 13:09:58.71 ID:YzAIhfm/.net]
>>960
もはやWindowsだけが浮いてて他は統一されている

980 名前:デフォルトの名無しさん [2019/06/20(木) 13:22:43.18 ID:R3CNAp+/.net]
困ってるのが日本人だけだとしたら酷いな

981 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 14:02:42.49 ID:JwmP4tXt.net]
>「BOM(バイト・オーダー・マーク)なしのUTF-8」が追加
>デフォルト設定でBOMなしのUTF-8を選択するようになった

もうBOM付かないんですか!やったーー!AA略

982 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 14:09:50.23 ID:JwmP4tXt.net]
ExcelがBOM無しCSVに未対応じゃないすか!やだーー!

983 名前:デフォルトの名無しさん [2019/06/20(木) 15:39:54.52 ID:q2Ahu20H.net]
UTF-8のデメリットは、1文字が1 - 6byteの可変長であること。
例:a = 61, 1byte
😀 = F0 9F 98 80, 4byte

これ、文字列バイナリデータが与えられた時、文字数ってどうやって数えるんだ?

984 名前:デフォルトの名無しさん [2019/06/20(木) 15:46:34.34 ID:9IsAc6k5.net]
UTF-8 のメリットは任意のバイト位置で
それが何バイト必要な文字なのかと
その文字中の何バイト目かが判ることなんだが

985 名前:デフォルトの名無しさん [2019/06/20(木) 17:45:07.28 ID:q2Ahu20H.net]
>>968
そうなのか!知らんかった。
では、80と出てくるとその文字は4byte必要な文字の1バイト目だと判るのね?

986 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 18:58:22.29 ID:JwmP4tXt.net]
文字数という意味ではUTF-32でさえも可変長だよ
異体字セレクタとかあるから

987 名前:デフォルトの名無しさん [2019/06/20(木) 20:08:50.04 ID:+6KXUujL.net]
>>967
1〜4バイトでは?

>>968
文字の最初の1バイト目かどうかがわかるだけでは?それがわかると全体で何バイトかわかるけどいきなり途中の1バイトだけ見たらそれが何バイト目かはわからんと思うのだが。



988 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 20:21:19.41 ID:1cBvDRZL.net]
名前がコトリンだからあなどられて、ばかにされそうだけど
そこんとこどうなの?

989 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 20:25:32.03 ID:iAGTq6ne.net]
Kotlinの気持ち悪さといったらない

990 名前:デフォルトの名無しさん [2019/06/20(木) 22:46:04.16 ID:1p12e0x8.net]
本当はSwiftより先にあったらしいけどさ
なんか言語学習を混乱させるために出てきた「後発劣化Swift」みたいな感覚が抜けないな

991 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 23:02:51.30 ID:JwmP4tXt.net]
Swift1.2〜3.2くらいまでアプリ開発で使いつつ
MLでの言語仕様の議論追ったりしてたけどKotlinと比較してそんな印象は無いなぁ
むしろSwiftがSwiftユーザーを混乱させる勢いだったよ

992 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 23:39:22.66 ID:LZeo8jFH.net]
おまえらことりんの事バカにし過ぎ

993 名前:デフォルトの名無しさん [2019/06/21(金) 00:11:32.79 ID:B9wXa8Qq.net]
バカにする者の居る国の沿岸に Kotlin class destroyer でも派遣してやりなさい。

994 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 00:19:44.86 ID:oqDjX8us.net]
inline classには期待してる

995 名前:デフォルトの名無しさん [2019/06/21(金) 02:52:37.45 ID:FirfeIPX.net]
>>971
君は勉強が足りない

996 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 06:45:14.02 ID:0S+ga2MW.net]
>>971で合ってるよ
10FFFF上限で5バイト以降は廃止されたし
2-4バイトは後続バイトであることは分かっても文字中のバイト位置の逆算は不可

997 名前:デフォルトの名無しさん [2019/06/21(金) 09:40:47.55 ID:UUUS7pJl.net]
>>979
君よりは足りているように思えるのだが。



998 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 12:14:23.93 ID:4tmbpCdV.net]
向いてないから死ね

999 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 12:36:06.78 ID:A0zl/65r.net]
喧嘩はおやめ、ABC

1000 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 13:20:15.67 ID:DPrh10DB.net]
ネカマだけどアタシのために喧嘩を止めて

1001 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 13:30:31.81 ID:skxOC/OA.net]
>>982
このレス、プログラム板のあちこちでみるけど何?
板にキチガイが常駐してるの?

1002 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 16:41:40.80 ID:A0zl/65r.net]
デジタル人格は死んでも本体が生きていればいくらでも復活出来る

1003 名前:デフォルトの名無しさん mailto:sage [2019/06/22(土) 00:51:03.50 ID:sUTyEXDJ.net]
くだすれPython(超初心者用) その43【Ruby禁止】

Python スレのテンプレを勝手に改変して、荒らしてる奴。
「Ruby 死ね」とか、いつも書いてる

Ruby, jQuery, Lodash, ライブラリの話は禁止とか、
テンプレを勝手に改変して、多くのスレを建てる荒らし!

荒らしの特徴は、いつも30分以内に、2回書き込んで自演する。
複数人いるように、見せかけるのが特徴

1004 名前:デフォルトの名無しさん [2019/06/22(土) 04:18:14.63 ID:zj+KJbMh.net]
( ´_ゝ`)フーン

1005 名前:デフォルトの名無しさん [2019/06/22(土) 10:05:28.96 ID:fiI8bn9U.net]
次スレよろ

1006 名前:デフォルトの名無しさん [2019/06/22(土) 16:01:21.64 ID:zj+KJbMh.net]
次スレ

Kotlin 6
https://mevius.5ch.net/test/read.cgi/tech/1561186797/

1007 名前:デフォルトの名無しさん mailto:sage [2019/06/22(土) 19:29:56.53 ID:jXJvmGnc.net]
>>990
次スレ乙



1008 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 06:23:13.99 ID:R2rggQxM.net]


1009 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 17:43:28.65 ID:rsKqqEB5.net]


1010 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 19:46:17.29 ID:N5Qb8UIm.net]


1011 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 22:16:19.27 ID:vZOM6xmC.net]
お前ら向いてないよ

1012 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 22:31:20.40 ID:6JO2kpc/.net]
なんだと

1013 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 06:19:00.21 ID:ghfSvaJN.net]
>>996
落ち着け。>>982の真似に過ぎない。

1014 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 09:52:00.23 ID:nG4gLzh9.net]
998

1015 名前:デフォルトの名無しさん [2019/06/24(月) 12:50:53.78 ID:6xXOOyfa.net]
1000は君に譲ろう。さあ、書きなさい。

1016 名前:デフォルトの名無しさん [2019/06/24(月) 12:52:49.34 ID:NW8XqAfb.net]
1000なら令和最初の関東大震災

1017 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 197日 16時間 23分 8秒



1018 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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