上の加算はinvokeを使ったものと、只の(?)関数を使ったものがあります。どちらもネットで拾ったものですが。invokeを使ったものは、個数はその都度変えられるようですが、hoge.curriedはこの場合は、3個限定でしょう。どっちが良いでしょうか?
99の表の感じでは、出来ました。Listで作れば、後からの利用には便利です。多分ですが、list[4]は5の段。25はlist[4][4]で良いのかな?この画面の実行後に確認しました。OK!!
欲を言えば、桁がずれて印刷されるので、4桁なら4桁で印刷したいですね。Listクラスに印刷のとこがあるんでしょうから、そこを直せば出来る?かもですね。最後にprintしたlist99[4][4]はlistを印刷すると付いてくる[]が無かったので、ループで回せば同じ感じにprint出来そうです。
前に論理式でエラーが起きて、悩んでましたが、くどいようですが、一個一個を()で括ればエラーが起きないようです。Kotlinの場合は、list = for(){}とは書けないようです。
例はフィボナッチ数列を作るものです。単に印刷だけなら、再帰でやったことがあるので上に書いてみました。でもその下の例のようにListにする方法もあるんでしょうね。generateSequence、ネットで拾ったんですがこれは一般的なものでしょうか?それともこのサイトの方が作ったんでしょうか?どっちにしても、Scalaの方が簡単に書けるような気がしますが。(-_-;)
上の図でラムダ式を変えれば色んなSequenceは出来そうです。
Cタイプの内valで始まるのはラムダ式で良いんでしょうか?funで始まる二つは関数なんでしょうね。Cタイプの内2番目と3番目はreturnがあるかないか?{}で括ってあるとruturnは必要なようです。
実行結果は正解です。
どこかにStudentクラスがあったようで、エラーになったのでpackageを入れました。前回ClosureのCurryが出来てないので、いろいろ寄り道してました。Listの例だったんですが、原因不明のエラーに襲われて、Arrayに変更してやってみてましたが、ここでも躓いてました。arrayOfNulls<Student>(5)では配列がまだ確保されてません。その下にあるfor文を実行してインスタンスが確保されました。ここでも?とか!!等無いとダメなんですかね?半分自動で入れてはくれましたが。次回この問題に会うときはもっと短い時間で気づきたいですね。"(-""-)"
Cタイプが出来ましたが、valです。本当はfunにしたくて、やってみたんですがエラーが消えず。この辺で止めます。(-_-;)
ChecksumAccumlatorが他と違うので、packageで隔離します。普通のクラスで定義してみました。そうすればインスタンスが呼ばれるたびにsumは0になるでしょう。少しだけ変わりました。最後に悩んだのがval w = ChecksumAccumulator(arg)みたいに書かないといけないかと思ってましたが、直接書いても良いようです。+ChecksumAccumulator(arg).calculate()です。そうですよね。(-_-;)
日付計算簡単そうで意外と難しい。テレビの報道に合わせました。ちょっとすっきりしません。(-_-;)何故かというと、表示された日付は正しいが、そのままで計算すると530日になります。1ヶ月違うようなのでcalendarNow.add(Calendar.MONTH,1)としてみました。すると今度は499日です。仕方ないので現在の日数を一日戻しました。calendarNow.add(Calendar.DAY_OF_MONTH,-1)で落ち着くことは落ち着きました。(-_-;)
calendarNowは今日の日付、calendarPastは過去の日付。前のは二回間違ってました。
日付間の日数を計算する場合は、get(Calendar.MONTH)+1でも+1しなくても、両方の日付で同じことをすれば結果は正しいが、本来はネットの通りで+1するのが正解なんでしょう。確認してませんが。
結果は2019/1/1から2019/3/12の日数は100日となりました。
Calendar2DateがダブってSSしてました。
Calendarのオブジェクト間の日数を計算します。参考にしたサイトではgetTimeMills()だったんですが、単にtimeInMillsと変換されました。JavaがKotlinへ変えられたのかもしれません。参考にしたサイトではget(Calendar.MONTH)+1となてましたが、2019/1/1から2019/3/11までは69で良いと思いますが、100となって2019/4/11までの日数計算になってましたので、+1は取りましたが、違いますか?
Androidプログラミングを見よう見まねでやってましたが、分からないことがちょくちょく出てきます。今回はapply。しばらく調べてましたがなかなか理解できるような例がありませんでした。今回見つけましたので、それをやってみました。これなら分かる。というか、多少わかる。"(-""-)"
ラムダ式と無名関数はかなり似ているようです。微妙な違いはある?のかもしれません。少し前ですが、この式を見て変数なの?関数なの?悩みました。どっちでも変数に代入形式で定義して、使うときは関数形式ですか?
体調不良でしばらく休みます。"(-""-)"今日か明日が最後になります。又書ける日まで、ということになります。