【Console Application】練習01 3【学習記】
基本文法を学んだ後によくある練習課題みたいなやつをやる話🤤
Q.
またいっぺんにやったの?
A.
凄い時間かかってやめときゃよかったって思った😞
→ Java も OC も古い体系の言語なので配列初期化とかダンプ取るのとかは素直に for で回すしかない
→ 妙な手法を使おうとしても返ってうまくいかないので余計時間がかかる
#学習記 #練習問題
#Java #List #ArrayList #Collections
#Objective_C #NSMutableArray #rangeOfString #componentsJoinedByString
基準になるコードの話をしている記事はこちら
【Console Application】練習01【学習記】
https://note.com/sayka/n/n7b2ba075664f
【 Java 】練習01
それじゃ今度は Java でやろうかな🤤
今回の、 Java での肝は Swift でも苦労した list の初期化かな🤔
型判別とかは恐らく Kotlin と似た様なやり口になるだろうから、そんな心配してない🤤
list の初期化部分で余計な変数や関数をどれだけ減らせるか、って事になりそうなんだけど…🙄
そこで以前やった連想配列初期化にクロージャっぽいものがあったので Java におけるクロージャをまず調べてみようかな🤤
asufana/Java8 クロージャ.md
https://gist.github.com/asufana/94378314d8d621cafc21
この記事を見る限りでは大体同じ階念が通じるラムダが導入されてるという感じかな?🤔
つまり Kotlin みたいな標準が無くても Swift みたいな初期化子を記述できる…かも🤪
とりあえず Kotlin コード転写してから考える姿勢で開始よー🤤
…
…
…
なんとか rnd の初期化子以外は修正🤤
forEach とか有るみたいだけどラムダをかなり掌握していないとできなそうなので基礎的な方法で集計するしかなかった感じ🙄
結局、 for で中身を入れる等…🤤
まぁでもこの書き方が一番理解しやすいかな…🤔
最新の言語では static だったり const だったりの縛りを付けるのにどうしても初期化子でできてくれないと困るんだけど Java は後から const を初期化する方法が有ったよねぇ?🙄
できる事が少ないなりに頑張ってるのが Java なのかな… Kotlin からのコンパイルが冗長にならないように今暫くは更新されててくれないと困る🤤
余談はさておき ビルド👇
🙄🙄🙄
new ArrayList<>(num) って書き方ダメぽ?
JavaでListの要素を初期化・追加する方法
インスタンスイニシャライザを使う方法
https://qiita.com/yuki2006/items/be1433c50002cc24603b#%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%82%A4%E3%83%8B%E3%82%B7%E3%83%A3%E3%83%A9%E3%82%A4%E3%82%B6%E3%82%92%E4%BD%BF%E3%81%86%E6%96%B9%E6%B3%95
インスタンスイニシャライザとかいうやり方のが良さそう🤤
😞😞😞
素直に全部 add するぽ😞
Java は標準だと list の sort とかは機能が無いんだけど、ライブラリとしては存在するのよね🤔
開発としては煩わしいのだろうけどこの豊富なライブラリと細かい import によって肥大化を避けるようになってるのかなって考えると(時代を考えると)極端に悪い手法ではないなと感じる🤤
でもさ、最新の IDE が使われない import とか判定できるんだからコンパイラが自動で使ってないのは弾いてくれてもいいんじゃないの?って思わなくもないけど動的にライブラリ名を生成して import とかやるやつがあったら積む🙄
【 OC 】練習01
時間あるから OC もやっちゃおうかな!🤪
…
…
…
あれ…?
これどうやって文字列が数値か判別するんだろ…?🙄
String.integerValue というのが有るようだけど、これは非数でも 0 が返ってくるみたいで nil にさえならない…どうするのこれ…😞
まぁ、今回の処理では 0 も除外なので 0 なら false を返す、でも通るけど関数の挙動としてはよろしくない…🤔
iOSで簡単に文字列の数値チェックを行う方法
http://csfun.blog49.fc2.com/blog-entry-124.html
ええええ…正規表現でやれよって?🤪
いいのかそれで…?🤤
…
…
…
😞😞😞
めっちゃ時間かかってこれ…やめときゃよかった😞
NSMutableArray の初期はは init じゃなくて array を指定するらしい🙄
なんでそこ、例外みたいに init にしないの?🤪
やれやれ…🤤
次回は
今回の練習問題で得られた知見とかをまとめようかな🤤