新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

intelliJ IDEAでKotlinプロジェクトを作るで手間取ってました。

2018-09-25 13:25:28 | kotlin

 原因が分かりませんが、上の図のプロジェクトでHjAP077.ktとHjAP078.ktは別々にmainを持っていて実行できます。前は出来ないと思ってました。ちょっと気になるのは、思い通りのホルダーでないことです。d:\User\intellJ\Kotlin\TestProjectになってない。Kotkinが抜けてる。訳の分からないエラー、ロードできませんでした、が出るのが怖いんです。

 まあでも、例えば同じように思えても、intelliJ IDEAで実行するのと、AndroidStudioで実行するのは違うので、間違って開かないことです。多分大事でしょう。intelliJ IDEAは混乱を起こします。色んなプロジェクトを作れますが、多分AndroidStudioのプロジェクトは開いてダメでしょう。eclipseはworkspaceというもので、隔離されてるので間違いが少ないかもしれません。

ホルダーを変えました。D:\Users\IntelliJ\Kotlinの下にtestProjが配置できました。srcにはエクスプローラでコピー出来ます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlincで遊んでました。クラス、プロパティを使う

2018-09-19 10:35:33 | kotlin

inteliJ IDEAのAndroidStudioを導入できない版がありますので、それのREPLです。クラスの定義、メンバの定義を一行でしてますね。しかもnewは使わないという事です。一般的には、オブジェクトを作るときはnewなんですが。まあ暫くぶりですので、すべて忘れてるので、思い出しながらです。REPLは保存するまでもない、確認するような場合には良いのですが、保存なしですので。"(-""-)"

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Kotlinで遊んでました。Kotlinスタートブックで。

2018-09-05 10:17:03 | kotlin

前にアンドロイドアプリに興味があって、アンドロイドスタジオを弄ってましたが、上手くいかなくて、元はScalaでは?とそっちに寄り道してました。しかし、悪い癖が出て、Kotlinへ舞い戻りました。前回は上手くいかなくて、中断していたサンプルを動かすことができました。途中の結果で上手くいかないようだったので、多分だめだろうと思いながら続けました。実行の結果は上の図です。

上の図はメインになる部分のコードですね。

 

上の図はレイアウトの部分です。少し例題の通りは、出来なかったのですが、このところはデザイン、テキストが連動してますので、適当に弄りました。idは間違えるとまずいでしょう。

ファイル構造がよくわかってないので、ちょっと手間取りました。いわゆるデータの構造を書いてるクラス部分です。

 

同じくUserのデータです。「Kotlinスタートブック」ではアンドロイドスタジオのバージョンが2ですが、いまDLすると3ですので、少し違うので面喰います。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)closure

2018-04-17 13:56:18 | kotlin

 ちょっと見た感じでは不思議ですね。mainの方はあまり不思議な感じも無いのですが、getCounterは不思議に満ちあふれてます。()->Intこれはまずなんですか?関数はIntを返すのは間違いないようです。本の説明では、関数オブジェクトを返す、ということのようですが。しかもvar count = 0と成ってるのに、一度0に設定されたきりで次回は通らない。return {count++}波括弧でくくる意味があるんですかね?コードにはlambdaと解釈してますが。

 グローバルな変数Counterを使って同じような感じで出来るか?だいたいは同じように見えても、違いますか?他の言語でのクラス変数とも違いますか?クラスで1個でも意味が違いますかね?

 GetCounterとgetCounterは区別されない。エラーが一杯出ました。aGetCounterとしたらすんなり動きました。VBだと大文字と小文字を区別しないと思いますが、最近の言語は区別すると思ってましたので意外です。

 やはり区別してました。ではナンでgetCounterとGetCounterは区別出来なかったんでしょうか?単なる自分の間違いですか?やはりこのときも別のところにある、Aisatuとかち合いました。C#とかではnamespaceで混同しないように出来たと思うんですが、知らないだけで有るんですかね?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)lambda式

2018-04-17 09:39:52 | kotlin

 ラムダ式と関数の比較です。基本は同じことを出来る、でしょうかね。例では引数のタイプの違いで関数がエラーにならないで、呼び出されます。ラムダにもいろんな書き方あって、コメントアウトの書き方とその下は同じと言うことですが、微妙に違うのが混乱の元ですか?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ディズニーランドの好きなアトラクションは?

2018-04-17 08:37:34 | kotlin

 数年前、2、3年前かも一度だけ行ったことがあります。11月頃でした、クリスマスの飾り付けがすんだばかりで、平日にもかかわらず、ものすごい人。あんなに多くの人を見たことが無いのでそれだけで、ショック状態。中に入ってすぐに休憩して、コーヒーだったかなあ?飲んでから会場を一回り。どのイベントももの凄く並んでます。一部の会場では、予約券みたいなのを出して、後から来る予約みたいのがありました。でも、その時はそんなことを知りません。あんなに並んでいたら、いつ自分の番が来るか分からないし、どこも結局並ばないで一回り。

 乗り物に乗ってぐるぐる回る、コーヒーカップのようなものや、空中を回るものなどありましたね。メリーゴーランドもあったかもしれませんし、パレードもありました。一人6400円の入場料でした。また行きたい感じには二度となりませんでした。(-_-;)基本、田舎もんなんですね。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)最初にUpperCaseが出現の位置を返す関数

2018-04-16 16:17:16 | kotlin

 searchfirsUpperCaseK少し意図したスペルとは違います。14:if分をアンド条件で書いたんですが、格好良く直されました。(-_-;)「Kotlinスタートブック」ではこの説明の後にもっと説明があるのですが、自分の考えたのでは実現出来ないかもしれません。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)最初にKが出現の位置を返す関数

2018-04-16 15:52:45 | kotlin

 多分ですが、firstKはローカル関数を使い、書いてるんでしょうかね。でも分かりづらい。searchfirstKの方が簡単だと思うんですが…。(-_-;)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)関数名の代入

2018-04-16 13:29:20 | kotlin

goukeiとGoukeiは別のファイルにあります。関数名を代入出来る。関数名の別名のようですね。これが代入出来ます。引数がある場合も同様に持てます。只この場合ではgoukei(*inta)は別名を作れませんでしたね。引数(*inta)を与えるとエラーになりました。原因は不明です。(-_-;)

上のように10:kan(inta)とすると出来ました。7:goukei(*inta)となってるんですが、どこかが違うようですね。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)引数に配列の場合と可変長引数の違いは?

2018-04-16 11:23:39 | kotlin

 違いは3カ所です。mainの方での配列の確保の仕方が違います。Goukei(inta)に*が付くかつかないか?がちがいます。fun Goukei(inta:Array<Int>)のとこが違います。

 配列をintArrayOf()で確保してます。sum(*ints))で*が付いてます。fun sum(vararg ints:Int)となってるところが違います。同じようなことなので混同することがあります。kotlinは制限が多い感じですが、どうなんですかね?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)割り算を考えてみました。

2018-04-16 10:02:28 | kotlin

 上の例では、整数の割り算と浮動小数点の割り算を関数を使った場合とそうで無い場合をやってみました。関数を使った場合は明らかに面倒です。(-_-;)関数名を付けないといけない。引数を決めないといけない。関数のリターン値を決めないといけない。直接計算すると何も要らなくて、そのままなんですがね。例えば関数名は同じでも、引数によって関数が選べるという方法がC#ではあったように記憶してますが。ウル覚えです。(-_-;)Javaにも関数の多重定義というのがありました。

Warizanという名前で書き直してみました。確かに引数と一致する方の関数が呼ばれてます。でもこの方法でも引数の順番とタイプが合ってないと駄目ですね。両方の引数とも、IntまたはFloatしか対応してません。IntとFloat等ではエラーになります。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)mutableListOf<User>()

2018-04-15 14:23:55 | kotlin

 多分リストなので要素の数は要らないでしょう。要素の追加はrecs.addでするのですが、(arec),(brec)とrecs.add(User(300, "sugawara"))どちらでも出来るようです。for文も簡単に書けるのですね。薄い文字で表示されてるのは、補足された分です。Userは前の通りです。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)copy

2018-04-15 11:10:44 | kotlin

copyでインスタンスの値を設定出来そうです。

 配列のインスタンスでは個々のデータへどうやってもアクセス出来ません。しかし一個のインスタンスならtaro.name = "Jiro"等と書けます。taroを配列の要素へ代入でなら、何とかセット出来るようです。勿論、初期化でもセットは出来るようです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)Unit

2018-04-15 10:10:34 | kotlin

 今まで悩んでいたfun putrec():Unit{}、Unitが間違ってました。Stringにしてました。rubyだと意識しないんですが、値を返さないとき、返すとき、変数の値を変えないのか?変えるのか?多分これはUserクラスのデータ、例えば配列にしても同じなんでしょう。上の例の場合だと、setとgetは要らないでしょう。何故なら、taro.name = "Jiro"やtaro.id = 100と書けますので。フォルダーはKotlinTestでこれ以外は中に何も無いように単純化してます。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kotlinで遊ばれてました。(-_-;)まだまだです。

2018-04-13 23:25:15 | kotlin

上の図で確認です。StKtProjectの下にsrcがあって、いろいろ確認のスクリプトを書いてきましたが、それらは独立してあるもので無いと言うことですね。お互い関係がある。StKtTest001.ktではPersonのクラスが使えるのがその証拠です。どっかで定義してるのでここで使えてる、と言うことですね。もしかしたらクラスの定義以外でも、例えば関数でもそうなのかもしれません。ハッキリしませんが。(-_-;)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする