見出し画像

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

今回の概略

特殊な事をせずに RecordElement の機能を使ったりしているので平和に進む🤤

#学習記 #Swift

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

----備忘録
public 装飾子 → open
列挙をカスタムエラーへ
parseCsv の空行問題
Swift の args は OC 同様 [引数+1] 個


前回の粗筋

一応さくさく進んでいる…らしい🙄



DBRExceptionMsg

Swift の配列は入れる型を決められるので OCObjective-C みたいな配列の中の型検査とか要らなくて原本の Java っぽい扱いできるの楽だなって思いつつ続き🤤

record ライブラリのエラーメッセージは Csv の時と同じく enum Error にするぽ🤔
なんかこれ、 Record に組み込んでも良さそうな気がするけど Kotlin も OC も分離したままだから今回は個別のままで行こうかな😑

項目以外ほぼコピペ🤤
それだけに Associated Value だっけ?これを統一してくっつけて統一して呼び出す仕掛けが無いのが残念😞


Record

初っ端ダンプ用の関数なんだけど、これもう少し統合できたりしないものなのかな…😞
まぁ型固定の言語では返値が固定できないので厳しいか…🙄
JSJavaScript なら `pname="value"; result.push(this.record[i][pname]);` とか書けるんだけど…😑

getter 系は、ブラケットアクセス実装したら要らない子の予感がするんだけど…できる言語とできない言語があるのでコード移植度の問題でそのまま😞

ここまでで valid なんたらかな?🤔


次回は

引き続き移植するぽ🤤
この後は set 系、 create 、ダンプ系で控えてるっぽい😑

いいなと思ったら応援しよう!