おすすめ記事

プログラムの入門書読んでるんですけど、for文って今非推奨なんです?

引用元: プログラムの入門書読んでるんですけど、for文って今非推奨なんです?



画像引用元: 図解! JavaScriptのツボとコツがゼッタイにわかる本 “超”入門編 | Amazon

Sponsored Link

1: 名無しさん 2021/04/28(水) 20:05:19.570 ID:bUk/jdeS0
入門書には基本のキぐらいの扱いで乗ってるんですけど…

2: 名無しさん 2021/04/28(水) 20:05:35.134 ID:+SqbeBCdr
知らんし

3: 名無しさん 2021/04/28(水) 20:05:54.083 ID:xd7bn7xy0
mapとか使えってこと?

4: 名無しさん 2021/04/28(水) 20:06:09.833 ID:oW+5UH6C0
そんなん聞いたことない

11: 名無しさん 2021/04/28(水) 20:07:46.090 ID:bUk/jdeS0
>>2
そうですか

>>3
mapとは?

>>4
勉強してて判らないことがあってググったら
for文は使わない方が良い、みたいなのを見つけたのよ

7: 名無しさん 2021/04/28(水) 20:06:27.534 ID:O2nuEuPRH
jsならほぼ使わん

8: 名無しさん 2021/04/28(水) 20:06:36.045 ID:AKKWffU50
なんで非推奨なの?

9: 名無しさん 2021/04/28(水) 20:06:43.171 ID:+zETl1z00
range for推進派がそんな事言ってるイメージ

10: 名無しさん 2021/04/28(水) 20:07:35.081 ID:Hne3u6PZ0
goto は使わないほうがいいとかいう人いるけど forもそうなの?(´・ω・`)

12: 名無しさん 2021/04/28(水) 20:08:13.098 ID:fWemdI+y0
言語による
つかpythonとかfor文あったっけ?

おすすめ記事

45: 名無しさん 2021/04/28(水) 20:23:41.912 ID:NawCvtCna
>>12
for inがあるね

13: 名無しさん 2021/04/28(水) 20:08:14.238 ID:ilkJFOU50
for使うなとかみたことないわ
多重ループするななら分かるが

14: 名無しさん 2021/04/28(水) 20:08:40.624 ID:HKPytk5F0
取り敢えず調べて情報擦り合わせろ

15: 名無しさん 2021/04/28(水) 20:08:42.484 ID:qnSSnf7A0
ラムダ式代入可能なコレクション系イテレータの方が優れる場面が多いってだけ

16: 名無しさん 2021/04/28(水) 20:09:06.734 ID:FAY49cWy0
jsでforは確かに使わなくなったな

17: 名無しさん 2021/04/28(水) 20:09:08.416 ID:eeohX5FRM
日下部陽一しかそんなこと言ってるやつ見たことないが

18: 名無しさん 2021/04/28(水) 20:09:54.363 ID:hhwqgEhs0
なんの言語よ?

19: 名無しさん 2021/04/28(水) 20:09:55.187 ID:Hne3u6PZ0
while(1) みたいに使うと 抜け出せなくなる的なことなのかな?(´・ω・`)

20: 名無しさん 2021/04/28(水) 20:10:15.415 ID:Wb+Tfv2+d
c
c++
python
JavaScript
の順で学べば、JavaScript辺りでfor使わんくてええなってなるかもね

21: 名無しさん 2021/04/28(水) 20:11:24.752 ID:TZQvMF0e0
たのしい末尾最適化

Sponsored Link

22: 名無しさん 2021/04/28(水) 20:12:09.031 ID:kJaxn8fN0
for文ってfor(A;B;C){…}の
C要る?{}の中に書けばいいじゃん

32: 名無しさん 2021/04/28(水) 20:16:23.238 ID:R8GjEB990
>>22
逆から入れたり
1個飛びで入れたり
そもそも中身にi++;入れたりもできる

23: 名無しさん 2021/04/28(水) 20:12:52.645 ID:kJaxn8fN0
Aもforの前に書けばいいし
そしたらBだけになるけどそれならwhileで良くね?

24: 名無しさん 2021/04/28(水) 20:13:58.212 ID:Oj6mkISt0
>>23
頭悪そうなレスすんな

26: 名無しさん 2021/04/28(水) 20:14:10.304 ID:VYEdmVd8r
>>23
見やすいじゃん

28: 名無しさん 2021/04/28(水) 20:14:34.455 ID:kJaxn8fN0
>>26
まあね

33: 名無しさん 2021/04/28(水) 20:16:26.611 ID:Wb+Tfv2+d
>>28
コードは書いたことあるの?

40: 名無しさん 2021/04/28(水) 20:19:31.123 ID:kJaxn8fN0
>>33
大学の課題だけ😝

31: 名無しさん 2021/04/28(水) 20:15:41.307 ID:Wb+Tfv2+d
>>23
Aで変数定義もする事が多い
Cは別にどっちでもいいけど一番重要とも言えるからやっぱりCに書いた方がいい

38: 名無しさん 2021/04/28(水) 20:19:24.377 ID:+zETl1z00
>>23
途中にcontinue入れるとかでCの処理書き忘れると無限ループになる
下らない事に気使うぐらいならfor書いたほうがマシ

25: 名無しさん 2021/04/28(水) 20:14:04.771 ID:hhwqgEhs0
そりゃwhileで代用できるけどな

27: 名無しさん 2021/04/28(水) 20:14:33.258 ID:GErtty3g0
可読性がな

29: 名無しさん 2021/04/28(水) 20:14:51.018 ID:j4TLikqsM
int n=0できないじゃん

30: 名無しさん 2021/04/28(水) 20:15:07.788 ID:NO9+ZFp+d
関数型とかの話?

35: 名無しさん 2021/04/28(水) 20:16:49.322 ID:bUk/jdeS0
>>30
まだ勉強し始めたばかりで
解説を読んでもよくわからなかったけど
そんな単語があったかも

34: 名無しさん 2021/04/28(水) 20:16:28.464 ID:TZQvMF0e0
入門書未満のオッサンが集まる不思議なスレ

37: 名無しさん 2021/04/28(水) 20:19:21.840 ID:zrqlC+Dh0
非推奨どころかfor eachならメジャー言語に後付実装されたくらいでは
集合演算的な処理が流行ったから使い分けの場面も出た感じ?

39: 名無しさん 2021/04/28(水) 20:19:29.465 ID:Ncdu3K2Z0
ごくまれにだけどcontinue使う

42: 名無しさん 2021/04/28(水) 20:19:55.708 ID:FAY49cWy0
[‘hoge’, ‘bar’, ‘boo’].forEach((item, idx) => {
console.log(`${idx}: item`);
});

49: 名無しさん 2021/04/28(水) 20:33:18.635 ID:qnSSnf7A0
>>42の例だとこうかけばメリットは分かるか

let output = (item, idx) => console.log(`${idx}: item`);
[‘hoge’, ‘bar’, ‘boo’].forEach(output);
[‘foo’, ‘bar’].forEach(output);

あと例えば map は arr の要素数が変化しないことを担保できる
length は使い回せる immutable が保証されているとなおよし

let length = item => item.length
let arr1 = [‘hoge’, ‘bar’, ‘boo’].map(length)
let arr2 = [‘foo’, ‘bar’].map(length)

43: 名無しさん 2021/04/28(水) 20:20:23.771 ID:mHc04JLY0
どのプログラミング言語を使ってるかによるとしか
pythonではそんなこと聞いたことない

44: 名無しさん 2021/04/28(水) 20:21:02.186 ID:qnSSnf7A0
モダンな高水準言語ではイディオムのパターンが多い for より適切であることが多い 可読性はむしろ向上する
あとラムダ式の特性の恩恵が大きい ただプログラムの初心者に説明する表現として正しいかは疑問が残る

46: 名無しさん 2021/04/28(水) 20:26:23.726 ID:NUcd2HE30
Pythonはwhile遅いみたいだからfor使ってるよ

47: 名無しさん 2021/04/28(水) 20:29:15.111 ID:GQYx0Bqm0
C++ならどんだけ使ってもいいぞ

48: 名無しさん 2021/04/28(水) 20:30:54.864 ID:R8GjEB990
むしろfor文だけでいいような気がしてくる^ー^

50: 名無しさん 2021/04/28(水) 20:34:18.923 ID:JzO6VXYLd
forの思い出といえば

*
**
***
****
*****

57: 名無しさん 2021/04/28(水) 21:02:35.490 ID:n3W6q5w80
>>50
素人が作った
int main() {
for (int i = 1; i <= 5; i++) {
for (int n = 0; n < i; n++) {
printf(“*”);
}
printf(“\n”);
}
return 0;
}

62: 名無しさん 2021/04/28(水) 23:03:50.305 ID:Grg0Ob7na
>>50
情報系以外の工学部の学生は半年これやらされてた

55: 名無しさん 2021/04/28(水) 20:43:47.522 ID:qnSSnf7A0
他に reduce ならコレクションから1つの結果を求めようとしているんだなって分かるし sum とか sort とかはいわずもがな
読みやすく短くできるんだから使えるなら使ったほうがいい

ただ何回も言うけど for は制御構造の基本なのでプログラムの入門書にかくことかどうかはその本の目的による

56: 名無しさん 2021/04/28(水) 21:01:45.174 ID:ZqTNskwo0
javascriptのfor of と for inとか覚えろってハラスメントだろ

Sponsored Link

60: 名無しさん 2021/04/28(水) 22:10:29.389
もしかして関数型のいい所を採り入れてるって事を言ってるのかね?

61: 名無しさん 2021/04/28(水) 22:35:17.027 ID:fuX4Nw8Np
拡張forかストリーム使えって話?

58: 名無しさん 2021/04/28(水) 21:26:02.507 ID:w/Vk/m5n0
ぶっちゃけ真面目な理由抜きでも単純にfor面倒なんだよ
99割繰り返し処理なんて1づつインクリメントしたいだけかそもそもインデックスすらいらないのに逐一宣言させられるし

前後の状態引き摺るような余程面倒な繰り返し処理じゃなきゃわざわざ使わん

whileとの使い分けがよーわからん

Pocket

おすすめ記事

You may also like...

『プログラムの入門書読んでるんですけど、for文って今非推奨なんです?』へのコメント

※コメントは自動承認、スパムは自動削除されます。節度を持って楽しくコメントをお願いします。

コメントを残す