多言語でforループを列挙していくスレ

■ このスレッドは過去ログ倉庫に格納されています
2018/10/30(火) 09:18:52.77ID:sSPDfgXo
for(i=0;i<N;i++){} //C
4デフォルトの名無しさん
垢版 |
2018/10/30(火) 16:54:11.44ID:Sz4Zv5pS
R

for(i in 0:(N-1)){}
2018/10/30(火) 22:39:05.76ID:o9hY2eDj
5ch ニュー速+のレス
6デフォルトの名無しさん
垢版 |
2018/10/31(水) 06:52:12.39ID:XwxRwFh3
Lua

for i=0,N-1 do
ene
7デフォルトの名無しさん
垢版 |
2018/10/31(水) 19:06:05.16ID:XwxRwFh3
>>1
「for」という名前にこだわるのか
N回ループなら名前は関係ないのか
どっち?
2018/10/31(水) 19:13:52.61ID:o0DzM9PU
for i in $(seq 1 N); do :; done
9デフォルトの名無しさん
垢版 |
2018/11/01(木) 08:37:07.54ID:aKGNiS9G
Maxima

for i:0 thru N-1 do;
2018/11/01(木) 16:33:44.34ID:QiY0YIiT
>>3
ダメな書き方
11デフォルトの名無しさん
垢版 |
2018/11/01(木) 19:16:12.55ID:aKGNiS9G
Asymptote

for(i=0;i<N;++i){}
12デフォルトの名無しさん
垢版 |
2018/11/01(木) 19:22:39.41ID:+p1vRE32
>>6
エンエ
2018/11/02(金) 01:08:41.68ID:mmSIT3HV
確かにキーワードforにこだわるひつようないわな
日本語で書くと
次の括弧の中のものを複数回繰り返せ{}
になるのかな。イテレータっていうのかな?動かす変数iも
要らないのかな

そうすると
次の括弧の中のものを変数を駆使しつつ複数回繰り返せ{}
かもしれない。
括弧=ブロックということで、もっと要約したり厳密に書こうとすれば・・・

日本語のプログラミング言語をチラ見したことがあるが。
まあ、その辺はどうでもよくて。
ただ言語間の違いを鑑賞するにとどめている。
2018/11/02(金) 05:15:53.50ID:t43Qe+T2
>>3
ダメではないんでないの
2018/11/02(金) 06:04:16.92ID:T61e9sN/
J
for_i i. N do. end.
2018/11/02(金) 06:05:06.43ID:T61e9sN/
間違えた
for_i. i. N do. 1 end.
17デフォルトの名無しさん
垢版 |
2018/11/02(金) 11:41:23.47ID:eui+6IYW
Arc

(for i 0 (- N 1) ())
2018/11/02(金) 12:46:02.60ID:DC1sdKmA
>>14
感心しないと言う意味
条件パートに副作用のある式を書くのはバグの元になる
2018/11/02(金) 13:10:24.08ID:gPq21KJC
スレの趣旨からは外れるかもだが
コンパイラにとって定型なら効率の良いコードを作ってくれる(はず
定型ではないとそのまんまのコードだが後置デクリメントは手間がかかる=効率が落ちる
(といっても組み込みでもない限り差は出ないよねって今は組み込みでも差ないか
ついでにいうとforよりwhileの方が云々
まあ>>1に対応するいろんな言語の様式を見ようが趣旨なんでしょ
変形も息抜きネタで面白いけどね
2018/11/02(金) 13:16:10.95ID:gPq21KJC
実際好みって書いてあるしね で息抜き終わり仕事に戻ります
2018/11/02(金) 15:03:48.48ID:T61e9sN/
長文はng
22デフォルトの名無しさん
垢版 |
2018/11/02(金) 15:47:11.04ID:eui+6IYW
なでしこ

iで 0からN-1まで繰り返す
iを表示。
23デフォルトの名無しさん
垢版 |
2018/11/02(金) 16:19:20.90ID:eui+6IYW
>>22
インデントに失敗しました

iで 0からN-1まで繰り返す
iを表示。
24デフォルトの名無しさん
垢版 |
2018/11/02(金) 16:29:14.47ID:eui+6IYW
何度もすいません
最後の行がインデント付きです
2018/11/02(金) 16:51:16.96ID:CFw/FPLx
FOR i = 0 TO N STEP 1
NEXT i
26デフォルトの名無しさん
垢版 |
2018/11/03(土) 06:26:22.79ID:kRt8PARI
Julia

for i in 0:(N-1)
end
27デフォルトの名無しさん
垢版 |
2018/11/03(土) 18:42:42.28ID:kRt8PARI
Io

for(i,0,N-1,i println)
28デフォルトの名無しさん
垢版 |
2018/11/03(土) 19:26:00.84ID:3NGq3yLp
>>27
言語詳細
29デフォルトの名無しさん
垢版 |
2018/11/03(土) 19:53:28.58ID:kRt8PARI
>>28
あなごるで知った
30デフォルトの名無しさん
垢版 |
2018/11/03(土) 23:41:29.07ID:lMTn1tjz
for(i=0;i<N;i++){} #awk
2018/11/04(日) 00:36:43.53ID:1pTNITmK
for i in 1..N loop 〜 end loop; -- Ada
for i in 1..N loop 〜 end loop; -- Oracle PL/SQL

PL/SQL の文法は Ada とほぼ同じ
32デフォルトの名無しさん
垢版 |
2018/11/04(日) 02:34:52.01ID:tEEUVDw7
Bash

for ((i = 0; i < N; i++)) { echo $i; }
33デフォルトの名無しさん
垢版 |
2018/11/04(日) 02:44:38.13ID:95qKkVOL
>>27
あーエルオーじゃなくてアイオーか。
2018/11/04(日) 03:48:39.12ID:Yhg2ljv8
F#
for i = 0 to N-1 do
35デフォルトの名無しさん
垢版 |
2018/11/04(日) 12:38:02.45ID:s4s7tBvD
Scala

for(i <- 0 to N-1){}
36デフォルトの名無しさん
垢版 |
2018/11/04(日) 20:12:37.07ID:s4s7tBvD
Xtal

N.tims{it.p;}
37デフォルトの名無しさん
垢版 |
2018/11/04(日) 20:50:08.41ID:Yqdp3OyY
ティムズwwwww
2018/11/04(日) 20:57:35.09ID:Nn4ZdlZB
  ∩∩    ぼ く ら は テ ィ ム ズ !       V∩
  (7ヌ)                              (/ /
 / /                 ∧_∧            ||
/ /  ∧_∧     ∧_∧  _(´∀` )   ∧_∧   ||
\ \( ´∀`)―--( ´∀` ) ̄      ⌒ヽ(´∀` ) //
  \       /⌒   ⌒ ̄ヽ、ティム /~⌒    ⌒ /
   |      |ー、      / ̄|    //`i ティム  /
    | ティム | |ティム / (ミ   ミ)  |    |
   |    | |     | /      \ |    |
   |    |  )    /   /\   \|       ヽ
   /   ノ | /  ヽ ヽ、_/)  (\    ) ゝ  |
   |  |  | /   /|   / レ   \`ー ' |  |  /
39デフォルトの名無しさん
垢版 |
2018/11/04(日) 21:11:00.47ID:s4s7tBvD
まぁ間違えてもスペルチェッカー君がいるから大丈夫
40デフォルトの名無しさん
垢版 |
2018/11/05(月) 00:05:47.95ID:3SqRaRET
TI-BASIC
For(I,0,N-1
End

CASIO BASIC
For 0→I To N-1
Next
41デフォルトの名無しさん
垢版 |
2018/11/05(月) 17:16:24.45ID:ofVHs9ho
PostScript

1 0 N 1 sub {} for
42デフォルトの名無しさん
垢版 |
2018/11/05(月) 21:34:42.07ID:SaypAYQH
for(auto&& i: v){//c++
}
2018/11/05(月) 21:59:23.56ID:rQPPTNrE
Perl5
use constant N => 何か定数;
だったとして、

for (1..N) {}

または

{} for 1..N;
44デフォルトの名無しさん
垢版 |
2018/11/05(月) 22:57:05.15ID:47SU0IGc
>>42
N 無くしちゃったら他の言語の例と違いすぎだろ
45デフォルトの名無しさん
垢版 |
2018/11/05(月) 23:03:13.75ID:SaypAYQH
>>42 pythonのループもこんな感じじゃない。

l = ['Alice', 'Bob', 'Charlie']

for name in l:
print(name)

N付きだったら>>1のループで。
46デフォルトの名無しさん
垢版 |
2018/11/05(月) 23:05:00.81ID:SaypAYQH
>>45だった。
2018/11/05(月) 23:31:02.32ID:GAsBE3NL
ガイジ
48デフォルトの名無しさん
垢版 |
2018/11/05(月) 23:40:25.46ID:/jp5d8Mt
foreach 的なものは他のたいていの言語にもあるけどあえて挙げてないんやで
49デフォルトの名無しさん
垢版 |
2018/11/06(火) 01:45:23.84ID:xqnKOwtZ
iOSのショートカットApp
https://i.imgur.com/jdqNbAQ.jpg
50デフォルトの名無しさん
垢版 |
2018/11/06(火) 01:54:33.12ID:xqnKOwtZ
>>49
ありゃ、これでは1〜Nにしか変化しないや
0から始める為には
https://i.imgur.com/v4pUtGK.jpg
51デフォルトの名無しさん
垢版 |
2018/11/06(火) 16:24:10.68ID:04POOit4
PARI/GP

for (i=0,N-1,print(i))
52デフォルトの名無しさん
垢版 |
2018/11/06(火) 22:21:49.13ID:4ji0x5iw
Tcl

for {set i 0} {$i < $N} {incr i} { puts "$i" }
2018/11/06(火) 23:23:01.10ID:ObpCKggA
factorってwhileやeachはあるけどforあったっけ?
2018/11/06(火) 23:51:18.81ID:1dc764zg
Pythonのfor inも他で言えばforeachの方だゾ
2018/11/07(水) 00:54:48.89ID:T8AyQ5+v
Perl5

use feature 'current_sub';
use constant N => 100;
sub {
goto __SUB__ if shift;
}->(1..N);

※perlのgoto 関数はcontinuationなので上記codeは最適化tail recursionによる繰り返しと同じ
2018/11/07(水) 00:55:09.54ID:UCphLCxy
シェルスクリプトもだぞ
forはfor inしかない

0からNまで繰り返すようなことは
while使ってiをカウントしていくしか無い
2018/11/07(水) 01:21:26.15ID:6G5esoyI
foreach系でfor的な処理をするには
0〜n-1のイテラブルなデータを作るやつと組み合わせるんだゾ
2018/11/07(水) 01:37:31.32ID:2dob76mc
while, for, foreachは1つにまとめれそう
2018/11/07(水) 02:24:23.79ID:mTAgM1WN
何を今さら…
60デフォルトの名無しさん
垢版 |
2018/11/07(水) 18:49:12.92ID:aZCFEbbz
Go

for i:=0;i<N;i++ {}
2018/11/08(木) 00:25:04.11ID:0LZzQfKw
そういえばPHPさんでてないな
変数名に$付く以外普通のC系だけど

for($i=0;$i<N;$i++){}
62デフォルトの名無しさん
垢版 |
2018/11/08(木) 07:11:23.95ID:7xASNoIp
Common Lisp

(dotimes (i N) (print i))

(do ((i 0 (1+ i)) ((>= i N) i) (print i))
2018/11/08(木) 09:22:00.66ID:UCtqQ5sl
スレチ
64デフォルトの名無しさん
垢版 |
2018/11/08(木) 17:19:13.07ID:hv4d/60R
Rust

for i in 0..N {}
65デフォルトの名無しさん
垢版 |
2018/11/08(木) 23:07:10.90ID:7xASNoIp
>>63
意味わからん
Forに拘るなら、Fortranもforループない事になるぞ?
ご先祖様をバカにすんなや!
2018/11/08(木) 23:14:12.31ID:a5prroZo
スレチ
2018/11/09(金) 00:43:44.37ID:SXIktKq8
>>56
bashは>>32
Bシェルも普通に出てきたけど何のシェルスクリプトだとwhileじゃないと無理なの?

for i in `seq 1 N`
do
done
68デフォルトの名無しさん
垢版 |
2018/11/09(金) 01:08:12.62ID:lKBbVzA9
>>65
わざわざこのスレに自分の意地で書くならスレタイ的にちょっとは for ループにこだわれよ…
loop for とかあんだろ common lisp にも
2018/11/09(金) 01:28:34.79ID:8azqSzwj
そこであえて>>55
for(;;){}
とか要る?
2018/11/09(金) 01:30:01.79ID:8azqSzwj
>>55
はちょっとやりすぎか
>>41>>43
辺りでどや
2018/11/09(金) 01:31:47.50ID:8azqSzwj
for(;;){} 形式は、言っておくがすべてFortran由来だからな。
Fortranを嫌いなヤシもいるだろうけど
2018/11/09(金) 01:55:37.31ID:UVRb8J0Z
>>67
それfor inじゃん
カウンタ変数i を増やしているわけじゃない。
引数を順番に処理しているだけ
2018/11/09(金) 01:56:55.65ID:UVRb8J0Z
>>71
> for(;;){} 形式は、言っておくがすべてFortran由来だからな。

そこは、for(;;){} 形式はFortranが起源ニダって言ったほうが面白い
2018/11/09(金) 02:00:23.60ID:8azqSzwj
しらんがな日本人だからそんな言い方
75デフォルトの名無しさん
垢版 |
2018/11/09(金) 06:45:32.10ID:veS9VtLo
Fortran

do i=0,N-1
enddo
2018/11/09(金) 09:23:13.67ID:9aipcx/m
スレチ
2018/11/09(金) 11:40:48.93ID:Pe/1gD45
>>72
は?
目的は「0からNまで繰り返すようなこと」だろ?
2018/11/09(金) 12:18:17.58ID:UVRb8J0Z
>>77
forとfor inの違いは要素を処理しているかどうか

for i in `seq 1 N`
do
done

↑これは、コマンド呼び出し(forの機能ではない)をしていて
それを展開すると以下のように書いていることになる

for i in 1 2 3 4 ・・・ N
do
done

inの後にある要素を繰り返しながら処理しているのでこれはfor in
2018/11/09(金) 12:31:37.38ID:0q7AG6jo
>>78
で?
2018/11/09(金) 12:39:11.88ID:UVRb8J0Z
繰り返すが、forかfor inかの話をしているので、
で?の答えはシェルスクリプトにはfor inしかない

会話の流れぐらい読みましょうや


53 名前:デフォルトの名無しさん[sage] 投稿日:2018/11/06(火) 23:23:01.10 ID:ObpCKggA
factorってwhileやeachはあるけどforあったっけ?

54 名前:デフォルトの名無しさん[sage] 投稿日:2018/11/06(火) 23:51:18.81 ID:1dc764zg
Pythonのfor inも他で言えばforeachの方だゾ

56 自分:デフォルトの名無しさん[sage] 投稿日:2018/11/07(水) 00:55:09.54 ID:UCphLCxy
シェルスクリプトもだぞ
forはfor inしかない

0からNまで繰り返すようなことは
while使ってiをカウントしていくしか無い
2018/11/09(金) 12:54:40.61ID:0q7AG6jo
日本語が読めずにごねてるのはお前じゃん…
2018/11/09(金) 12:55:45.19ID:UVRb8J0Z
>>81
なら具体的にどこがおかしいか指摘してみて
2018/11/09(金) 13:10:44.06ID:0q7AG6jo
>>82
まずスレの方針は>>13で結論出てる

そして>>77
for in系でのコード例も散々出てるしな
n回繰り返しの実現方法がインデックス変数インクリメントじゃないと駄目とか言ってるのはお前だけ

forという単語こそが重要なのだとか言ってる奴もいるけど
2018/11/09(金) 13:19:07.43ID:9aipcx/m
forという単語こそが重要なのだ。
スレタイ読め。
for inはfor入ってるからおk。
whileはダメ。
2018/11/09(金) 13:25:58.13ID:UVRb8J0Z
>>83
スレの方針とは関係なく、
シェルスクリプトにはfor inしかないって話をしただけだけど?

え?お前、会話できてる?
2018/11/09(金) 13:47:51.67ID:0q7AG6jo
>>85
Bシェルにfor inしか無いことは誰も否定しとらんが
お前それで会話出来てるつもりなの?
2018/11/09(金) 13:56:59.18ID:UVRb8J0Z
否定とか何いってんの?

俺は会話の流れで、Pythonはオブジェクトを繰り返すfor inしかないって話が出たから
シェルスクリプトも同じだよって話をしただけ
ずっとその話をしてきてるのに、

な?なにそれ?意味わかんない。的なレスしてる
アホがいるんだろ

シェルスクリプトにfor inしかないという前提で、
アホは俺に何を言ったよ?
2018/11/09(金) 13:59:19.22ID:0q7AG6jo
>0からNまで繰り返すようなことは
>while使ってiをカウントしていくしか無い

散々他言語のfor inでのコード例が出てるのに
while使ってiをカウントしていくしか無いと言い切るからには
中にはそう言う仕様のもあるのかって思って聞いたんだが?
2018/11/09(金) 14:19:19.79ID:UVRb8J0Z
Pythonと同じって言っただけでーす
Pythonがわからないなら話しかけないでくださいー
2018/11/09(金) 16:23:31.92ID:oKKjGi0m
hspだよ
for i,0,8,1
next
2018/11/09(金) 16:30:28.33ID:0q7AG6jo
シェルスクリプトでn回ループを実現するにはwhileを使うしかないと言いきったのを無かった事にしてて草
2018/11/09(金) 19:43:10.68ID:UVRb8J0Z
>>91
あちゃー、そう勘違いしちゃってたのかーw
要素を繰り返すのではなくて
カウンタ変数をアップしていくのはwhileしかないって
しっかり書いてあるのにw
93デフォルトの名無しさん
垢版 |
2018/11/09(金) 20:56:39.43ID:EUp1VEAA
あれ、なんか揉めてる?
Haskellもfor無いからfor each的なのならmapとかfoldlだけど。

map (+1) [1..3]
>[2,3,4]

for的なのは、それにzipしたリスト渡す。

map (\( i, x)-> ( i, x + 1)) $ zip [0..] [1..3]
[(0,2),(1,3),(2,4)]
2018/11/09(金) 21:17:39.13ID:UVRb8J0Z
カウント変数を更新していくタイプと
要素を繰り返すタイプの区別がついてないんだろうねw
95デフォルトの名無しさん
垢版 |
2018/11/09(金) 22:00:19.10ID:EUp1VEAA
子供にアルゴリズム教えるために作られたGP0って言語も繰り返しはwhileしかないし、
別で変数用意すればfor的なこと出来るし良いんじゃね?
(現にHaskellでもfor的なこと書けてるし)

GP0(入出力すら省く潔さ。拡張版のGP0.5だと入出力含め色々使えるが)
https://forest.watch.impress.co.jp/docs/news/1132868.html
2018/11/09(金) 22:38:17.75ID:EekCHGSY
伸びてると思ったら自分の書いた文章すら読めない池沼が暴れてただけか
97デフォルトの名無しさん
垢版 |
2018/11/09(金) 23:07:21.93ID:OCVFLPBT
>0からNまで繰り返すようなことは
>while使ってiをカウントしていくしか無い

>カウンタ変数をアップしていくのはwhileしかないって
>しっかり書いてあるのにw

????
98デフォルトの名無しさん
垢版 |
2018/11/09(金) 23:26:35.19ID:zbV5OyFz
頭ワルイのは0から足すの?
なんで0足すの

なんでいちいちループさせて和を求めるの?

コレですむ
n * (n + 1) / 2

頭ワルイの?
中学生でもしってる
2018/11/09(金) 23:47:04.13ID:mMSBz7WQ
誰も等差数列の和の話なんてしてないし
初項1,公差1に限定した式とか使い道ねーな
さすが低知能低学歴の半角w
2018/11/10(土) 00:14:22.70ID:8OkJCHKT
>>97
for in 1 2 3 4 5
っていうのは、inの右側にある要素を処理してるだけなんだよ

例えば、1から100000まで処理するには
whileを使う場合は100000以下であることと比較命令を書いて
i=$((i+1)で1から100000までカウントアップしていくことになるが

for inを使うと要素を100000個渡さないといけない
手書きしない方法があるかの話はしてないよ。
for inにそれだけの数の要素を作って渡しているということ

そういう違いがあることは、流石にわかるよねぇ?

だから動きが全然違いますって言ってるのに
バカはその違いを理解できないw
101デフォルトの名無しさん
垢版 |
2018/11/10(土) 00:24:27.83ID:0iGN/oEh
>>97-100

>>95 の通りwhileでどっちも出来るから喧嘩しないの。
2018/11/10(土) 01:12:29.46ID:LDwQIelV
>>98
和を求めるって誰が言った?
2018/11/10(土) 01:16:54.04ID:nDRuNlgP
>>98-99
ワロタw
loop bodyで何をやるかは特に言及せず
bodyは空であってもforは各言語でどう書くか投稿するスレにおいて

loop bodyが+=1の場合は等差数列なのでloopせずともsumが算出できるという
スッテンコロリンするような、学歴云々以前に日本語を読めるのか心配になるようなレスをするとは、
さすがこの板一の障害者だけあるわ、半角先生
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況