goo blog サービス終了のお知らせ 

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

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

kotlinで遊んでました。 Intの配列の作り方

2018-03-25 09:52:51 | kotlin

 rubyの場合と比べて、制限が多い感じです。rubyの場合では配列はあるんですが、Intでの配列を作るという感じが無いでしょう。kotlinでは配列の作り方も2種類あるようです。

配列の大きさが決められてますので、そこから外れるとエラーが起きますね。

 

配列の大きさを決めるという概念が無いので、配列だけを決めれば好きな要素を参照できます。最後の要素で大きさは決まるようですね。


kotlincで遊んでました。String型の変数

2018-03-24 19:41:19 | kotlin

 REPLだとfun main(...)が要らないので、ついその気でprintでのエラーから抜け出せませんでした。rubyでも要りませんでしたからね。fun main(){}を忘れなくです。(-_-;)C言語では確か、使わなければmain()の括弧の中は要りませんでしたが、どうなんでしょうか?省略できないようです。後からやってみたらエラーになりました。

 val aisatu = "Hello"と書いても良いようです。: Stringは省略可能のようです。val a = では省略してます。$を使った書き方もあります。しかも{}を使う書き方、無い書き方どちらもありです。""の内部に書かれてることを、注意ですかね。


kotlincで遊んでました。 REPL(IntとLong間データ暗黙では変換されない)

2018-03-24 10:01:00 | kotlin

 val b: Long = a.toLong()として代入、この場合は初めて、初期化なので代入は出来るんでしょう。少し気になるのがa.toLong()>>> bと改行が無いんですが、これは自分のせいですか?"(-""-)"


REPL(Read-Eval-Print-Loop)

2018-03-24 09:26:50 | kotlin

 同じようなものがpython、rubyにもあります。終了の仕方が思ったとおり行ってません。pythonは表示通りで終了できます。Cnrl+Zで出来てます。kotlincはquitで終了と表示されてますが、何か違うんでしょうか?エラーが出てます。irbについてもCnrl+Cでquitが出てますか?最後はバッチジョブを終了しますか?

 Cntl+Cでどんな場合も終了できる。ですかね?"(-""-)"

 


kotlinで遊んでました。Raitionalクラス 約分付き

2018-03-23 10:22:17 | kotlin

 tailrecは末尾再帰を表す修飾子なそうです。"(-""-)"。gcd、gにはprivateが付いているのでこのクラス以外からはアクセスできない、という事らしいです。"(-""-)"。でも普通、クラスのメソッドはクラス以外からは呼ばないでしょう。gcdは有るかもしれません?


kotlinで遊んでました。クラスの定義とmainを同じファイルに出来ます。

2018-03-23 10:02:06 | kotlin

 短いスクリプトの場合はこの方がデバッグ画面も変わりませんから、見やすいように思います。クラスの定義だけとmainを含んだファイルのアイコンが違います。それと上の場合はFiBu.ktでファイルを作ったんですが、実行の名称はFibuKtとなってることが気になります。それと最初の1文字が大文字になるようです。"(-""-)"


kotlinで遊んでました。fizBuzクラスにしてみました。

2018-03-23 09:36:01 | kotlin

 前にFizzBuzzをテストしたときにfbが別のところでも定義されてるというエラーが起きました。クラスのメンバにしてしまえばクラス意外とは区別されるようです。なので同じfbでもエラーにはなりません。クラスの定義には実行のmainは含めることが出来ないようです。同じファイルでもクラスの外であれば、出来るのかもしれません。


kotlinで遊んでました。Raitionalクラス require付き

2018-03-23 07:52:14 | kotlin

requireはエラーを起こして、終了するんですね。自分的には面白くないですが。"(-""-)"

クラスの定義と実行のスクリプトを分けてみました。多分ですが、一緒でも問題ないと思います。rubyだと別に定義してあれば、requireしないといけないと思います。requireの意味合いがかなり違うようです。"(-""-)"


kotlinで遊んでました。fizzBuzz.kt

2018-03-22 22:24:56 | kotlin

FizzBuzz.ktとFb.ktは内容は同じです。するとどうもfbが二個定義されてるためと思われるエラーが出ます。mainについては出ないようです。

なのでFb.ktの方のfun fbをfun fbbとするとエラーは解消します。その代わりFunction ”fbb" is never usedと注意が出ます。

Fb.ktの方のmainも直します。するとエラーは出ません。つまりsrcに含まれる関数はお互いが独立してない。例えばrubyの場合だとrequireしないと駄目ですが、そうでは無いようです。mainは独立してるんですね。


kotlinで遊んでました。HelloWorld.kt

2018-03-22 21:54:50 | kotlin

上の図の上半分はドスプロンプトでkotlinを実行した様子。二段階になってます。最初はjarファイルを作る。次にjavaで実行する。kotlinでは直接は実行できないようです。

 上の図はinteliJ IDEAでHelloWorld.ktを実行しました。こちらでは直接実行できる感じに見えます。ドスプロンプトで実行した環境と違います。暫くは「Kotlinスタートブック」を参考にやっていきます。後半ではAndroid Studioにも触れてますが、Versionは2です。かなり違うようですので、どの程度やれるか?です。最新版はVersion 3のようですからね。Version3はVersion2で書かれてても、通用するのが本当だとは思います。