>>753
> イテレータはコンテナと密結合、は間違い
間違ってねえよ。
というか、多分「密結合=悪」と洗脳されてるから否定したいのだろうけど、
俺が言ってるのは、
・コンテナとイテレータの関連は、
イテレータと中身の処理の関連より100万倍くらい強い
という事。だから
・コンテナとイテレータの結合は、イテレータと中身の処理 より 100万倍密結合
であり、これを密結合と言わずに何という?という話。
そりゃイテレータで無理矢理切り離せばコード上は切り離せるけど、それやっても大してメリット無いし、
ほぼ100%の状況で「頭から全部イテレート」で済むんだからforEach(関数ポインタ)の方が筋がいい。
そしてJSのArrayなんてイテレータはないよ。実際要らんし。
forEachが遅かったからイテレータ、ならそれは「言語の不備」だよ。
C++はその辺順番を入れ替えて同速にしてしまったし、知らんがRubyでもlazyモードで同様なんだろ。
勿論イテレータの方がいい場合もあるはずだが、これは昨今のimmutableや再代入を避けるのと同様、
これまでは不要にイテレータを使いすぎてただけ。
本当にイテレータが必要なところだけイテレータにして、その他はforEach(関数ポインタ)の方がいいよ。
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
756デフォルトの名無しさん
2022/03/15(火) 00:35:40.32ID:lBfKiKMI■ このスレッドは過去ログ倉庫に格納されています
