![見出し画像](https://assets.st-note.com/production/uploads/images/103602903/rectangle_large_type_2_3a29acd4536eae9e89b7536868461f14.png?width=1200)
【Console Application】ファイルとデータベース 283【学習記】
今回の概略
main 内で別のクラスを設定したりしてるのでヘッダを作る事に🤔
【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 # ヘルプ
----備忘録
(現在無し)
前回の粗筋
enum class が無くてツライ😞
main
前回移植した OptSw 、クラス宣言とかしないと main で使えないのでは…😞
(つまりそこから)
![](https://assets.st-note.com/img/1682110189252-wXlbhbf1y2.jpg)
うーん………これはヘッダに分離すべき…かな…🙄
というか main.mm という名前なのもどうなのか😑
ヘッダ分離
![](https://assets.st-note.com/img/1682110210581-C0rIsgalmJ.jpg)
じゃあまぁ、そういう事で…🤤
![](https://assets.st-note.com/img/1682110230793-GNBbAi34wq.jpg)
dealloc が無いお…🤔
でもまぁこれなら interface はヘッダへ、という様式は守られるからこっちの方が良いかな😑
VersionInfo
原本よく見たら OptSw より前に VersionInfo が定義されてる件に関して🙄
行数少なくて認識できなかったっぽい😑
![](https://assets.st-note.com/img/1682110254443-5NbC5Y6A94.jpg)
1回は設定が可能な筈も怒られる。こういうのやめてほしい😞
![](https://assets.st-note.com/img/1682110271914-swdPveYOEB.jpg)
アンダースコアプロパティアクセスなら消えるエラー…😞
HelpInfo
原本だと main の後で定義されてるけどこれ確か Kotlin だと入れ替えて上に実装書いた気がする🤤
………
確認したら Kotlin でも amin の後になってる🙄
あと皮の中での変換の関係か AnalizeArgs も Kotlin でも移植してるからこれは OC でも要るかな🤤
そういや確かになんだったかの項目の返値が直じゃないから橋渡しで作ってたんだったかな🤔
まぁ、今は HelpInfo 移植するお🤤
![](https://assets.st-note.com/img/1682110294360-BIFzYhK9Jo.jpg)
OC だけ聞き分けの悪い子状態なのよね…😞
なんで `obj.function(args)` じゃなくて `[obj function:args]` なのかな…ほんとめんどくさいお🙄(特に文頭へ移動するのが
AnalyzeArgs
これは原本じゃなく Kotlin を見て移植しようかしらね🤤
![](https://assets.st-note.com/img/1682110345104-E8pEvgNf7v.jpg)
_人人人人人人人人_
> Array<OptSw> <
 ̄Y^Y^Y^Y^Y^Y^Y^ ̄
はいはい、 OptSw の型強制配列作れば良いのね🤤
![](https://assets.st-note.com/img/1682110364654-PkL7VO3YIV.jpg)
StrArray をコピペして型を書き換えるだけ🤤
![](https://assets.st-note.com/img/1682110376213-I1mdi0TozN.jpg)
おっと、名前衝突だわね🤤
次回は
名前の衝突回避から🤤