【Console Application】ファイルとデータベース 305【学習記】
今回の概略
addRecord してるのに nil のままの DBA.record ………😞
前回の粗筋
どこかで読み込んだ csv を record にできていないっぽい🤔
デバグ
入っているべき record が nil なのでどこかで失敗しているか移植を忘れているかだけどそれを探るぽ😑
前回見ていた限りでは csv の読込み自体はできていたのでそこは心配無いけど parse が成功しているかどうかというのはまた別問題😞
原本を見る限りでも「空なら例外、有るなら1行毎に」となっているので移植漏れでは無いぬ😑
Csv.init ; loadCsv ; DBAccessor.initWithConsole ; addRecords ; mergeWithLineAll ;
並びだけ見ると合ってる感じするお🤔
addRecords がおかしいのかな?くらいかな、この時点では😑
new Csv ; loadCsv ; new DBAccessor ; addRecords ; mergeDBWithLineAll ;
原本でもほぼほぼ同じ流れになってるお😑
という事は下手人は loadCsv か addRecords という事に🤔
まず loadCsv からかな。これがアウッだったら結果的に addRecords も死ぬわけなので怪しさから言えば loadCsv なのよね🙄
ファイル終端の空行を取り込んでると思しき4つめのデータが不穏ではあるけど parseCsv 自体はおかしくなくて配列に取り込めてる😑
addRecords および addRecord ではこういう不完全な個数は無視する造りだった筈だけど中断しちゃう処理になってるのかしら?🤔
addRecords まで進ませたけど、これ原本云々以前に addRecord の返値確認しないで stack.addObject してるの、危ないよね?🙄
で、↑の addRecords 原本見ると返値 void になってるんだけど…😑
まぁ後で直すとして、全く効果が出てない単品追加処理の addRecord へ進むお🙄
この処理の obj も無検査で突っ込んでる…😞
更に進めると、設定してる値がおかしくなってる😞
でもまだ record としてはブツが入ってるので進めてみるぽ
stack 見ると中身の是非は置いといて、個数はちゃんと有るぽ😑
でも self.record を見ると nil のまま…🙄
この辺りを追いかけたら良いのかな😑
状況からすると下手人は addRecord っぽい🤔
次回は
更なる下手人への追求を行うお🤤