見出し画像

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

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

Q.
init なんてとにかく最初に書いておけば良いんじゃないの?
A.
そうなんだけど、幾つかの「古い言語」では先に init が呼ぶ関数を書いておかないと「そんな関数知らん」ってエラー吐くのよ…😞
その互換もあって Java ではそういう順番で書いておいたんだけど多分 OCObjective-C 以外では困らない気がしてきた🤤

→引数に null 許容は有っても良いけどプロパティクラスメンバーに null 許容があると各機能fun毎に一々 null チェックが要るようになるので初期化の都合で null を入れておきたくてもできるだけ避けた設計の方が結果的に手間が省けて安全になるっぽい🙄

#学習記 #Kotlin #init #null許容 #null安全

【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 で引数の並びが判別不能になる機能不足を解消


Csv

Csv の移植の続き🤤

Kotlin のコンストラクタは引数を記述しない方式のせいで、他の言語みたく記述順が後ろだとちょっとわかりにくい感じになるなって思った😞
JavaScript みたいな変幻自在な引数受け取りは難しいっぽい🙄(可変はできるみたいだけど

仕方ないので上に持ってきておく😞
変数と同じく巻き上げが起きるんだろうけどなんか納得行かない…🙄

ぬるぽにならないように IntelliJ は各種の警告を入れてくれる🤤
null チェックせぇよってシステム、煩わしい気もするけど暫くすると有り難みが増す☺️

行数で料金取る昔のCOBOLの時代みたいな料金形態ならごっつ儲かる判定の増加だけど令和の時代にこれは随分無粋な組み方だなって感じる😞
(正しいコーディングは null 排除して値を設定する構築にすべき)


次回は

whenKotlinのswitch の中身からかな🤤
余計な判定追加したりで時間とられちゃった🙄

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