Kotlin 5

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

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/
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
すまん触った
510デフォルトの名無しさん
垢版 |
2019/04/21(日) 19:56:32.73ID:9kZK6Cbt
developer.android.comからサンプルをdownloadして動かしてたら、Gradle daemonが3つも動いてる事になった。

各々違うVersionのGradleらしい。

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

build.gradle(Module:app)とbuild.gradle(Project: kotlinApp)の2つあったり。
2019/04/21(日) 21:42:46.66ID:ePLxajCC
連投しているところ悪いけど、その手の日記ならQiitaにでも書いておいてほしい。
ていうか書くまでもなくそこに答えが書いてある。
2019/04/21(日) 22:54:30.74ID:JMkKpOJG
まずはAndroid関係ないシンプルなGradleプロジェクトを作ってみることをお勧めする。基礎知識が欠落しすぎてて余計な回り道しかしてない。
よほど込み入ったことをしない限りそんなに複雑なものではないから。
少なくとも歴史上生まれてきた数々のビルドツールの中では1番マシ。
2019/04/21(日) 22:54:39.59ID:8IQ6w5E8
.gladleのキャッシュとかいろいろあるけどねえ
ガチャガチャやってりゃ直るからgladleは優しいよな
2019/04/21(日) 22:55:48.78ID:JMkKpOJG
それ。ぶっ壊れたと思っても適当になんかしてりゃ直ってくれるから優秀。
2019/04/21(日) 23:56:09.92ID:+YkyhY+W
まったく毎度毎度グーグルの仕事はほんんんんと雑だな
2019/04/22(月) 00:58:40.19ID:47gIWCEb
fragmentのbindingってlateinitでvarにするのとby lazyでvalにするのとどっちが正解ですか
2019/04/22(月) 03:51:49.53ID:SyBBal55
>>509
はい
518デフォルトの名無しさん
垢版 |
2019/04/22(月) 10:56:56.63ID:QiOq/xsC
>>512
thx
found great articles in Qiita concerning Gradle build tool.
2019/04/22(月) 12:17:09.85ID:iCdpr57v
JVMが有償化したらおまえら阿鼻叫喚
2019/04/22(月) 12:49:18.33ID:+g+F61Q1
1年くらい前は確かに阿鼻叫喚だったけど今となってはもう誰も問題だと思ってない
2019/04/22(月) 13:54:04.36ID:5CpOs8vM
>>519
JVM, JRE, JDKが今どんな状況か分かってなさそう
2019/04/22(月) 14:54:26.97ID:3J9RCiSz
>>521
詳しく頼む
523デフォルトの名無しさん
垢版 |
2019/04/22(月) 16:23:17.22ID:QiOq/xsC
>>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

これでどう?
524デフォルトの名無しさん
垢版 |
2019/04/22(月) 16:29:37.09ID:QiOq/xsC
俺、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)
2019/04/22(月) 16:34:09.84ID:952sQ1RS
>>524
Android Studioには専用にカスタマイズされたOpenJDKが組み込まれててそれを使って動いているから、システムに別のJDKを入れようが入れまいが関係ない
526デフォルトの名無しさん
垢版 |
2019/04/22(月) 16:35:59.31ID:QiOq/xsC
ちなみにgradleってファイル名のbash scriptがAndroidStudio3.4には入っていて、
1. $JAVA_HOME
2. which java

上記からjavaコマンドの場所を検索してgradle-launcher-5.1.1.jarを動かしてるみたいなんだけど。
2019/04/22(月) 16:37:13.18ID:952sQ1RS
で、何がわからなくて何が聞きたいの?
528デフォルトの名無しさん
垢版 |
2019/04/22(月) 16:40:22.54ID:QiOq/xsC
>>525
なるほど!
ってことは、Oracle版JDKはuninstallしてもOK?

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

> /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home
2019/04/22(月) 16:49:59.02ID:952sQ1RS
>>528
Android Studioを動かすだけなら消しちゃって大丈夫。
そのパソコンで他にjavaに依存している何かを動かしてるなら消しちゃダメ。
530デフォルトの名無しさん
垢版 |
2019/04/22(月) 18:10:15.79ID:QiOq/xsC
>>529
thx
javaに依存してる何かは、無いです。

kotlinc(Kotlin Compiler)コマンドを使いたいので
>brew install kotlin
ってコマンドを打とうとしてます。
kotlinがJREを必要とするなら、JREも同時にbrewがinstallするでしょう。
だったら、消さずに残すのが良いでしょうか?
2019/04/22(月) 19:06:49.70ID:R7Rys8j6
幼稚園児が増える季節か
2019/04/22(月) 19:49:54.02ID:BvK+7rjz
この前も別の初心者がkotlincで詰まってたんだけど、どこかの有名な入門サイトがコマンドライン推奨でもしてるの?
正直kotlin書くならIDE前提だろうからコマンドラインでコンパイラの使い方を覚える必要なんて全くないと思うんだが。
2019/04/22(月) 20:19:08.99ID:SyBBal55
>>532
同じ人なのでは
n=1
2019/04/22(月) 20:20:41.47ID:47gIWCEb
dagger
535デフォルトの名無しさん
垢版 |
2019/04/22(月) 20:31:59.51ID:QiOq/xsC
>>532
うっそーん。
コマンドラインでチョコっと、コードを試したいってこと無い?
IDEよりVimが好きな俺だけか?

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

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

30分で覚えるKotlin文法
https://qiita.com/k5n/items/cc0377b75d8537ef8a85
2019/04/22(月) 20:41:55.57ID:47gIWCEb
それならブラウザ上で実行できるplayground的なものが公式にあったはず
2019/04/22(月) 20:49:23.39ID:952sQ1RS
ちょっと書いてちょっと動かすにしてもIntelliJでRunした方がいいしな、デバッガが超優秀だし
Vimで書いてコマンドラインで実行ってのは確かに昔Javaを勉強した頃はやったけど、
今となっては出汁をとるのに鰹節を削るところから始めるような古めかしさを感じる
2019/04/22(月) 20:51:00.58ID:952sQ1RS
まあ好みだからそれがやりたいなら良いとは思うよ
仕事で新人がそんなことで詰まってたらやんわり注意するかもしれんけど
2019/04/22(月) 20:51:15.45ID:MftVaIwk
そういうときはREPL使ってる
2019/04/22(月) 21:14:37.90ID:j5GMJ/X8
単一ファイルを少し変更したいときはエディタ。
それ以外はIDEを使う
541デフォルトの名無しさん
垢版 |
2019/04/22(月) 21:42:39.28ID:QiOq/xsC
>>537
三大Java IDEは気にはなってるけど、今の所リソース食いそうで躊躇してます。

今の所、Referenceの検索容易性から俺にはVimかなぁ。
デバッグ環境はpoorかな。print文を埋め込むしか、今の所は手が無しかな。

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

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

Xcodeならplayground作れるんだが。
2019/04/22(月) 21:53:50.10ID:BvK+7rjz
君、謎の行動力がありそうでそれはいいんだけど、
本当に何から何まで無駄なことばっかりやってるからまず最初に調べる癖をつけたほうがいい
この世界は一にも二にもまずは調べることが何より大事
2019/04/22(月) 22:12:50.79ID:5CpOs8vM
KotlinやるならIntelliJ一択
あとガワが違うだけでAndroid Studioの中身はIntelliJ
※Android以外のプロジェクト作成など、一部の機能を非表示にしている
2019/04/22(月) 22:19:17.89ID:BvK+7rjz
Kotlin勉強したいならIntelliJの無償版使うのが1番おすすめだねえ
ちなみにAndroid Studio動かすのと消費するリソースは同じ、何せほぼ同じものだし
2019/04/22(月) 22:23:01.40ID:5CpOs8vM
>>522
・JVMはJREの一部、JREはJDKの一部
・Java9以降「システムへの単一JREのインストール」は無くなっており、
 JDKから各アプリの同梱用JREを生成する (jdeps/jlink)
・OracleJDKに含まれるJVMは既に有償化されている
・OpenJDKに含まれるJVMは今後も有償化されることは無い
2019/04/22(月) 23:33:08.26ID:2FYuav9u
>>545
ありがとう
十分に理解できました
547デフォルトの名無しさん
垢版 |
2019/04/23(火) 12:05:16.04ID:3Q52IgbA
>>535
>はじめてのKotlin。Javaと比較してみた
>https://qiita.com/hituziando/items/fa2dc4097b24ab78276e
>
>30分で覚えるKotlin文法
>https://qiita.com/k5n/items/cc0377b75d8537ef8a85

もういっちょ!
Kotlinまとめ - 文法詳解 - クラスとそのメンバ
https://qiita.com/hicka04/items/6f47f505d7b68ede3680
548デフォルトの名無しさん
垢版 |
2019/04/23(火) 13:16:20.26ID:gv0SOq8d
>>535
ある。ちょこっとする時は例えWindowsで IntelliJ 起動中でも Linux サーバ側でREPLやるな。
なんでかというと IntelliJ のREPLのウインドウはなんか出力がすぐ出なかったりでおかしいから。
その他短すぎるプログラムのためにわざわざプロジェクト作ったり packge 作るのもアホらしい時とか。
549デフォルトの名無しさん
垢版 |
2019/04/23(火) 14:13:43.00ID:3Q52IgbA
Android Studio残念ポイント!

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

なんで?そう言う時は、IntelliJ使えってことか?▶なんだろうなぁ。
550デフォルトの名無しさん
垢版 |
2019/04/23(火) 14:52:10.33ID:67h9+wNp
>>548,549
JUnit使う手がある。
しかも、main毎にファイル分けるとかしなくていいし。
2019/04/23(火) 14:54:14.57ID:TrDrz5+t
>>548
IntelliJのあれはまともに動いてないんじゃないかとずっと思ってる
まともに使えてる人いるのだろうか…?
2019/04/23(火) 15:47:52.74ID:KnPjeA9Q
Intの変数名をintってするのってまずい?

val int : Int = 0

こういうの
553デフォルトの名無しさん
垢版 |
2019/04/23(火) 15:52:03.96ID:3Q52IgbA
>>548
REPLねぇ。

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

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

あんた、本当にLinux側でREPLする事あるの?
554デフォルトの名無しさん
垢版 |
2019/04/23(火) 15:54:20.98ID:3Q52IgbA
>>552
怖いなぁ。そのコード。
俺、さっき、setNameってメソッドを作ったら、clashしてるって怒られた。
clash = conflict って意味らしい。
java.lang.StringのsetNameメソッドとコンフリクトしてるから、コンパイルしないんだって。
2019/04/23(火) 16:06:01.49ID:KnPjeA9Q
そういうことあるのか
でもIntがintじゃないのってintを変数名で使ってもいいよっていう意思を感じるんだよなあ

val hoge : Hoge

ってすることを考えると

val int : Int

も自然な気がする
2019/04/23(火) 16:09:50.49ID:KnPjeA9Q
ああでもjavaは予約語でintだめなのか
やっぱりやめておこう
2019/04/23(火) 16:25:21.03ID:xD8uuYM0
そもそも逆コンパイルしたソースじゃないんだから
意味のある変数名付けなよ
558デフォルトの名無しさん
垢版 |
2019/04/23(火) 16:31:00.98ID:3Q52IgbA
macOS10.14.3
AndroidStudio3.4
環境です。API Referenceを参照するには、どうすれば?
Command-Jで起動するかと思いきや?何も起こらないっす。

Webサイトへ行かないとダメなのかな?
559デフォルトの名無しさん
垢版 |
2019/04/23(火) 17:37:07.37ID:gv0SOq8d
>>553
ちょっと試す時とかによく使うよ
560デフォルトの名無しさん
垢版 |
2019/04/23(火) 17:41:27.91ID:3Q52IgbA
>>559
thx
そっすか。
561デフォルトの名無しさん
垢版 |
2019/04/23(火) 18:02:43.25ID:3Q52IgbA
>>558
see the hit result of Help>Search(Documentation).
You can retrieve the documents by ctrl-J@macOS as well.
2019/04/23(火) 19:19:13.65ID:IWDMUBZh
>>555
とりあえず変な癖をつける前に『リーダブルコード』を読んでくれ、頼むから
2019/04/23(火) 19:47:01.75ID:hcUTeQ5O
リーダブルコード読みやすいしわかりやすいし為になるし
書いたやつ神
564デフォルトの名無しさん
垢版 |
2019/04/23(火) 19:49:26.39ID:3Q52IgbA
>>562
>リーダブルコード
この本そんなに良い本なのか?

ペラペラ見たことあるけど、すでに知ってること、というか、実践していることしか書いてなかった。
2019/04/23(火) 19:52:05.70ID:Ky48Nwl1
>>564
嘘だ
566デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:08:14.43ID:gv0SOq8d
>>564
じゃあその本に書いてないことが書かれた本を出してくれ。Kindle版だけでもいいから。
2019/04/23(火) 20:16:21.90ID:IWDMUBZh
>>565
知っていることを再認識させてくれる良書ではある
2019/04/23(火) 20:18:24.37ID:IWDMUBZh
何でIDが同じになるんだよ
同じプロバイダーなのか
569デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:22:11.04ID:gv0SOq8d
たまーに同じID出ることあるな。ものすごく希だが。
きっと今日は良いことあるよ。あと3時間40分ぐらいで終わるけど。
570デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:22:12.06ID:3Q52IgbA
>>565
嘘じゃない。
ああぁ。俺は間違ってないんだな。という感じ。
まあ、詳細に読んだわけでは無いし、プログラマが知るべき97のこと、って本にも似たような事が書いてある。

Matzも「名前重要」なんて事を、97本に寄稿している。
プログラミング作法、なんかの方がよっぽど良かったな。俺には。
571デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:24:15.75ID:3Q52IgbA
>>569
って事はHash algorithmがpoorってこった。
2019/04/23(火) 20:25:36.05ID:B8eC+d1i
コードコンプリート
573デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:27:52.73ID:3Q52IgbA
>>570
>Matzも「名前重要」

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

courtesy of Matz
2019/04/23(火) 20:29:32.04ID:IWDMUBZh
プログラミング作法
プログラム書法
ソフトウェア作法

全てブライアン・カーニハン御年77歳の名著
575デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:31:32.66ID:gv0SOq8d
>>571
まあそういうことだな。
こんな掲示板でrichにしてどうするって感じはするが。
576デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:32:56.33ID:3Q52IgbA
>>566
じゃぁ、一つ俺の考え方を!

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

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

何時いかなる時も、意味ある変数名をつけるのは、俺は反対だ。
変数名を考える事に、時間が惜しい時もある。
2019/04/23(火) 20:33:50.86ID:PyZ6tY2R
拡張プロパティに値セットする方法ある?
578デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:36:26.55ID:gv0SOq8d
やはりプログラミングも茶道とか華道とかと同様にプログラミング道を作ってわびさびが必要な時代が来たのかも知れないな。
2019/04/23(火) 20:36:27.27ID:IWDMUBZh
>>576
そ、ループ変数なんて i, j, k, ....nで良いやん
2019/04/23(火) 20:38:43.46ID:PyZ6tY2R
でもkotlinでforとか使わなくね?
581デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:42:02.64ID:gv0SOq8d
>>576
変数名を日本語にすれば良い。
ソース丸ごと世界に公開する予定がないならその方が分かりやすくて良い。
日本語知らないやつには難読化して軽くプロテクトが掛かった状態にもなる。
582デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:54:10.92ID:3Q52IgbA
>>581
昔、英語が出来なかった時には、
kabuPrice
とか
kabuka
なんて恥ずかしい名前使ってたけど、
今では、
sharePrice
でないと、code reading時にストレス感じるわぁ。
583デフォルトの名無しさん
垢版 |
2019/04/23(火) 20:57:09.18ID:gv0SOq8d
漢字使え漢字
584デフォルトの名無しさん
垢版 |
2019/04/23(火) 21:02:15.89ID:3Q52IgbA
val 感じ = "感じ"
print(感じ)
なんと、warningは出るが、実行可能。
585デフォルトの名無しさん
垢版 |
2019/04/23(火) 21:05:59.98ID:3Q52IgbA
Qiita見ながらKotlin修行中だけど、
Jump Command便利そう。
return@forEach
continue@loop
return@loop
とか言うやつ。

これSwiftに欲しい。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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