【Console Application】ファイルとデータベース 210【学習記】
ファイルとかデータベースの話🤤
→コメントドキュメントは * の直後にタブだと特有のリンク等の書式は無効化されるがタブ自体のインデントは有効
→ * の直後に空白ならリンク等は有効だがタブによるインデントは無効で HTML 的なホワイトスペース扱い
備忘録
さて、 Csv の parse 改修、 Kotlin でもやろうね🤤
Java 側で変数と反復をほぼそのまま移植できると判っているのでそこは有り難い🤤
直前にやった作業と同じだからすぐ終わるぽ🤤
鉄は熱いうちに打て🤪
readLine()
やってて気になったのがこれ🤔
作った時もちょっと疑問だったんだけど Java では readLine は終端だと null が返ってくる仕様だからこれで良いんだけど、これ、 null 安全が有る Kotlin なのよね🙄
で、案の定、 data は null 安全な String なんだけど target.readLine() も返り値が null 安全な String …なのに|すぐ後の判定は IntelliJ だんまり🙄
いつもは ( null 安全型だから) 常に false だぞって言うのに…🤔
最初は「それでも null が入るので検査してあれば(コンパイル)エラー出ないし良いのかな」程度だったんだけどちゃんと確認しといた方が良いかなこれは😑
この記事見ると while の式のとこで代入までやってる🤔
……… also ってなんだろ…🙄
ははぁ、 Kotlin はラムダ経由でこういう書き方が許されるのね🤔
で、これだと readLine は null を返してくる、という事になるんだけど…なんで String? じゃない String なのに通るんだろ…?🙄
表記としてはすぐ null 検査して排除しているので結果的に大丈夫になってるようだけど…🤔
ひとまずこの null を検査しておく事でヨシ、ってのは変わらないみたいだからこれはこのままで大丈夫かな🤤
ラムダをもう少し理解できたら記事みたいな書き換えもアリだけど Swift のラムダ次第かな🙄
軽く調べると Java でもラムダは可能になっているし C++ でも可能なようなので OC (正しくは OC++ ) でも可能という事になるかな🤤
これはこのファイルとデータベース終わったら第二の文法学習として取り掛かるのも有りかも?🤔
まぁ今はまだ半分も(言語が)終わってないから先に進むぽ🤪
話を戻して
Java でひな形に引数が書いてあって Kotlin でも入ってて直さないとってなってたんだけど…なぜか無い🙄
違う機能の All の方だった🤪
まぁ、修正…😑
後は doc の改行問題かな?🤔
markdown 使ってないけどタブや改行が有効になってる…🙄
@ のある行だけ * の後に空白が有って文本体は無しになってるからその違いかな?🤔
こいつで試してみようね🤤
🙄🙄🙄
もっと早く教えてよー😞
markdown の分の行数増えなくて凄い有り難い🤤
ただ、角括弧で括ってもリンクを貼ってくれなくなるのでそういうのが欲しい場合はやっぱり * の後にタブじゃなく空白にして markdown を入れないとならないかな🤔
あと、タブだと一見整ってる様に見えるけど、いわゆる自動改行してくれないので文が長いとツールチップからはみ出て要スクロールになっちゃう🤪
markdown だとインデント設定とかあるだろうから自動改行込みでインデントもしたくてリンクも有効にしたいってなら markdown 使うしかないかな🤔
こいつはそこまで細かい書式を求めてなくてタブで字下げできてればいいかな程度なので今の方式で進むぽ🤤
(というか移植終わったから進むもなにももう追加されない🤪)
次回は
ようやく動作試験へ🤤
コンパイルエラーは無いけど果たして…🙄
Java 的には動作してたけど Kotlin 式にした事で起きる「誤り」が有るだろうからその辺りが焦点になるかな🤔