見出し画像

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

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

Q.
内部クラス?
A.
いや、 Console インスタンス関数として AnalyzeArgs を作って返す機能を付けただけ🤤

→オブジェクト側では release や autorelease を付けなくても良くなって要るみたいだけどオブジェクトを使う側で autoreleasepool とかで囲む等の処置は無くならないのでガバなメモリ管理は油断できない😞

#学習記 #Objective_C

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

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


Console

コンストラクタ埋めるぽ😑

の前に、そもそも argv に null は入り込まないので null 安全化的な何か🤤

Java の見るとコンストラクタは1行だった…😑

ここが今回扱う他の言語郡と大きく違う所、デストラクタ😑
実際の中身は殆どが autorelease のオブジェクトなので多分書かなくても大丈夫だと思うんだけど…🤔
`[super dealloc]` とか書くと xcode が「自動メモリ管理有るんだから書くな!」みたいに怒られるからホント、無くて良いんだと思うけど念の為に実装😑
で、こういう「念の為」に用意して後で「無い方がちゃんと(コンパイラ)通る」みたいなオチも有ったりするのでこいつを使ってメモリ管理でイチャモン付けられたらデストラクタを無効化…だと思うけど覚えてられるかな…🙄

Console.AnalyzeArgs を実装🤤
Kotlin だったかな? Java では凄い多段変換して使う stream を最初の Buffered なんたらで new したら中に変換後の stream オブジェクト持ってて多段変換しないで済んだやつ。あれに近い構想🤤
要は Console 内で同じ事できる関数有れば良いんじゃない?って考え😑
ユーティリティクラスはこれでイケるんじゃないかな🤔


次回は

MathLib に取り掛かるぽ🤤
確かこれ乱数しか無いんだったっけ?🤔
余計な下調べが無ければ更に次に行けると思うけど OC は古い古い C の系譜の言語に独自の拡張をしたシロモノだから何の文句言われるか分からない😞

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