見出し画像

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

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

Q.
getter のオーバーロード?
A.
代入先の変数の型で自動判別してくれたら楽だなーって🤤
でもそれを考える切っ掛けになった記事を見つけられなくて断念😞

→途中で区切ろうとするも他の予定を潰して結局仕上げてしまうの巻😞

#学習記 #Kotlin #generics #constructor

【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 # ヘルプ

----備忘録
AnalyzeArgs で引数の並びが判別不能になる機能不足を解消
loadCsv の解析部分は独立


Record

それじゃ RecordElement の移植続けるぽ🤤

で、前回のコンストラクタ群なんだけど…(諦め悪い奴め
これ、プライマリ10行目コンストラクタ引数が最終形の変数型で固定してるなら初期値設定すればセカンダリはもう少し整理できるのでは…?と気が付いたのでやってみようと思う🤤

………🤔
これ、引数 type:T をどこか経由で getString()toString的な奴 通せればジェネリクス表記3種で通せるかも?😳
確か色々変換を書いた記憶が有るのでこの状態で他の移植を進めてみようかな🤤

😞😞😞

どうも Java でできてたプロパティ xxxx に対する setXxxx,getXxxx って名前の機能の命名はだめっぽい…🙄
ちゃんと setter,getter として書かないとならないのかな?😑

Java 側を確認すると単純に値を入れたり返したりしてるだけの「便宜上書かれた setter,getter 」だったので省略する事に…😑

………🤔
そういえばどこかで Kotlin は型推論が右辺にも適用されるからオーバーライドで用意しておくと勝手に選択される、みたいな手合の記事をどこかで見た気がする🤤
てことは getter を書いておいたらいい感じになるのかしら🤔

😞😞😞デスヨネー

🙄🙄🙄デスヨネー

………

………

………

うーん…どう調べたら出てきたんだったかな…😞

素直にベタ移植…😞

setter のオーバーロードは許された🤤

何という矛盾…😞

同型以外の setter だけ付けて init では通常の代入へ…🙄
他のコンストラクタはまだエラーになってるけど toStr みたいのがまだ有るからそれ次第…の筈🤔

作業区切ろう区切ろう思って結局全部入れてしまう等🙄

コンストラクタの記述がすっきり👈🤪\ヨシ/


次回は

Record に取りかかれるかな🤤


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