見出し画像

【Console Application】ファイルとデータベース 160【学習記】

ファイルとかデータベースの話🤤

Q.
_init ?
A.
init はクラス初期化コンストラクタの予約みたいなので被らないアンダースコア付きに🤤
でもこれ「小文字で始めろよ」って警告出るのよね…😞動くと思うけど

→ Java や C と時代が離れているせいか文法が違うので調べないと危ない
・可視性は省略すると public で public って書くと IntelliJ が「冗長」って文句言う😞
・継承可能クラスは open と付ける
コンストラクタinitを private にするとインスタンス化できなくなる
・コンストラクタはクラス名ではなく 'fun' 句無しで init
 →他の言語でクラス名コンストラクタから別途 init を呼ぶ形のものは移植に注意

#学習記 #Kotlin

【Console Application】ファイルとデータベース【学習記】
仕様
https://note.com/sayka/n/nb8a67fa90a64?magazine_key=m7bb64c6a359f#br1mB

仕様
レコード
・レベル
 1-12
・難易度
 b,n,h,a,l
・曲名
・ランプ
 -,x,a,e,c,h,e,f

オプションスイッチ
-u file.csv # 更新(略値)
 ファイル名だけ指定した場合更新処理と見做す
-d file.csv # 削除
-p # csv 出力(略値)
 何も指定せずに起動した場合出力処理と見做す
-v # バージョン
-h # ヘルプ

----備忘録
(現在無し)


いやしかし、当初移植しながらやろうかなって考えてたの、ほんとヤバかったなって思う🙄
Java でちゃんと使えるようになるまで150以上も勘定が進んでるわけでそのままやってたら間違いなく混沌カオスだったかねぃ😞
ま、いいや、進めよっと🤤

MathUtil

それじゃ移植開始するぽ🤤
まずは使わないって分かってる乱数生成のやつから🤪

……… Kotlin の乱数ワカンナイ🤪

Kotlin - 乱数生成(Random、SecureRandom)
https://codechacha.com/ja/kotlin-random-number/

普通に Math.random あるけど欲しいのは seed 指定しないで毎回違う乱数の方なので記事にある SecureRandom を採用かな🤤

doc は勿論コピペ🤪

Java と合わせる為に com.example パッケージフォルダ作って移動したら build.gradle でまたエラーになったけどクラス名をちゃんと合わせて階層名足したフルパスにしたら通った🤤
こういうとこはリファクタリングしてくれないので今ひとつだなって思う🙄そういうとこだぞIntelliJ


Console

初期に随分苦労して結局 jar で持ってくるのを諦めた readLine を含むライブラリ🤤
scan 系は readLine が有るので排除してもいいかな、多分🤔

………🤔

builtin で呼べるから変に再定義するより無い方がマシかなこれは🤤

そういう意味では readLine も含める必要が無いんだけどこれは学習用にあれこれやってこの形になったやつだからこのまま入れるっぽ🤤
クラスの doc もコピペコピペ🤪


AnalyzeArgs

クラスの移植が一番大変🙄

Kotlinのプロパティとコンストラクタ
https://www.kenschool.jp/blog/?p=5634

こんなとこかな🤤
そいや Kotlin なら main で AnalyzeArgs のガワwrapper作らなくて良いんだっけか、そういうとこは後発言語のイイトコロよね☺️


次回は

stdlib からかな🤤
その後は DB も CSV もファイル確認してるから file になると思うけどそこまで進むかな…?🙄🚩

この記事が気に入ったらサポートをしてみませんか?