JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/
Kotlin 5
■ このスレッドは過去ログ倉庫に格納されています
2018/12/08(土) 20:29:41.41ID:oXOQORcd
509デフォルトの名無しさん
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つあったり。
各々違うVersionのGradleらしい。
どうやら、androidの開発環境の歴史的変遷から、ややこしい事になってるみたいだ。
build.gradle(Module:app)とbuild.gradle(Project: kotlinApp)の2つあったり。
511デフォルトの名無しさん
2019/04/21(日) 21:42:46.66ID:ePLxajCC 連投しているところ悪いけど、その手の日記ならQiitaにでも書いておいてほしい。
ていうか書くまでもなくそこに答えが書いてある。
ていうか書くまでもなくそこに答えが書いてある。
512デフォルトの名無しさん
2019/04/21(日) 22:54:30.74ID:JMkKpOJG まずはAndroid関係ないシンプルなGradleプロジェクトを作ってみることをお勧めする。基礎知識が欠落しすぎてて余計な回り道しかしてない。
よほど込み入ったことをしない限りそんなに複雑なものではないから。
少なくとも歴史上生まれてきた数々のビルドツールの中では1番マシ。
よほど込み入ったことをしない限りそんなに複雑なものではないから。
少なくとも歴史上生まれてきた数々のビルドツールの中では1番マシ。
513デフォルトの名無しさん
2019/04/21(日) 22:54:39.59ID:8IQ6w5E8 .gladleのキャッシュとかいろいろあるけどねえ
ガチャガチャやってりゃ直るからgladleは優しいよな
ガチャガチャやってりゃ直るからgladleは優しいよな
514デフォルトの名無しさん
2019/04/21(日) 22:55:48.78ID:JMkKpOJG それ。ぶっ壊れたと思っても適当になんかしてりゃ直ってくれるから優秀。
515デフォルトの名無しさん
2019/04/21(日) 23:56:09.92ID:+YkyhY+W まったく毎度毎度グーグルの仕事はほんんんんと雑だな
516デフォルトの名無しさん
2019/04/22(月) 00:58:40.19ID:47gIWCEb fragmentのbindingってlateinitでvarにするのとby lazyでvalにするのとどっちが正解ですか
517デフォルトの名無しさん
2019/04/22(月) 03:51:49.53ID:SyBBal55 >>509
はい
はい
518デフォルトの名無しさん
2019/04/22(月) 10:56:56.63ID:QiOq/xsC519デフォルトの名無しさん
2019/04/22(月) 12:17:09.85ID:iCdpr57v JVMが有償化したらおまえら阿鼻叫喚
520デフォルトの名無しさん
2019/04/22(月) 12:49:18.33ID:+g+F61Q1 1年くらい前は確かに阿鼻叫喚だったけど今となってはもう誰も問題だと思ってない
521デフォルトの名無しさん
2019/04/22(月) 13:54:04.36ID:5CpOs8vM >>519
JVM, JRE, JDKが今どんな状況か分かってなさそう
JVM, JRE, JDKが今どんな状況か分かってなさそう
522デフォルトの名無しさん
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
これでどう?
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)
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)
525デフォルトの名無しさん
2019/04/22(月) 16:34:09.84ID:952sQ1RS >>524
Android Studioには専用にカスタマイズされたOpenJDKが組み込まれててそれを使って動いているから、システムに別のJDKを入れようが入れまいが関係ない
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を動かしてるみたいなんだけど。
1. $JAVA_HOME
2. which java
上記からjavaコマンドの場所を検索してgradle-launcher-5.1.1.jarを動かしてるみたいなんだけど。
527デフォルトの名無しさん
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
なるほど!
ってことは、Oracle版JDKはuninstallしてもOK?
以下のフォルダをごそっと削除してしまいたいんだけど。
> /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home
529デフォルトの名無しさん
2019/04/22(月) 16:49:59.02ID:952sQ1RS530デフォルトの名無しさん
2019/04/22(月) 18:10:15.79ID:QiOq/xsC >>529
thx
javaに依存してる何かは、無いです。
kotlinc(Kotlin Compiler)コマンドを使いたいので
>brew install kotlin
ってコマンドを打とうとしてます。
kotlinがJREを必要とするなら、JREも同時にbrewがinstallするでしょう。
だったら、消さずに残すのが良いでしょうか?
thx
javaに依存してる何かは、無いです。
kotlinc(Kotlin Compiler)コマンドを使いたいので
>brew install kotlin
ってコマンドを打とうとしてます。
kotlinがJREを必要とするなら、JREも同時にbrewがinstallするでしょう。
だったら、消さずに残すのが良いでしょうか?
531デフォルトの名無しさん
2019/04/22(月) 19:06:49.70ID:R7Rys8j6 幼稚園児が増える季節か
532デフォルトの名無しさん
2019/04/22(月) 19:49:54.02ID:BvK+7rjz この前も別の初心者がkotlincで詰まってたんだけど、どこかの有名な入門サイトがコマンドライン推奨でもしてるの?
正直kotlin書くならIDE前提だろうからコマンドラインでコンパイラの使い方を覚える必要なんて全くないと思うんだが。
正直kotlin書くならIDE前提だろうからコマンドラインでコンパイラの使い方を覚える必要なんて全くないと思うんだが。
533デフォルトの名無しさん
2019/04/22(月) 20:19:08.99ID:SyBBal55534デフォルトの名無しさん
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
うっそーん。
コマンドラインでチョコっと、コードを試したいってこと無い?
IDEよりVimが好きな俺だけか?
ようやく、Quickrun.vimが動くようになって、今コレ読んでるところ。
はじめてのKotlin。Javaと比較してみた
https://qiita.com/hituziando/items/fa2dc4097b24ab78276e
30分で覚えるKotlin文法
https://qiita.com/k5n/items/cc0377b75d8537ef8a85
536デフォルトの名無しさん
2019/04/22(月) 20:41:55.57ID:47gIWCEb それならブラウザ上で実行できるplayground的なものが公式にあったはず
537デフォルトの名無しさん
2019/04/22(月) 20:49:23.39ID:952sQ1RS ちょっと書いてちょっと動かすにしてもIntelliJでRunした方がいいしな、デバッガが超優秀だし
Vimで書いてコマンドラインで実行ってのは確かに昔Javaを勉強した頃はやったけど、
今となっては出汁をとるのに鰹節を削るところから始めるような古めかしさを感じる
Vimで書いてコマンドラインで実行ってのは確かに昔Javaを勉強した頃はやったけど、
今となっては出汁をとるのに鰹節を削るところから始めるような古めかしさを感じる
538デフォルトの名無しさん
2019/04/22(月) 20:51:00.58ID:952sQ1RS まあ好みだからそれがやりたいなら良いとは思うよ
仕事で新人がそんなことで詰まってたらやんわり注意するかもしれんけど
仕事で新人がそんなことで詰まってたらやんわり注意するかもしれんけど
539デフォルトの名無しさん
2019/04/22(月) 20:51:15.45ID:MftVaIwk そういうときはREPL使ってる
540デフォルトの名無しさん
2019/04/22(月) 21:14:37.90ID:j5GMJ/X8 単一ファイルを少し変更したいときはエディタ。
それ以外はIDEを使う
それ以外は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作れるんだが。
三大Java IDEは気にはなってるけど、今の所リソース食いそうで躊躇してます。
今の所、Referenceの検索容易性から俺にはVimかなぁ。
デバッグ環境はpoorかな。print文を埋め込むしか、今の所は手が無しかな。
デバッグが必要ならAndroidStudio起動して、なおかつKotlin Scriptに変換して動かす事にします。
ScriptじゃないKotlinコードをAndroidStudioで動かす事は出来ないのかな?よく解らん。
Xcodeならplayground作れるんだが。
542デフォルトの名無しさん
2019/04/22(月) 21:53:50.10ID:BvK+7rjz 君、謎の行動力がありそうでそれはいいんだけど、
本当に何から何まで無駄なことばっかりやってるからまず最初に調べる癖をつけたほうがいい
この世界は一にも二にもまずは調べることが何より大事
本当に何から何まで無駄なことばっかりやってるからまず最初に調べる癖をつけたほうがいい
この世界は一にも二にもまずは調べることが何より大事
543デフォルトの名無しさん
2019/04/22(月) 22:12:50.79ID:5CpOs8vM KotlinやるならIntelliJ一択
あとガワが違うだけでAndroid Studioの中身はIntelliJ
※Android以外のプロジェクト作成など、一部の機能を非表示にしている
あとガワが違うだけでAndroid Studioの中身はIntelliJ
※Android以外のプロジェクト作成など、一部の機能を非表示にしている
544デフォルトの名無しさん
2019/04/22(月) 22:19:17.89ID:BvK+7rjz Kotlin勉強したいならIntelliJの無償版使うのが1番おすすめだねえ
ちなみにAndroid Studio動かすのと消費するリソースは同じ、何せほぼ同じものだし
ちなみにAndroid Studio動かすのと消費するリソースは同じ、何せほぼ同じものだし
545デフォルトの名無しさん
2019/04/22(月) 22:23:01.40ID:5CpOs8vM >>522
・JVMはJREの一部、JREはJDKの一部
・Java9以降「システムへの単一JREのインストール」は無くなっており、
JDKから各アプリの同梱用JREを生成する (jdeps/jlink)
・OracleJDKに含まれるJVMは既に有償化されている
・OpenJDKに含まれるJVMは今後も有償化されることは無い
・JVMはJREの一部、JREはJDKの一部
・Java9以降「システムへの単一JREのインストール」は無くなっており、
JDKから各アプリの同梱用JREを生成する (jdeps/jlink)
・OracleJDKに含まれるJVMは既に有償化されている
・OpenJDKに含まれるJVMは今後も有償化されることは無い
546デフォルトの名無しさん
2019/04/22(月) 23:33:08.26ID:2FYuav9u547デフォルトの名無しさん
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
>はじめての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 作るのもアホらしい時とか。
ある。ちょこっとする時は例え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使えってことか?▶なんだろうなぁ。
1. Android Projectしか開くことができない。
2. Hello Worldするhello.ktを開くことができない。
なんで?そう言う時は、IntelliJ使えってことか?▶なんだろうなぁ。
550デフォルトの名無しさん
2019/04/23(火) 14:52:10.33ID:67h9+wNp551デフォルトの名無しさん
2019/04/23(火) 14:54:14.57ID:TrDrz5+t552デフォルトの名無しさん
2019/04/23(火) 15:47:52.74ID:KnPjeA9Q Intの変数名をintってするのってまずい?
val int : Int = 0
こういうの
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する事あるの?
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メソッドとコンフリクトしてるから、コンパイルしないんだって。
怖いなぁ。そのコード。
俺、さっき、setNameってメソッドを作ったら、clashしてるって怒られた。
clash = conflict って意味らしい。
java.lang.StringのsetNameメソッドとコンフリクトしてるから、コンパイルしないんだって。
555デフォルトの名無しさん
2019/04/23(火) 16:06:01.49ID:KnPjeA9Q そういうことあるのか
でもIntがintじゃないのってintを変数名で使ってもいいよっていう意思を感じるんだよなあ
val hoge : Hoge
ってすることを考えると
val int : Int
も自然な気がする
でもIntがintじゃないのってintを変数名で使ってもいいよっていう意思を感じるんだよなあ
val hoge : Hoge
ってすることを考えると
val int : Int
も自然な気がする
556デフォルトの名無しさん
2019/04/23(火) 16:09:50.49ID:KnPjeA9Q ああでもjavaは予約語でintだめなのか
やっぱりやめておこう
やっぱりやめておこう
557デフォルトの名無しさん
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サイトへ行かないとダメなのかな?
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:3Q52IgbA561デフォルトの名無しさん
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.
see the hit result of Help>Search(Documentation).
You can retrieve the documents by ctrl-J@macOS as well.
562デフォルトの名無しさん
2019/04/23(火) 19:19:13.65ID:IWDMUBZh >>555
とりあえず変な癖をつける前に『リーダブルコード』を読んでくれ、頼むから
とりあえず変な癖をつける前に『リーダブルコード』を読んでくれ、頼むから
563デフォルトの名無しさん
2019/04/23(火) 19:47:01.75ID:hcUTeQ5O リーダブルコード読みやすいしわかりやすいし為になるし
書いたやつ神
書いたやつ神
564デフォルトの名無しさん
2019/04/23(火) 19:49:26.39ID:3Q52IgbA565デフォルトの名無しさん
2019/04/23(火) 19:52:05.70ID:Ky48Nwl1 >>564
嘘だ
嘘だ
566デフォルトの名無しさん
2019/04/23(火) 20:08:14.43ID:gv0SOq8d >>564
じゃあその本に書いてないことが書かれた本を出してくれ。Kindle版だけでもいいから。
じゃあその本に書いてないことが書かれた本を出してくれ。Kindle版だけでもいいから。
567デフォルトの名無しさん
2019/04/23(火) 20:16:21.90ID:IWDMUBZh >>565
知っていることを再認識させてくれる良書ではある
知っていることを再認識させてくれる良書ではある
568デフォルトの名無しさん
2019/04/23(火) 20:18:24.37ID:IWDMUBZh 何でIDが同じになるんだよ
同じプロバイダーなのか
同じプロバイダーなのか
569デフォルトの名無しさん
2019/04/23(火) 20:22:11.04ID:gv0SOq8d たまーに同じID出ることあるな。ものすごく希だが。
きっと今日は良いことあるよ。あと3時間40分ぐらいで終わるけど。
きっと今日は良いことあるよ。あと3時間40分ぐらいで終わるけど。
570デフォルトの名無しさん
2019/04/23(火) 20:22:12.06ID:3Q52IgbA >>565
嘘じゃない。
ああぁ。俺は間違ってないんだな。という感じ。
まあ、詳細に読んだわけでは無いし、プログラマが知るべき97のこと、って本にも似たような事が書いてある。
Matzも「名前重要」なんて事を、97本に寄稿している。
プログラミング作法、なんかの方がよっぽど良かったな。俺には。
嘘じゃない。
ああぁ。俺は間違ってないんだな。という感じ。
まあ、詳細に読んだわけでは無いし、プログラマが知るべき97のこと、って本にも似たような事が書いてある。
Matzも「名前重要」なんて事を、97本に寄稿している。
プログラミング作法、なんかの方がよっぽど良かったな。俺には。
571デフォルトの名無しさん
2019/04/23(火) 20:24:15.75ID:3Q52IgbA >>569
って事はHash algorithmがpoorってこった。
って事はHash algorithmがpoorってこった。
572デフォルトの名無しさん
2019/04/23(火) 20:25:36.05ID:B8eC+d1i コードコンプリート
573デフォルトの名無しさん
2019/04/23(火) 20:27:52.73ID:3Q52IgbA574デフォルトの名無しさん
2019/04/23(火) 20:29:32.04ID:IWDMUBZh プログラミング作法
プログラム書法
ソフトウェア作法
全てブライアン・カーニハン御年77歳の名著
プログラム書法
ソフトウェア作法
全てブライアン・カーニハン御年77歳の名著
575デフォルトの名無しさん
2019/04/23(火) 20:31:32.66ID:gv0SOq8d576デフォルトの名無しさん
2019/04/23(火) 20:32:56.33ID:3Q52IgbA >>566
じゃぁ、一つ俺の考え方を!
狭いスコープの中を生きる変数は、名前が短くても良い。
e.g. str1 = “OK”
広いスコープの中を生きる変数の名前は、長い名前が必要。
e.g. numberOfBooks = 100
何時いかなる時も、意味ある変数名をつけるのは、俺は反対だ。
変数名を考える事に、時間が惜しい時もある。
じゃぁ、一つ俺の考え方を!
狭いスコープの中を生きる変数は、名前が短くても良い。
e.g. str1 = “OK”
広いスコープの中を生きる変数の名前は、長い名前が必要。
e.g. numberOfBooks = 100
何時いかなる時も、意味ある変数名をつけるのは、俺は反対だ。
変数名を考える事に、時間が惜しい時もある。
577デフォルトの名無しさん
2019/04/23(火) 20:33:50.86ID:PyZ6tY2R 拡張プロパティに値セットする方法ある?
578デフォルトの名無しさん
2019/04/23(火) 20:36:26.55ID:gv0SOq8d やはりプログラミングも茶道とか華道とかと同様にプログラミング道を作ってわびさびが必要な時代が来たのかも知れないな。
579デフォルトの名無しさん
2019/04/23(火) 20:36:27.27ID:IWDMUBZh >>576
そ、ループ変数なんて i, j, k, ....nで良いやん
そ、ループ変数なんて i, j, k, ....nで良いやん
580デフォルトの名無しさん
2019/04/23(火) 20:38:43.46ID:PyZ6tY2R でもkotlinでforとか使わなくね?
581デフォルトの名無しさん
2019/04/23(火) 20:42:02.64ID:gv0SOq8d582デフォルトの名無しさん
2019/04/23(火) 20:54:10.92ID:3Q52IgbA >>581
昔、英語が出来なかった時には、
kabuPrice
とか
kabuka
なんて恥ずかしい名前使ってたけど、
今では、
sharePrice
でないと、code reading時にストレス感じるわぁ。
昔、英語が出来なかった時には、
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は出るが、実行可能。
print(感じ)
なんと、warningは出るが、実行可能。
585デフォルトの名無しさん
2019/04/23(火) 21:05:59.98ID:3Q52IgbA Qiita見ながらKotlin修行中だけど、
Jump Command便利そう。
return@forEach
continue@loop
return@loop
とか言うやつ。
これSwiftに欲しい。
Jump Command便利そう。
return@forEach
continue@loop
return@loop
とか言うやつ。
これSwiftに欲しい。
586デフォルトの名無しさん
2019/04/23(火) 21:15:06.63ID:3Q52IgbA そんなことより、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
たったコレだけしか表示されないっす。
Zeal, Velocity, Dashなんかを使ってるの?
Android StudioでAppCompatActivetyを引くと
android.support.v7.app.AppCompatActivity public AppCompatActivity()
Gradle: com.android.support:appcompat-v7:28.0.0@aar
たったコレだけしか表示されないっす。
587デフォルトの名無しさん
2019/04/23(火) 21:32:38.61ID:bGCgvaJg588デフォルトの名無しさん
2019/04/23(火) 21:53:05.69ID:strBUBex >>585
便利な反面1歩間違えると悲惨なコードになりそうだな
便利な反面1歩間違えると悲惨なコードになりそうだな
589デフォルトの名無しさん
2019/04/23(火) 22:46:19.69ID:B8eC+d1i 尻でも触ったのか
590デフォルトの名無しさん
2019/04/23(火) 23:21:01.87ID:IWDMUBZh591デフォルトの名無しさん
2019/04/23(火) 23:23:43.15ID:IWDMUBZh ごめん間違えた、SwiftにあるからKotlinに欲しいって読み違えた
Xamarinのライセンス買ってくる
Xamarinのライセンス買ってくる
592デフォルトの名無しさん
2019/04/24(水) 05:30:04.16ID:BhgQi2cO 悲惨なコードとは?
593デフォルトの名無しさん
2019/04/24(水) 05:38:27.15ID:MHxaAVIF goto文みたいに次にどこに行くのか読みにくいって意味じゃないかな
そんなことはないけどね
そんなことはないけどね
594デフォルトの名無しさん
2019/04/24(水) 05:51:11.02ID:kB2a7+Os 変数名漢字って結構有りだと思う
平均からすれば英語かなり必死に勉強したほうだと思うけど、ネイティブからすれば変な英語使ってるって自覚あるし
ネイティブ的な感覚がないから、命名には常に苦労する
もちろん特定用途でしか使えない手法だけど、やっぱり母国語ってわかりやすいよね
英語圏のやつらにスーパハカーが多いのはそういう理由もあるよな、母国語でプログラムできるのうらやましいわ
平均からすれば英語かなり必死に勉強したほうだと思うけど、ネイティブからすれば変な英語使ってるって自覚あるし
ネイティブ的な感覚がないから、命名には常に苦労する
もちろん特定用途でしか使えない手法だけど、やっぱり母国語ってわかりやすいよね
英語圏のやつらにスーパハカーが多いのはそういう理由もあるよな、母国語でプログラムできるのうらやましいわ
595デフォルトの名無しさん
2019/04/24(水) 07:33:38.62ID:ZqBzQREh596デフォルトの名無しさん
2019/04/24(水) 11:18:15.23ID:ZqBzQREh Constructorの書き方がムズイ。
primery, secondary constructorとか、Swiftには無いし。
Kotlinスタートブック、はしばらく様子見。今の所買わない方向で…
だって、2016年の本って、情報が古そうだし。
primery, secondary constructorとか、Swiftには無いし。
Kotlinスタートブック、はしばらく様子見。今の所買わない方向で…
だって、2016年の本って、情報が古そうだし。
597デフォルトの名無しさん
2019/04/24(水) 12:11:30.51ID:f6AiwYyw そのうち在日ユダヤが「日本人にベーグル盗まれた」なんて狂言やりそう
598デフォルトの名無しさん
2019/04/24(水) 12:20:40.85ID:ymPUK1bE >>594
日本語固有のややこしい漢字の名称を無理やり英語にするよりはそのまま使った方が可読性もはるかにいいわな
何か不都合が起きたらIDEでリネームすりゃいいだけの話だから、全然ありだと思う
俺はテストケース名は日本語がんがん使う
日本語固有のややこしい漢字の名称を無理やり英語にするよりはそのまま使った方が可読性もはるかにいいわな
何か不都合が起きたらIDEでリネームすりゃいいだけの話だから、全然ありだと思う
俺はテストケース名は日本語がんがん使う
599デフォルトの名無しさん
2019/04/24(水) 12:48:24.16ID:CTi91KC0 >>596
Swiftの designated initializer ≒ Kotlinの primary constructor
Swiftの convenience initializer ≒ Kotlinの secondary constructor
Swiftの designated initializer ≒ Kotlinの primary constructor
Swiftの convenience initializer ≒ Kotlinの secondary constructor
600デフォルトの名無しさん
2019/04/24(水) 13:08:03.94ID:CTi91KC0 >>599の具体例
Swift
https://ideone.com/48Boj1
Kotlin 比較用
https://ideone.com/ovwjrs
Kotlin 短縮
https://ideone.com/IcR8Wo
Swift
https://ideone.com/48Boj1
Kotlin 比較用
https://ideone.com/ovwjrs
Kotlin 短縮
https://ideone.com/IcR8Wo
601デフォルトの名無しさん
2019/04/24(水) 13:28:15.20ID:CQvKnKTI >>577だけどこれ無理っぽいな
602デフォルトの名無しさん
2019/04/24(水) 14:01:42.54ID:CTi91KC0 >>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 }
勧めるものじゃないけど、一応疑似的にならば
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 }
603デフォルトの名無しさん
2019/04/24(水) 14:14:45.53ID:ZqBzQREh >>599
thx
thx
604デフォルトの名無しさん
2019/04/24(水) 14:19:09.62ID:ZqBzQREh605デフォルトの名無しさん
2019/04/24(水) 14:22:08.49ID:ZqBzQREh >>604
fun mainの外でthisは何を指してるのだ?
fun mainの外でthisは何を指してるのだ?
606デフォルトの名無しさん
2019/04/24(水) 14:28:29.52ID:ZqBzQREh >>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) {}
}
>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) {}
}
607デフォルトの名無しさん
2019/04/24(水) 14:55:22.29ID:CTi91KC0 >>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対象になって消える
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対象になって消える
608デフォルトの名無しさん
2019/04/24(水) 15:34:34.20ID:ZqBzQREh■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★2 [muffin★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 【芸能】日本のファンも悲鳴、香港トップスターが来日コンサートを突如中止 「早く政府間で解決を」運営会社の切実な訴え [冬月記者★]
- 中国外務省「全く不十分だ。ごまかすような手口を使うべきではない」高市答弁を批判 [834922174]
- まったりまったりおじゃる丸待機スレ🏡
- 【急募】性欲抜きのまんこの魅力 [904880432]
- 高市応援団「都合よく解釈するな」「撤回すると言ってない」「中国と断交」「撤回する必要ない」「答弁変わってない」「武力行使しろ」 [931948549]
- ヤンジャン新人漫画大賞、入賞作品のAI絵疑惑で大荒れ😄😄😄 高市早苗要素あり [175344491]
- 合法の範囲でできることをやり尽くした人間は犯罪行為に興味を持ちがち
