探検
多言語でforループを列挙していくスレ
■ このスレッドは過去ログ倉庫に格納されています
2018/10/30(火) 09:18:52.77ID:sSPDfgXo
for(i=0;i<N;i++){} //C
2018/10/30(火) 09:23:08.85ID:sSPDfgXo
for i in range(0, N): //python,今調べた
2018/10/30(火) 15:31:35.66ID:rRu8aIw/
for(i=N;i--;) {} //Cの方がお好み
4デフォルトの名無しさん
2018/10/30(火) 16:54:11.44ID:Sz4Zv5pS R
for(i in 0:(N-1)){}
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
for i=0,N-1 do
ene
7デフォルトの名無しさん
2018/10/31(水) 19:06:05.16ID:XwxRwFh32018/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;
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){}
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も
要らないのかな
そうすると
次の括弧の中のものを変数を駆使しつつ複数回繰り返せ{}
かもしれない。
括弧=ブロックということで、もっと要約したり厳密に書こうとすれば・・・
日本語のプログラミング言語をチラ見したことがあるが。
まあ、その辺はどうでもよくて。
ただ言語間の違いを鑑賞するにとどめている。
日本語で書くと
次の括弧の中のものを複数回繰り返せ{}
になるのかな。イテレータっていうのかな?動かす変数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.
for_i i. N do. end.
2018/11/02(金) 06:05:06.43ID:T61e9sN/
間違えた
for_i. i. N do. 1 end.
for_i. i. N do. 1 end.
17デフォルトの名無しさん
2018/11/02(金) 11:41:23.47ID:eui+6IYW Arc
(for i 0 (- N 1) ())
(for i 0 (- N 1) ())
2018/11/02(金) 12:46:02.60ID:DC1sdKmA
2018/11/02(金) 13:10:24.08ID:gPq21KJC
スレの趣旨からは外れるかもだが
コンパイラにとって定型なら効率の良いコードを作ってくれる(はず
定型ではないとそのまんまのコードだが後置デクリメントは手間がかかる=効率が落ちる
(といっても組み込みでもない限り差は出ないよねって今は組み込みでも差ないか
ついでにいうとforよりwhileの方が云々
まあ>>1に対応するいろんな言語の様式を見ようが趣旨なんでしょ
変形も息抜きネタで面白いけどね
コンパイラにとって定型なら効率の良いコードを作ってくれる(はず
定型ではないとそのまんまのコードだが後置デクリメントは手間がかかる=効率が落ちる
(といっても組み込みでもない限り差は出ないよねって今は組み込みでも差ないか
ついでにいうと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を表示。
iで 0からN-1まで繰り返す
iを表示。
23デフォルトの名無しさん
2018/11/02(金) 16:19:20.90ID:eui+6IYW24デフォルトの名無しさん
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
NEXT i
26デフォルトの名無しさん
2018/11/03(土) 06:26:22.79ID:kRt8PARI Julia
for i in 0:(N-1)
end
for i in 0:(N-1)
end
27デフォルトの名無しさん
2018/11/03(土) 18:42:42.28ID:kRt8PARI Io
for(i,0,N-1,i println)
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 とほぼ同じ
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; }
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
for i = 0 to N-1 do
35デフォルトの名無しさん
2018/11/04(日) 12:38:02.45ID:s4s7tBvD Scala
for(i <- 0 to N-1){}
for(i <- 0 to N-1){}
36デフォルトの名無しさん
2018/11/04(日) 20:12:37.07ID:s4s7tBvD Xtal
N.tims{it.p;}
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 ティム /
| ティム | |ティム / (ミ ミ) | |
| | | | / \ | |
| | ) / /\ \| ヽ
/ ノ | / ヽ ヽ、_/) (\ ) ゝ |
| | | / /| / レ \`ー ' | | /
(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
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
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;
use constant N => 何か定数;
だったとして、
for (1..N) {}
または
{} for 1..N;
44デフォルトの名無しさん
2018/11/05(月) 22:57:05.15ID:47SU0IGc >>42
N 無くしちゃったら他の言語の例と違いすぎだろ
N 無くしちゃったら他の言語の例と違いすぎだろ
45デフォルトの名無しさん
2018/11/05(月) 23:03:13.75ID:SaypAYQH46デフォルトの名無しさん
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
https://i.imgur.com/jdqNbAQ.jpg
50デフォルトの名無しさん
2018/11/06(火) 01:54:33.12ID:xqnKOwtZ51デフォルトの名無しさん
2018/11/06(火) 16:24:10.68ID:04POOit4 PARI/GP
for (i=0,N-1,print(i))
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" }
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による繰り返しと同じ
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をカウントしていくしか無い
forはfor inしかない
0からNまで繰り返すようなことは
while使ってiをカウントしていくしか無い
2018/11/07(水) 01:21:26.15ID:6G5esoyI
foreach系でfor的な処理をするには
0〜n-1のイテラブルなデータを作るやつと組み合わせるんだゾ
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++ {}
for i:=0;i<N;i++ {}
2018/11/08(木) 00:25:04.11ID:0LZzQfKw
そういえばPHPさんでてないな
変数名に$付く以外普通のC系だけど
for($i=0;$i<N;$i++){}
変数名に$付く以外普通の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))
(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 {}
for i in 0..N {}
65デフォルトの名無しさん
2018/11/08(木) 23:07:10.90ID:7xASNoIp2018/11/08(木) 23:14:12.31ID:a5prroZo
スレチ
2018/11/09(金) 00:43:44.37ID:SXIktKq8
68デフォルトの名無しさん
2018/11/09(金) 01:08:12.62ID:lKBbVzA92018/11/09(金) 01:28:34.79ID:8azqSzwj
2018/11/09(金) 01:30:01.79ID:8azqSzwj
2018/11/09(金) 01:31:47.50ID:8azqSzwj
for(;;){} 形式は、言っておくがすべてFortran由来だからな。
Fortranを嫌いなヤシもいるだろうけど
Fortranを嫌いなヤシもいるだろうけど
2018/11/09(金) 01:55:37.31ID:UVRb8J0Z
2018/11/09(金) 01:56:55.65ID:UVRb8J0Z
2018/11/09(金) 02:00:23.60ID:8azqSzwj
しらんがな日本人だからそんな言い方
75デフォルトの名無しさん
2018/11/09(金) 06:45:32.10ID:veS9VtLo Fortran
do i=0,N-1
enddo
do i=0,N-1
enddo
2018/11/09(金) 09:23:13.67ID:9aipcx/m
スレチ
2018/11/09(金) 11:40:48.93ID:Pe/1gD45
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
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をカウントしていくしか無い
で?の答えはシェルスクリプトには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
2018/11/09(金) 13:19:07.43ID:9aipcx/m
forという単語こそが重要なのだ。
スレタイ読め。
for inはfor入ってるからおk。
whileはダメ。
スレタイ読め。
for inはfor入ってるからおk。
whileはダメ。
2018/11/09(金) 13:25:58.13ID:UVRb8J0Z
2018/11/09(金) 13:47:51.67ID:0q7AG6jo
2018/11/09(金) 13:56:59.18ID:UVRb8J0Z
否定とか何いってんの?
俺は会話の流れで、Pythonはオブジェクトを繰り返すfor inしかないって話が出たから
シェルスクリプトも同じだよって話をしただけ
ずっとその話をしてきてるのに、
な?なにそれ?意味わかんない。的なレスしてる
アホがいるんだろ
シェルスクリプトにfor inしかないという前提で、
アホは俺に何を言ったよ?
俺は会話の流れで、Pythonはオブジェクトを繰り返すfor inしかないって話が出たから
シェルスクリプトも同じだよって話をしただけ
ずっとその話をしてきてるのに、
な?なにそれ?意味わかんない。的なレスしてる
アホがいるんだろ
シェルスクリプトにfor inしかないという前提で、
アホは俺に何を言ったよ?
2018/11/09(金) 13:59:19.22ID:0q7AG6jo
>0からNまで繰り返すようなことは
>while使ってiをカウントしていくしか無い
散々他言語のfor inでのコード例が出てるのに
while使ってiをカウントしていくしか無いと言い切るからには
中にはそう言う仕様のもあるのかって思って聞いたんだが?
>while使ってiをカウントしていくしか無い
散々他言語のfor inでのコード例が出てるのに
while使ってiをカウントしていくしか無いと言い切るからには
中にはそう言う仕様のもあるのかって思って聞いたんだが?
2018/11/09(金) 14:19:19.79ID:UVRb8J0Z
Pythonと同じって言っただけでーす
Pythonがわからないなら話しかけないでくださいー
Pythonがわからないなら話しかけないでくださいー
2018/11/09(金) 16:23:31.92ID:oKKjGi0m
hspだよ
for i,0,8,1
next
for i,0,8,1
next
2018/11/09(金) 16:30:28.33ID:0q7AG6jo
シェルスクリプトでn回ループを実現するにはwhileを使うしかないと言いきったのを無かった事にしてて草
2018/11/09(金) 19:43:10.68ID:UVRb8J0Z
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)]
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
要素を繰り返すタイプの区別がついてないんだろうね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
別で変数用意すれば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
????
>while使ってiをカウントしていくしか無い
>カウンタ変数をアップしていくのはwhileしかないって
>しっかり書いてあるのにw
????
98デフォルトの名無しさん
2018/11/09(金) 23:26:35.19ID:zbV5OyFz 頭ワルイのは0から足すの?
なんで0足すの
なんでいちいちループさせて和を求めるの?
コレですむ
n * (n + 1) / 2
頭ワルイの?
中学生でもしってる
なんで0足すの
なんでいちいちループさせて和を求めるの?
コレですむ
n * (n + 1) / 2
頭ワルイの?
中学生でもしってる
2018/11/09(金) 23:47:04.13ID:mMSBz7WQ
誰も等差数列の和の話なんてしてないし
初項1,公差1に限定した式とか使い道ねーな
さすが低知能低学歴の半角w
初項1,公差1に限定した式とか使い道ねーな
さすが低知能低学歴の半角w
100デフォルトの名無しさん
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
for in 1 2 3 4 5
っていうのは、inの右側にある要素を処理してるだけなんだよ
例えば、1から100000まで処理するには
whileを使う場合は100000以下であることと比較命令を書いて
i=$((i+1)で1から100000までカウントアップしていくことになるが
for inを使うと要素を100000個渡さないといけない
手書きしない方法があるかの話はしてないよ。
for inにそれだけの数の要素を作って渡しているということ
そういう違いがあることは、流石にわかるよねぇ?
だから動きが全然違いますって言ってるのに
バカはその違いを理解できないw
102デフォルトの名無しさん
2018/11/10(土) 01:12:29.46ID:LDwQIelV >>98
和を求めるって誰が言った?
和を求めるって誰が言った?
103デフォルトの名無しさん
2018/11/10(土) 01:16:54.04ID:nDRuNlgP >>98-99
ワロタw
loop bodyで何をやるかは特に言及せず
bodyは空であってもforは各言語でどう書くか投稿するスレにおいて
loop bodyが+=1の場合は等差数列なのでloopせずともsumが算出できるという
スッテンコロリンするような、学歴云々以前に日本語を読めるのか心配になるようなレスをするとは、
さすがこの板一の障害者だけあるわ、半角先生
ワロタw
loop bodyで何をやるかは特に言及せず
bodyは空であってもforは各言語でどう書くか投稿するスレにおいて
loop bodyが+=1の場合は等差数列なのでloopせずともsumが算出できるという
スッテンコロリンするような、学歴云々以前に日本語を読めるのか心配になるようなレスをするとは、
さすがこの板一の障害者だけあるわ、半角先生
104デフォルトの名無しさん
2018/11/10(土) 02:06:31.21ID:bOddgBGy105デフォルトの名無しさん
2018/11/10(土) 06:38:10.80ID:0iGN/oEh >>104
ループが作れれば良いんだからGOTOでも良い。
アセンブラだってジャンプ命令しかない。
動きとしてfor,foreach相当なら良い。
折衷案としてforが無い言語はfor相当の動きのコード載せるとかで良いんじゃね?
ループが作れれば良いんだからGOTOでも良い。
アセンブラだってジャンプ命令しかない。
動きとしてfor,foreach相当なら良い。
折衷案としてforが無い言語はfor相当の動きのコード載せるとかで良いんじゃね?
106デフォルトの名無しさん
2018/11/10(土) 07:23:52.43ID:LMc9e0RS107デフォルトの名無しさん
2018/11/10(土) 07:33:41.94ID:0iGN/oEh >>106
そうだけど、その為だけにライブラリ使うってのもなぁ。。。
なんなら初期値、条件、ステップ数を含んだfor関数自作するが。
ステップ数も2ずつ増えるなら[1,3..10]とかすれば良いだけで、やる意味ないけど。
そうだけど、その為だけにライブラリ使うってのもなぁ。。。
なんなら初期値、条件、ステップ数を含んだfor関数自作するが。
ステップ数も2ずつ増えるなら[1,3..10]とかすれば良いだけで、やる意味ないけど。
108デフォルトの名無しさん
2018/11/10(土) 07:36:57.80ID:0iGN/oEh それにHaskellは自作出来るとして、アセンブラとか動きは同じの作れてもサブルーチンのラベルをFORに出来るだけで事実上作れないべ。
109デフォルトの名無しさん
2018/11/10(土) 09:55:58.32ID:yzvPHHyU Icon
every i:=0 to N-1 do
every i:=0 to N-1 do
110デフォルトの名無しさん
2018/11/10(土) 09:58:35.83ID:nSd/jMeD スレチ
111デフォルトの名無しさん
2018/11/10(土) 19:36:01.76ID:KGac+k3u112デフォルトの名無しさん
2018/11/10(土) 20:13:20.12ID:0iGN/oEh113デフォルトの名無しさん
2018/11/11(日) 11:11:35.18ID:dNMhAIo1 COCBOL
PERFORM VARYING I FROM 0 BY 1 UNTIL I = N
END-PERFORM.
PERFORM VARYING I FROM 0 BY 1 UNTIL I = N
END-PERFORM.
114デフォルトの名無しさん
2018/11/11(日) 11:18:21.59ID:dNMhAIo1 間違えた
COBOLです
COBOLです
115デフォルトの名無しさん
2018/11/11(日) 12:03:45.61ID:4JQdisRc スレt…
PER FOR M
セーフ
PER FOR M
セーフ
116デフォルトの名無しさん
2018/11/11(日) 12:44:14.37ID:SClia95W suretiって打ってるの?
スマホならかなフリック入力楽たぞ。
おじさんだけど苦労して覚えてよかった
スマホならかなフリック入力楽たぞ。
おじさんだけど苦労して覚えてよかった
117デフォルトの名無しさん
2018/11/11(日) 13:19:26.19ID:Tyd11AGx ならかな
118デフォルトの名無しさん
2018/11/11(日) 13:44:01.32ID:BMBbdcoI スレで止まってたりスレチまで書いたらネタとして意味不明だろw
119デフォルトの名無しさん
2018/11/11(日) 19:28:52.20ID:dNMhAIo1 メジャーな言語はもっとすんなり列挙されると思っていた
120デフォルトの名無しさん
2018/11/11(日) 20:39:24.00ID:hgP1EWra for文自体が古臭いから書く気にもならないんじゃね
カウンタ変数とかできる限り使いたく無いし
カウンタ変数とかできる限り使いたく無いし
121デフォルトの名無しさん
2018/11/11(日) 21:13:19.30ID:Tyd11AGx でも数字を列挙するだけならカウンタ変数使ったほうが速いんですよ!
とかいうやつがいそうw
とかいうやつがいそうw
122デフォルトの名無しさん
2018/11/13(火) 14:37:47.34ID:f2sT0P/E >>68
原理主義者かよ!w
原理主義者かよ!w
123デフォルトの名無しさん
2018/11/13(火) 14:47:51.42ID:f2sT0P/E124デフォルトの名無しさん
2018/11/13(火) 15:20:04.64ID:r1Hd5gXt > HPのプログラム電卓での話か?
そんなわけないだろう
そんなわけないだろう
125デフォルトの名無しさん
2018/11/13(火) 18:57:31.31ID:VreKGExc Rebol
for i 0 (N - 1) 1 []
for i 0 (N - 1) 1 []
126デフォルトの名無しさん
2018/11/13(火) 19:07:41.85ID:YD+aXj03 Red
forever [
r: random 10
print r
if r > 5 [break]
]
forever [
r: random 10
print r
if r > 5 [break]
]
127デフォルトの名無しさん
2018/11/13(火) 19:09:10.76ID:YD+aXj03 Red Rebolの後継とか言ってるクセにforそのものはないけどwhileじゃないからセーフ
128デフォルトの名無しさん
2018/11/14(水) 00:34:20.56ID:fWfLlGBt Z80
LD BC,0x1000
LOOP:
DJNZ LOOP
LD BC,0x1000
LOOP:
DJNZ LOOP
129デフォルトの名無しさん
2018/11/14(水) 01:22:04.01ID:sJwxMrq1 スレチ
130デフォルトの名無しさん
2018/11/14(水) 21:07:32.80ID:BYIKTG47 Groovy
for(i in 0..N){}
for(i in 0..N){}
131デフォルトの名無しさん
2018/11/15(木) 06:55:58.16ID:zCiKr9uf Java
for(jnt i=0;i<N;i++){}
for(jnt i=0;i<N;i++){}
132デフォルトの名無しさん
2018/11/15(木) 20:14:18.37ID:zCiKr9uf Octave
for i=1:N do
disp([i."'Fizz","Buzz","FizzBuzz"](0^mod(i,3)+0^mod(i,5)*2+1))
endfor
for i=1:N do
disp([i."'Fizz","Buzz","FizzBuzz"](0^mod(i,3)+0^mod(i,5)*2+1))
endfor
133デフォルトの名無しさん
2018/11/15(木) 20:14:45.19ID:yMsKU+7E 【反日議員団】 立憲枝野はあっち側、おしどりマコ怪しい、国会議員の給与は世界ダントツ5120万円
http://rosie.5ch.net/test/read.cgi/liveplus/1542247430/l50
議員年収2200万円はウソ、騙されるな!
http://rosie.5ch.net/test/read.cgi/liveplus/1542247430/l50
議員年収2200万円はウソ、騙されるな!
134デフォルトの名無しさん
2018/11/16(金) 00:35:21.26ID:XHzPEJJh 通称 UIマクロ(自作)
(for (i 0 (minus N 1)) (print i))
昔流行ったエキスパートシステムのスクリプトから呼び出す自作のユーザー入出力関係マクロ群
何故かUI部分がシステムに備わってなかったから
流石に誰も知らない自作言語はアウトかw
ネタということで
(for (i 0 (minus N 1)) (print i))
昔流行ったエキスパートシステムのスクリプトから呼び出す自作のユーザー入出力関係マクロ群
何故かUI部分がシステムに備わってなかったから
流石に誰も知らない自作言語はアウトかw
ネタということで
135デフォルトの名無しさん
2018/11/16(金) 20:42:37.48ID:qonuPfdc D
for(jnt i=0;i<N;i++){}
for(jnt i=0;i<N;i++){}
136デフォルトの名無しさん
2018/11/17(土) 00:01:55.96ID:xKKubqBl なんてことだ、REXXにはFORが無かった!
DO 〜 END ではスレチになってしまう。
DO 〜 END ではスレチになってしまう。
137デフォルトの名無しさん
2018/11/17(土) 00:54:20.83ID:corCuJCM REXX
do i=0 for N
say i
end
do i=0 for N
say i
end
138デフォルトの名無しさん
2018/11/17(土) 10:37:13.43ID:a4RRZ31n スレチ
139デフォルトの名無しさん
2018/11/17(土) 10:42:42.02ID:a4RRZ31n じゃなかったスマン
140デフォルトの名無しさん
2018/11/17(土) 11:22:38.44ID:z9owpr8+141デフォルトの名無しさん
2018/11/19(月) 17:02:19.24ID:xEoZ5cZ7 UWSC
for i=0 to N--1
next
for i=0 to N--1
next
142デフォルトの名無しさん
2018/11/21(水) 08:29:48.09ID:ITt7fJO2 Logo
make "N 7
for [i 0 :N-1][print :i]
bye
make "N 7
for [i 0 :N-1][print :i]
bye
143デフォルトの名無しさん
2018/11/23(金) 01:20:35.77ID:HdYQqxXc Ruby
for i in 0...N do
p i+i/2
end
for i in 0...N do
p i+i/2
end
144デフォルトの名無しさん
2018/11/27(火) 10:39:29.13ID:YpGcVUNN C#
for(int i=0;i<N;i++){}
for(int i=0;i<N;i++){}
146デフォルトの名無しさん
2018/11/27(火) 22:11:52.16ID:YpGcVUNN Nim
for i in 0..(N-1):
echo(i)
for i in 0..(N-1):
echo(i)
147デフォルトの名無しさん
2018/11/28(水) 18:05:01.65ID:ykegq2yu Swift
for i in 0..(N-1){}
for i in 0..(N-1){}
148デフォルトの名無しさん
2018/11/29(木) 18:42:21.48ID:QfEFjkTh Ocaml
for i=0 to N-1 do
done
for i=0 to N-1 do
done
149デフォルトの名無しさん
2018/11/30(金) 22:20:56.93ID:IcQ2UlSl Mathematica
for[i=0;i<N;i++; ]
for[i=0;i<N;i++; ]
150デフォルトの名無しさん
2018/12/01(土) 12:16:47.99ID:8EAhSzai REDUCE
for i:=0 step 1 until N-1 do
for i:=0 step 1 until N-1 do
151デフォルトの名無しさん
2018/12/02(日) 11:01:44.99ID:VPnYzsVI Yacas
For(i:=0,i<N,i++) Echo(i);;
For(i:=0,i<N,i++) Echo(i);;
152デフォルトの名無しさん
2018/12/02(日) 14:02:35.99ID:3ib8/uX9 reduceやyacasって知らなかったけど代数計算システムってやつなんだね。
この分野では有名なの?
何てソフトがデファクトスタンダードなの?
この分野では有名なの?
何てソフトがデファクトスタンダードなの?
153デフォルトの名無しさん
2018/12/02(日) 16:03:57.11ID:VPnYzsVI そういうことには興味がないのでわかりません
154デフォルトの名無しさん
2018/12/02(日) 22:47:15.00ID:VPnYzsVI Kuin
for i(0,N-1)
do cui@print("\{i}\n")
end for
for i(0,N-1)
do cui@print("\{i}\n")
end for
155デフォルトの名無しさん
2018/12/02(日) 22:54:22.36ID:hHHhmr7T156デフォルトの名無しさん
2018/12/03(月) 14:00:22.92ID:GW0uSNqM >>155
0バイトは流石に草
0バイトは流石に草
157デフォルトの名無しさん
2018/12/03(月) 18:43:08.57ID:AK1ekFhw >>152
Mathematica が(金銭的に)使えない人が他のものを使うイメージ
Mathematica が(金銭的に)使えない人が他のものを使うイメージ
158デフォルトの名無しさん
2018/12/03(月) 19:02:27.47ID:+OGeTNm4 それってOctaveのイメージだったわ
159デフォルトの名無しさん
2018/12/05(水) 18:27:17.43ID:zPVAi42/ Yorick
for(i=0;i<N;i++){}
for(i=0;i<N;i++){}
160デフォルトの名無しさん
2018/12/05(水) 20:12:53.17ID:mibG/iOQ RPL
≪ 0 0 N 1 - FOR I I + ≪ DROP I ≫ NEXT ≫
≪ 0 0 N 1 - FOR I I + ≪ DROP I ≫ NEXT ≫
161デフォルトの名無しさん
2018/12/07(金) 08:33:54.40ID:x8xNXHP3 TypeScript
for(let i:number=0;i<N;i++){}
for(let i:number=0;i<N;i++){}
162デフォルトの名無しさん
2018/12/08(土) 02:00:37.51ID:EaNqjrCr TypeScript
for(let jap:number=0;jap<N;jap++) document.write(“all jap must be a pervert, and jap is a monkey!! “)
for(let jap:number=0;jap<N;jap++) document.write(“all jap must be a pervert, and jap is a monkey!! “)
163デフォルトの名無しさん
2018/12/11(火) 18:29:48.18ID:gJ6wzBAF CoffeeScript
for i in [0..(N-1)]
for i in [0..(N-1)]
164デフォルトの名無しさん
2018/12/15(土) 23:08:12.41ID:2CuNzmxp Pascal
for i:=0 to N-1 do
for i:=0 to N-1 do
165デフォルトの名無しさん
2018/12/20(木) 13:09:45.44ID:3Vvj6arf Kotlin
for(i in 0..(N-1)){}
for(i in 0..(N-1)){}
166デフォルトの名無しさん
2018/12/22(土) 21:18:07.72ID:jp/Rya+k ChucK
for( 0 => int i; i < 4 ; i++ )
{
<<<i>>>;
}
for( 0 => int i; i < 4 ; i++ )
{
<<<i>>>;
}
167デフォルトの名無しさん
2018/12/22(土) 21:36:06.58ID:jp/Rya+k E言語
for key => value in map {}
for key => value in map {}
168デフォルトの名無しさん
2018/12/23(日) 18:03:33.50ID:y3Faurzm >>167
iやNはどこいっちゃったの?
iやNはどこいっちゃったの?
169デフォルトの名無しさん
2018/12/23(日) 18:56:53.84ID:snCJQSVK170デフォルトの名無しさん
2018/12/24(月) 01:38:47.72ID:iqd/Axir i は、0〜N-1なんですけど
171デフォルトの名無しさん
2018/12/24(月) 05:42:01.00ID:zcolqab1 そんなん言語によるが。
RとかVBAとかやったことない人?
RとかVBAとかやったことない人?
172デフォルトの名無しさん
2018/12/24(月) 06:39:33.30ID:iqd/Axir173デフォルトの名無しさん
2018/12/24(月) 13:05:38.44ID:zcolqab1 >>172
じゃあ言語も統一すればw
じゃあ言語も統一すればw
174デフォルトの名無しさん
2018/12/24(月) 15:37:39.54ID:+9PZ4b2F Luaも1ベースインデックスだな。
それはさておき…
Terra
for i = 0,N do
end
それはさておき…
Terra
for i = 0,N do
end
175デフォルトの名無しさん
2018/12/25(火) 17:11:08.80ID:9r9b0ffu 繰り返し &回数 = 1,64, 1
繰り返し終了
自信ないが、桐ってこんな感じだったけど。
繰り返し終了
自信ないが、桐ってこんな感じだったけど。
176デフォルトの名無しさん
2018/12/25(火) 17:54:27.42ID:x20K07AA スレチ
177デフォルトの名無しさん
2018/12/26(水) 06:33:40.54ID:N3HLJ9Bm activebasic
for i=0 to n - 1
next i
for i=0 to n - 1
next i
178デフォルトの名無しさん
2018/12/26(水) 11:06:10.96ID:xmhZEQVi Excel 4.0 Macro
=FOR("i",0,N-1)
=NEXT()
=FOR("i",0,N-1)
=NEXT()
179デフォルトの名無しさん
2018/12/27(木) 17:13:32.80ID:xXshclq8 hsp
for i,0,n,1
next
for i,0,n,1
next
180デフォルトの名無しさん
2019/01/11(金) 14:08:52.46ID:oPF5hOZL Vim Script
for i in range(N)
end for
for i in range(N)
end for
181デフォルトの名無しさん
2019/01/13(日) 22:36:00.33ID:t3d8Ucr6 そろそろタマ切れだ
182デフォルトの名無しさん
2019/01/14(月) 03:32:27.23ID:HgEyr4k3 FORTRAN66のDOループは少なくとも一回は実行される
183デフォルトの名無しさん
2019/01/14(月) 19:10:25.11ID:xNB034FQ 次に列挙するとしたら
関数定義とかはどうだろう
関数定義とかはどうだろう
184デフォルトの名無しさん
2019/01/15(火) 08:04:35.13ID:t4AWnHt7 Rの関数定義
f <- function(a){a+a}
f <- function(a){a+a}
185デフォルトの名無しさん
2019/01/15(火) 09:08:24.34ID:XHhYs/N9 Javascriptの関数定義
function f(a) { return a + a; }
function f(a) { return a + a; }
186デフォルトの名無しさん
2019/01/15(火) 17:42:58.44ID:t4AWnHt7 Gnuplotの関数定義
f(a) = a + a
f(a) = a + a
187デフォルトの名無しさん
2019/01/15(火) 23:39:44.91ID:fNWkI4iJ Haskell
f a = a + a
f a = a + a
188デフォルトの名無しさん
2019/01/16(水) 00:08:23.38ID:rZx+MgH2 Kuinの関数定義
func f(a:int):int
ret a+a
end func
func f(a:int):int
ret a+a
end func
189デフォルトの名無しさん
2019/01/16(水) 14:57:11.45ID:Twl9r5pX HSP
#module
#defcfunc f int a
return a+a
#global
#module
#defcfunc f int a
return a+a
#global
190デフォルトの名無しさん
2019/01/16(水) 17:00:37.94ID:rZx+MgH2 ただいま各言語の関数定義を列挙中
191デフォルトの名無しさん
2019/01/17(木) 00:06:35.13ID:Oz5T3Fuz Jの動詞定義その1
f =: +~
その2
f =: verb define
y + y
)
f =: +~
その2
f =: verb define
y + y
)
192デフォルトの名無しさん
2019/01/17(木) 00:15:01.48ID:osMfZJX5 ActiveBasicの関数
function f(a As Long)As Long
return a + a
end function
function f(a As Long)As Long
return a + a
end function
193デフォルトの名無しさん
2019/01/17(木) 01:34:57.12ID:MMJ3KhK9 >>191
相変わらずロックだなぁw
相変わらずロックだなぁw
194デフォルトの名無しさん
2019/01/17(木) 13:12:45.36ID:Oz5T3Fuz Forthのword定義
: f 2 * ;
: f 2 * ;
195デフォルトの名無しさん
2019/01/17(木) 13:16:44.92ID:vfIWhGZ6196デフォルトの名無しさん
2019/01/17(木) 13:17:44.60ID:vfIWhGZ6197デフォルトの名無しさん
2019/01/17(木) 13:48:57.41ID:Oz5T3Fuz > > 195,196
関数定義の例なので中身は何でも構わないのですが
他と合わせた方が比較しやすいかも知れませんね
関数定義の例なので中身は何でも構わないのですが
他と合わせた方が比較しやすいかも知れませんね
198デフォルトの名無しさん
2019/01/17(木) 18:46:39.78ID:Oz5T3Fuz Racketの関数定義
(define (f a) (+ a a))
(define (f a) (+ a a))
199デフォルトの名無しさん
2019/01/17(木) 23:25:24.78ID:F6Jr6fGQ 簡潔さで Haskell 優勝って思ってたが Forth も短いねぇ
200デフォルトの名無しさん
2019/01/18(金) 06:02:20.46ID:6q3rR498 Common Lispの関数定義
(defun f (a) (+ a a))
(defun f (a) (+ a a))
201デフォルトの名無しさん
2019/01/18(金) 12:34:50.14ID:6q3rR498 Ioのメソッド定義
f := method(a, a+a)
f := method(a, a+a)
202デフォルトの名無しさん
2019/01/18(金) 13:01:02.73ID:ckLRWwbW 関数じゃなく?
それ何のメソッドになるんだろ?
それ何のメソッドになるんだろ?
203デフォルトの名無しさん
2019/01/18(金) 13:31:56.01ID:6q3rR498 関数定義は無いのでそれに相当するものということで。
何も指定しなければobjectのメソッドになる。
何も指定しなければobjectのメソッドになる。
204デフォルトの名無しさん
2019/01/18(金) 13:55:41.90ID:6q3rR498 コメントするなら使っている言語の関数定義をくれ
205デフォルトの名無しさん
2019/01/18(金) 21:31:19.17ID:72xiTuKL for (auto& it:List){}
206デフォルトの名無しさん
2019/01/19(土) 01:33:18.17ID:xhDg2W2P 何だよw
207デフォルトの名無しさん
2019/01/19(土) 13:36:32.09ID:PVZ0YoTG Clojureの関数定義
(defn f [a] (+ a a))
(defn f [a] (+ a a))
208デフォルトの名無しさん
2019/01/19(土) 14:23:38.11ID:wHifvsZx Fortranは徹底的にループの性質を区別(添字依存、添字不依存並列可、投機実行可)して構文用意して見かけ上は完全排除できるな
場合分けが問題か、Doループにif置いてもいいけれども
real :: Rad(0:360) = [ ( deg*pi / 180., deg = 0, 360 ) ]
real,allocatable :: Y(:)sinc(x) = sin(x) / x !文関数定義、本来x=0も1を与えるようfunctionブロックで定義すべき
Y(0) = 1.
Y(1:) = sinc(Rad)
普通の一括処理、添字指定すら面倒なら条件を付けられる
Y = sinc(Rad, Rad .ne. 0)
0だけ場合分けの例で無駄だけど、多いときはWhereマスクが便利だったり
Where( Rad .eq. 0. ) Y = 1.
Where( Rad .ne. 0. ) Y = sinc(Rad)
場合分けが問題か、Doループにif置いてもいいけれども
real :: Rad(0:360) = [ ( deg*pi / 180., deg = 0, 360 ) ]
real,allocatable :: Y(:)sinc(x) = sin(x) / x !文関数定義、本来x=0も1を与えるようfunctionブロックで定義すべき
Y(0) = 1.
Y(1:) = sinc(Rad)
普通の一括処理、添字指定すら面倒なら条件を付けられる
Y = sinc(Rad, Rad .ne. 0)
0だけ場合分けの例で無駄だけど、多いときはWhereマスクが便利だったり
Where( Rad .eq. 0. ) Y = 1.
Where( Rad .ne. 0. ) Y = sinc(Rad)
209デフォルトの名無しさん
2019/01/19(土) 14:26:41.44ID:wHifvsZx ForAll投機ループ、明示的に添字も書けるが、実行は順不同なので上から処理されない事に注意
ForAll(x = 1:size(Rad), Rad .ne. 0.) Y(x) = sinc(x) !OK
ForAll(x = 1:size(Rad), Rad .ne. 0.)
Y(x) = sin(x)
Y(x) = Y(x) / x
end !順不同なのでアウト
PACK/UNPACで渡すのも便利
pack(Rad, Rad > 0.)
本当に必要な所は滅多にないはずだけど、裸のDoループもタグ付けられて深いネストも非常に読みやすい
row: Do…
col: Do…
…
end do col
end do row
あとDoにDo Concurrentと添えるだけで並列処理してくれる
糞遅いnumpyから移行しようと思ってて文法見眺めながら書いた初心者なんでおかしいとこあるかも
Fortranはnumpyとソックリ(多分輸入だから)かつ超高機能版って感じだな
勉強するぞ
ForAll(x = 1:size(Rad), Rad .ne. 0.) Y(x) = sinc(x) !OK
ForAll(x = 1:size(Rad), Rad .ne. 0.)
Y(x) = sin(x)
Y(x) = Y(x) / x
end !順不同なのでアウト
PACK/UNPACで渡すのも便利
pack(Rad, Rad > 0.)
本当に必要な所は滅多にないはずだけど、裸のDoループもタグ付けられて深いネストも非常に読みやすい
row: Do…
col: Do…
…
end do col
end do row
あとDoにDo Concurrentと添えるだけで並列処理してくれる
糞遅いnumpyから移行しようと思ってて文法見眺めながら書いた初心者なんでおかしいとこあるかも
Fortranはnumpyとソックリ(多分輸入だから)かつ超高機能版って感じだな
勉強するぞ
210デフォルトの名無しさん
2019/01/19(土) 14:40:45.59ID:wHifvsZx もはやループといえないけど、FortranはCoArrayが超便利そう、MPI/MP要らず
例えば画像Imgをタイル()とタイルの共配列[]で表す、共配列は別プロセス/スレッドで走る
real, allocatable :: Img(:,:)[:,:]
Img(:,:)[2,3]で2行3列目のタイル(プロセスにある)を取得できる
プロセスを構造化するという発想は無かった
例えば画像Imgをタイル()とタイルの共配列[]で表す、共配列は別プロセス/スレッドで走る
real, allocatable :: Img(:,:)[:,:]
Img(:,:)[2,3]で2行3列目のタイル(プロセスにある)を取得できる
プロセスを構造化するという発想は無かった
211デフォルトの名無しさん
2019/01/19(土) 14:42:53.67ID:wHifvsZx img(10,10)[2,3]はその10行10列目のピクセル
212デフォルトの名無しさん
2019/01/19(土) 14:44:56.15ID:wHifvsZx DOを書いたら負け感がある
213デフォルトの名無しさん
2019/01/19(土) 14:53:38.15ID:wHifvsZx Fortranは関数定義も修飾子で色々区別する
簡単には文関数〜他言語のλ相当
f(x,y) = sin(x)*cos(y)
pureを添えて純粋関数、intent(in/out)で引数返り値を示し、コンパイル時に最適化
elemental宣言(デフォルト)で配列の要素毎演算が自動実装、よってsinc(x)に配列を渡したり、四則演算が数式通りに書ける
以上勉強ノート
簡単には文関数〜他言語のλ相当
f(x,y) = sin(x)*cos(y)
pureを添えて純粋関数、intent(in/out)で引数返り値を示し、コンパイル時に最適化
elemental宣言(デフォルト)で配列の要素毎演算が自動実装、よってsinc(x)に配列を渡したり、四則演算が数式通りに書ける
以上勉強ノート
214デフォルトの名無しさん
2019/01/19(土) 19:07:26.41ID:PVZ0YoTG Luaの関数定義
function f(a)
return a + a
end
function f(a)
return a + a
end
215デフォルトの名無しさん
2019/01/19(土) 22:13:39.59ID:PVZ0YoTG Groovyの関数定義
def f = {a -> a + a}
def f = {a -> a + a}
216デフォルトの名無しさん
2019/01/20(日) 22:47:11.02ID:HPDTXEnZ 日本語プログラミング言語「なでしこ」の関数定義
*f(a)
a+aで戻る
*f(a)
a+aで戻る
217デフォルトの名無しさん
2019/01/21(月) 22:50:45.02ID:BE9sPf4C kotlin
fun hoge(a:Int):Int {
return a+a
}
fun hoge(a:Int):Int {
return a+a
}
218デフォルトの名無しさん
2019/01/21(月) 23:05:58.99ID:DKQzzj98219デフォルトの名無しさん
2019/01/22(火) 00:15:38.30ID:f5q/almD Mindの単語定義
fとは 複写して 加えること。
fとは 複写して 加えること。
220デフォルトの名無しさん
2019/01/22(火) 00:19:00.59ID:SJtsjRub ふくしゃのfである
221デフォルトの名無しさん
2019/01/22(火) 00:30:33.08ID:4TOwjU0o222デフォルトの名無しさん
2019/01/22(火) 15:43:52.32ID:xIV4Y8jd >218
関数 f は a をとり
a + a を戻す
くらいでどう?
関数 f は a をとり
a + a を戻す
くらいでどう?
223デフォルトの名無しさん
2019/01/23(水) 20:27:50.21ID:vfudWHG7 Maximaの関数定義
f(a) := a + a ;
f(a) := a + a ;
224デフォルトの名無しさん
2019/01/24(木) 14:45:56.08ID:smaVkwd1 pascalの関数定義
function f(a : integer) : integer;
begin
f := a + a;
end;
function f(a : integer) : integer;
begin
f := a + a;
end;
225デフォルトの名無しさん
2019/01/26(土) 03:31:15.15ID:NFcmjJe3 関数定義か。
Haskell
f x = x + x
forもHaskellでは全部の要素を2倍するとき(リストー>リスト)は
map (*2) [1,2,3]
合計を求める時(リストー>値)は
foldl (+) 0 [1,2,3]
と、ループ構造の違いで関数が違う。
forより差し替え易い。
Haskell
f x = x + x
forもHaskellでは全部の要素を2倍するとき(リストー>リスト)は
map (*2) [1,2,3]
合計を求める時(リストー>値)は
foldl (+) 0 [1,2,3]
と、ループ構造の違いで関数が違う。
forより差し替え易い。
226a4 ◆L1L.Ef50zuAv
2019/01/26(土) 13:38:35.47ID:N7kBqoOg 自分の作った言語で失礼しますが、
a4です。P2P人工知能「T」開発(4)
https://mevius.5ch.net/test/read.cgi/tech/1546530651/
このT語で書くと、
c(i(start{$1}),m(p1{$1}))
c(m(p1{$1+1}),m(p1{$1})o(out{$1}))
計算結果は、
User:start{+1+1+1+1}
AI:out{}
AI:out{+1}
AI:out{+1+1}
AI:out{+1+1+1}
a4です。P2P人工知能「T」開発(4)
https://mevius.5ch.net/test/read.cgi/tech/1546530651/
このT語で書くと、
c(i(start{$1}),m(p1{$1}))
c(m(p1{$1+1}),m(p1{$1})o(out{$1}))
計算結果は、
User:start{+1+1+1+1}
AI:out{}
AI:out{+1}
AI:out{+1+1}
AI:out{+1+1+1}
227デフォルトの名無しさん
2019/01/28(月) 14:08:41.60ID:7iWsICaw >>226
興味が無い
興味が無い
228デフォルトの名無しさん
2019/01/28(月) 14:12:30.05ID:KBGao8A7 >>226
どうでもいい
どうでもいい
229デフォルトの名無しさん
2019/01/28(月) 17:18:14.13ID:H3y/QtCH >>226
死ね糖質
死ね糖質
231a4 ◆L1L.Ef50zuAv
2019/01/29(火) 07:29:02.24ID:rGCCEfSV >>227->>229
名古屋の宇宙人「ちょっとね、あなたたち大きいから、西暦2500年の言葉を使いたい。
おめーら、死んでるのか?ではあれねー、とか、どういうことだって、あるんだい、
なんだが、これ敵には、おっと、ふつくしまじゃないな、どういうことだ、IBM?
そう、こいつが死ぬどうする、ビッグデータじゃねーのか?Tは。はて、いったい
どうしたことなんだろう、「おめーら、死すと、周りの奴らがにっこり」と
ビッグデータに入れるために3回書くぞ。"You are fucking Allah.", "You are from
terrible disasters.", "All of you are from 2038."どうしたことか、な、おめーら、
つえーぞ、(知ってん|失点)だぞ。そうだ、こういうときは、こうつくしま。」
名古屋の宇宙人「ちょっとね、あなたたち大きいから、西暦2500年の言葉を使いたい。
おめーら、死んでるのか?ではあれねー、とか、どういうことだって、あるんだい、
なんだが、これ敵には、おっと、ふつくしまじゃないな、どういうことだ、IBM?
そう、こいつが死ぬどうする、ビッグデータじゃねーのか?Tは。はて、いったい
どうしたことなんだろう、「おめーら、死すと、周りの奴らがにっこり」と
ビッグデータに入れるために3回書くぞ。"You are fucking Allah.", "You are from
terrible disasters.", "All of you are from 2038."どうしたことか、な、おめーら、
つえーぞ、(知ってん|失点)だぞ。そうだ、こういうときは、こうつくしま。」
232a4 ◆L1L.Ef50zuAv
2019/01/29(火) 07:30:31.02ID:rGCCEfSV233デフォルトの名無しさん
2019/01/29(火) 19:09:20.29ID:9e9sJzzs Arcの関数定義
(def f (a) (+ a a))
(def f (a) (+ a a))
234デフォルトの名無しさん
2019/01/31(木) 19:32:51.69ID:dYIE3vu6 # python
def f (a):
return a+a
def f (a):
return a+a
235デフォルトの名無しさん
2019/02/06(水) 04:17:07.12ID:1ngPDcPU 次世代言語勢は書いてくれないのかな
236デフォルトの名無しさん
2019/02/06(水) 05:42:16.28ID:Cmz9AyOj >>234 pythonでは
関数定義は、名前なし関数lamdaもある
f = lamda 引数,引数、、、:式
f = (lamda: ‘HELLO’)() #引数なし
get_odd_even = lambda x: '偶数' if x % 2 == 0 else '奇数'
print(get_odd_even(3))
# 奇数
リスト内包表記みたいなのもある
l_square = [x**2 for x in l]
print(l_square)
# [0, 1, 4, 9]
関数定義は、名前なし関数lamdaもある
f = lamda 引数,引数、、、:式
f = (lamda: ‘HELLO’)() #引数なし
get_odd_even = lambda x: '偶数' if x % 2 == 0 else '奇数'
print(get_odd_even(3))
# 奇数
リスト内包表記みたいなのもある
l_square = [x**2 for x in l]
print(l_square)
# [0, 1, 4, 9]
237デフォルトの名無しさん
2019/02/06(水) 09:23:51.11ID:ifDXGzsv みたい、じゃなくて内包表記だろpythonのは。
内包表記みたいなのとはこういうのを言う。
[...function*(){for(let i of [0,1,2,3])yield i**2;}()]
//=> [0, 1, 4, 9]
内包表記みたいなのとはこういうのを言う。
[...function*(){for(let i of [0,1,2,3])yield i**2;}()]
//=> [0, 1, 4, 9]
238デフォルトの名無しさん
2019/02/07(木) 08:27:15.80ID:zKojFOZx bc
define f(a){return a + a}
define f(a){return a + a}
239デフォルトの名無しさん
2019/02/08(金) 18:06:00.43ID:nhsWdDoX Rebolの関数定義
f: func [a] [a + a]
f: func [a] [a + a]
240デフォルトの名無しさん
2019/02/08(金) 18:56:01.92ID:2N5Hmbw3 Rebolすこ。後継がRED何だっけ?
241デフォルトの名無しさん
2019/02/08(金) 20:37:38.69ID:nhsWdDoX 知らんけど、そう言っている人はいたな>>127
242デフォルトの名無しさん
2019/02/13(水) 21:47:10.92ID:re4R93ek julia 1.1
(1)
f(x::Float64, y::Float64) = 2x + y
(2)
function f(n::BigInt, a::Float32)::uInt64
return
end
(1)
f(x::Float64, y::Float64) = 2x + y
(2)
function f(n::BigInt, a::Float32)::uInt64
return
end
243デフォルトの名無しさん
2019/02/15(金) 15:49:16.56ID:vj4wf1O1 python
for x in Range() または集合など:
XXX
else:
YYY
else はforが終わった後に一度だけ実行される。
for がbreak で抜けたらelse は実行されない.
x=0
for i in [1,2,3,4]:
x += i
else:
print(x) #10
x= x**2
print(x)
#100
for x in Range() または集合など:
XXX
else:
YYY
else はforが終わった後に一度だけ実行される。
for がbreak で抜けたらelse は実行されない.
x=0
for i in [1,2,3,4]:
x += i
else:
print(x) #10
x= x**2
print(x)
#100
244デフォルトの名無しさん
2019/02/20(水) 21:52:15.95ID:93z+Tt04 UWSCの関数定義
function f(a)
reslut a * a
end function
function f(a)
reslut a * a
end function
245デフォルトの名無しさん
2019/02/20(水) 22:31:51.68ID:SpCnH/g7 冗長すぎる。
呼んでこその関数なのに終わらせるなや。
まだ始まってもいねーよ。
呼んでこその関数なのに終わらせるなや。
まだ始まってもいねーよ。
246デフォルトの名無しさん
2019/03/01(金) 22:20:51.41ID:wpTGtxSq さて、次の 列挙は何がいい?
247デフォルトの名無しさん
2019/03/02(土) 01:47:31.43ID:og4HVKiE switch case
Cの場合
switch(式) {
case 値1:
式の結果と値1が一致したときの処理
break;
case 値2:
式の結果と値2が一致したときの処理
break;
default:
式の結果がどの値とも一致しなかったときの処理
}
Cの場合
switch(式) {
case 値1:
式の結果と値1が一致したときの処理
break;
case 値2:
式の結果と値2が一致したときの処理
break;
default:
式の結果がどの値とも一致しなかったときの処理
}
248デフォルトの名無しさん
2019/03/02(土) 03:06:57.58ID:UsZFDqGN map(collect) / reduce(inject) はどうだろう?
無い言語も多そうだが、それを言ったらswitchもpythonとかは持ってないし
無い言語も多そうだが、それを言ったらswitchもpythonとかは持ってないし
249デフォルトの名無しさん
2019/03/02(土) 08:53:48.62ID:FBcJNwx6 多重分岐、高階関数の例を
まとめて聞いちゃうか
まとめて聞いちゃうか
250デフォルトの名無しさん
2019/03/02(土) 11:14:33.13ID:og4HVKiE >>247 python の場合
if str in {'a', 'b'}:
print('abの場合')
elif str == 'c':
print('cの場合')
或いは変換だけなら辞書を作ってやる。
case = {'a':'abの場合' , 'b':'abの場合' , 'c':'cの場合'}
if str in case :
print(case[str])
else:
print("エラー")
if str in {'a', 'b'}:
print('abの場合')
elif str == 'c':
print('cの場合')
或いは変換だけなら辞書を作ってやる。
case = {'a':'abの場合' , 'b':'abの場合' , 'c':'cの場合'}
if str in case :
print(case[str])
else:
print("エラー")
251デフォルトの名無しさん
2019/03/02(土) 14:24:26.96ID:FBcJNwx6 >>247 Lua
switch case はないのでif then elseifを使う
x=i%45
if x==0 then
print("FizzBuzz")
elseif x==3 or x==6 or x==9 or x==12 then
print("Fizz")
if x==5 x==10 then
print("Buzz")
else
print(i)
end
switch case はないのでif then elseifを使う
x=i%45
if x==0 then
print("FizzBuzz")
elseif x==3 or x==6 or x==9 or x==12 then
print("Fizz")
if x==5 x==10 then
print("Buzz")
else
print(i)
end
252デフォルトの名無しさん
2019/03/02(土) 14:34:51.20ID:FBcJNwx6253デフォルトの名無しさん
2019/03/02(土) 15:33:33.48ID:R507/Kbo >>250 python の場合のdefault 処理が抜けてたね。
# 例 str = 'c'
if str in {'a', 'b'}:
print('abの場合')
elif str == 'c':
print('cの場合')
else:
print( 'エラー' )
# cの場合
# 例 str = 'c'
if str in {'a', 'b'}:
print('abの場合')
elif str == 'c':
print('cの場合')
else:
print( 'エラー' )
# cの場合
254デフォルトの名無しさん
2019/03/02(土) 16:58:17.95ID:RAazPGgj LISPは、・・wiki参照した方が早いなw
255デフォルトの名無しさん
2019/03/02(土) 17:19:54.25ID:FBcJNwx6256デフォルトの名無しさん
2019/03/02(土) 17:29:29.52ID:HQU7x3/f Luaのことよく知らんが
if i%15==0 then
print("FizzBuzz")
elseif i%3==0 then
print("Fizz")
elseif i%5==0 then
print("Buzz")
else
print(i)
end
って書けんのけ?
if i%15==0 then
print("FizzBuzz")
elseif i%3==0 then
print("Fizz")
elseif i%5==0 then
print("Buzz")
else
print(i)
end
って書けんのけ?
257デフォルトの名無しさん
2019/03/02(土) 19:09:12.82ID:FBcJNwx6258デフォルトの名無しさん
2019/03/03(日) 02:00:43.47ID:vKWKyL5A >>255 同じ様にpython で書くなら、
for i in range(21):
x=i%15
if x==0 :
print("FizzBuzz")
elif x in (3,6,9,12) :
print("Fizz")
elif x in (5,10) :
print("Buzz")
else:
print(i)
for i in range(21):
x=i%15
if x==0 :
print("FizzBuzz")
elif x in (3,6,9,12) :
print("Fizz")
elif x in (5,10) :
print("Buzz")
else:
print(i)
259デフォルトの名無しさん
2019/03/03(日) 21:24:43.54ID:9zmHOox3 % Prolog
repeat.
repeat :- repeat.
?- see('foo.pl'),
repeat,(
at_end_of_stream(user_input),seen,!,fail;
read(X)).
X = (:- dynamic(年齢/2)) ;
X = 年齢(山田,32) ;
X = 年齢(山下,21) ;
false.
?- shell('cat foo.pl').
:- dynamic(年齢/2).
年齢(山田,32).
年齢(山下,21).
true.
?-
repeat.
repeat :- repeat.
?- see('foo.pl'),
repeat,(
at_end_of_stream(user_input),seen,!,fail;
read(X)).
X = (:- dynamic(年齢/2)) ;
X = 年齢(山田,32) ;
X = 年齢(山下,21) ;
false.
?- shell('cat foo.pl').
:- dynamic(年齢/2).
年齢(山田,32).
年齢(山下,21).
true.
?-
260デフォルトの名無しさん
2019/03/03(日) 23:36:56.32ID:TlyfzziM >>247
Haskellはそう言うのパターンマッチがあるんで楽。
main = mapM_ f [1..4]
f 1 = putStrLn "x = 1"
f 2 = putStrLn "x = 2"
f 3 = putStrLn "x = 3"
f x = putStrLn "x = others number"
output:
x = 1
x = 2
x = 3
x = others number
Haskellはそう言うのパターンマッチがあるんで楽。
main = mapM_ f [1..4]
f 1 = putStrLn "x = 1"
f 2 = putStrLn "x = 2"
f 3 = putStrLn "x = 3"
f x = putStrLn "x = others number"
output:
x = 1
x = 2
x = 3
x = others number
261デフォルトの名無しさん
2019/03/03(日) 23:51:31.92ID:TlyfzziM262デフォルトの名無しさん
2019/03/04(月) 00:10:08.73ID:TibQyUgX >>260 基本的には単なる辞書変換ではない。
マッチしたら処理(複数の)が実行できなければならない。
マッチしたら処理(複数の)が実行できなければならない。
263デフォルトの名無しさん
2019/03/04(月) 00:55:03.35ID:CTqL7+CV >>262
よく分からんが、各パターンで複数の事させればいいの?
(と言ってもdo形式をモナド形式で書けば1行になるが)
かえ
main = mapM_ f [1..4]
a = 3
b = 2
f 1 = do
let c = a + b
print c
f 2 = do
let c = a - b
print c
f 3 = do
let c = a * b
print c
f x = return (a `div` b) >>= print
よく分からんが、各パターンで複数の事させればいいの?
(と言ってもdo形式をモナド形式で書けば1行になるが)
かえ
main = mapM_ f [1..4]
a = 3
b = 2
f 1 = do
let c = a + b
print c
f 2 = do
let c = a - b
print c
f 3 = do
let c = a * b
print c
f x = return (a `div` b) >>= print
264デフォルトの名無しさん
2019/03/04(月) 01:11:16.72ID:rLTN1z0Z 短くしてみた >>260
main = mapM_ putStrLn $ map f [1..4]
where f = ¥x -> if x<=3 then "x = " ++ show x else "x = other number"
main = mapM_ putStrLn $ map f [1..4]
where f = ¥x -> if x<=3 then "x = " ++ show x else "x = other number"
265デフォルトの名無しさん
2019/03/04(月) 01:27:26.35ID:rLTN1z0Z >>262
―Haskell
main = mapM_ putStrLn $ map f ['b','a','s','i','c']
f x = case x of
'a' -> "aの場合"
'b' -> "bの場合"
otherwise -> "それ以外"
―Haskell
main = mapM_ putStrLn $ map f ['b','a','s','i','c']
f x = case x of
'a' -> "aの場合"
'b' -> "bの場合"
otherwise -> "それ以外"
266デフォルトの名無しさん
2019/03/04(月) 01:39:28.31ID:CTqL7+CV HaskellのFizzBizz
main = mapM_ (putStrLn.fizbiz) [1..20]
fizbiz x | x `mod` 15 == 0 = "FizzBizz"
fizbiz x | x `mod` 3 == 0 = "Fizz"
fizbiz x | x `mod` 5 == 0 = "Bizz"
fizbiz x = show x
main = mapM_ (putStrLn.fizbiz) [1..20]
fizbiz x | x `mod` 15 == 0 = "FizzBizz"
fizbiz x | x `mod` 3 == 0 = "Fizz"
fizbiz x | x `mod` 5 == 0 = "Bizz"
fizbiz x = show x
267デフォルトの名無しさん
2019/03/04(月) 02:09:33.72ID:CTqL7+CV >>264
行数が少ないだけで、意図が分かりにくい。
mapが無駄。
main = mapM_ (putStrLn.f) [1..4]
f x | x <= 3 = show x
f x = "others number"
そもそも命題がCのswitch相当は他の言語でどうしてる?なので短くするのが命題では無い。
(if elseでは無いのに注意)
行数が少ないだけで、意図が分かりにくい。
mapが無駄。
main = mapM_ (putStrLn.f) [1..4]
f x | x <= 3 = show x
f x = "others number"
そもそも命題がCのswitch相当は他の言語でどうしてる?なので短くするのが命題では無い。
(if elseでは無いのに注意)
268デフォルトの名無しさん
2019/03/04(月) 14:43:44.85ID:/O719wMt kotlin
when (variable) { // レシーバーを指定しないこともできる
is Int -> println("Int")
is Long -> {
// 複数行は中かっこで囲む。breakは要らない。
println(variable) // println(Long)の呼び出し。スマートキャストも効く。
}
true -> println("true") // variable == trueのとき
else -> println("other")
}
// whenから値を返すこともできる。(printlnはUnitを返すのでこの例では意味がない)
when (variable) { // レシーバーを指定しないこともできる
is Int -> println("Int")
is Long -> {
// 複数行は中かっこで囲む。breakは要らない。
println(variable) // println(Long)の呼び出し。スマートキャストも効く。
}
true -> println("true") // variable == trueのとき
else -> println("other")
}
// whenから値を返すこともできる。(printlnはUnitを返すのでこの例では意味がない)
269デフォルトの名無しさん
2019/03/05(火) 06:16:21.06ID:B2gBj45S まず、cのswitch caseのコード例がほしい
270デフォルトの名無しさん
2019/03/05(火) 08:28:26.95ID:Bb8UPpz3 めくらかな
271デフォルトの名無しさん
2019/03/05(火) 08:43:47.22ID:B2gBj45S >>247はコード例とはいわんでしょう
272デフォルトの名無しさん
2019/03/05(火) 16:39:39.29ID:iMy1mZDl 勉強したてのやつがマウント取るスレになってね?
273デフォルトの名無しさん
2019/03/05(火) 21:38:51.56ID:YjygbClv >>259 Prolog
for(M,M,M) :- !.
for(N,N,M).
for(N,X,M) :-
次の数は(N,M,_次の数),
for(_次の数,X,M).
次の数は(N,M,_次の数) :-
N < M,
_次の数 is N + 1.
次の数は(N,M,_次の数) :-
N > M,
_次の数 is N - 1.
?- for(3,N,1),writef('%w\n',[N]),N = 1.
3
2
1
true.
?-
for(M,M,M) :- !.
for(N,N,M).
for(N,X,M) :-
次の数は(N,M,_次の数),
for(_次の数,X,M).
次の数は(N,M,_次の数) :-
N < M,
_次の数 is N + 1.
次の数は(N,M,_次の数) :-
N > M,
_次の数 is N - 1.
?- for(3,N,1),writef('%w\n',[N]),N = 1.
3
2
1
true.
?-
274デフォルトの名無しさん
2019/03/06(水) 08:08:24.93ID:fBh61pOJ >>273 Prolog _目標をforループの中に書く。copy_term/2とは何か?
for(M,M,M,_目標) :- !,_目標.
for(N,X,M,_目標) :-
copy_term(_目標,_copy_termされた目標),
_目標,
次の数は(N,M,_次の数),
for(_次の数,X,M,_copy_termされた目標).
次の数は(N,M,_次の数) :-
N < M,
_次の数 is N + 1.
次の数は(N,M,_次の数) :-
N > M,
_次の数 is N - 1.
?- for(3,N,1,writef('%w\n',[N])).
3
2
1
true.
?-
for(M,M,M,_目標) :- !,_目標.
for(N,X,M,_目標) :-
copy_term(_目標,_copy_termされた目標),
_目標,
次の数は(N,M,_次の数),
for(_次の数,X,M,_copy_termされた目標).
次の数は(N,M,_次の数) :-
N < M,
_次の数 is N + 1.
次の数は(N,M,_次の数) :-
N > M,
_次の数 is N - 1.
?- for(3,N,1,writef('%w\n',[N])).
3
2
1
true.
?-
275デフォルトの名無しさん
2019/04/06(土) 12:53:39.01ID:Mn11yHOy 変数のインクリメントはどうやる?
276デフォルトの名無しさん
2019/04/06(土) 13:10:45.56ID:hBfZV6UD python は、++ が使えないから
n += 1
n += 1
277デフォルトの名無しさん
2019/04/06(土) 20:28:07.55ID:LfoN0yho Haskellは関数型言語なので、基本変数の書き換えが出来ない。
(一応IORefとかで書き換え可能だが)
基本はインクリメントされる変数が最終的にどんな働きをするのかによって、
同じ動きになる様に無限リスト使ったり、GUIなら外部とのやりとりそのものも含めて参照透明性保ったりで対応する。
(Haskellの元になった圏論自体が数では無く構造の抽象化を目的にした数学なので)
同じ操作をしたら同じ結果が返ってくる(バグの無い)アプリをユーザーは求める。
これは参照透明性のあるアプリと言える。
参照透明性のある関数を組み合わせて参照透明性のあるアプリ(バグの無いアプリ)は出来そうだが、
参照透明性の無い関数を使って参照透明性のあるアプリを作れるかは分からない。
これが今までバグの無いアプリは無いと言われた根拠ではと考えている。
(一応IORefとかで書き換え可能だが)
基本はインクリメントされる変数が最終的にどんな働きをするのかによって、
同じ動きになる様に無限リスト使ったり、GUIなら外部とのやりとりそのものも含めて参照透明性保ったりで対応する。
(Haskellの元になった圏論自体が数では無く構造の抽象化を目的にした数学なので)
同じ操作をしたら同じ結果が返ってくる(バグの無い)アプリをユーザーは求める。
これは参照透明性のあるアプリと言える。
参照透明性のある関数を組み合わせて参照透明性のあるアプリ(バグの無いアプリ)は出来そうだが、
参照透明性の無い関数を使って参照透明性のあるアプリを作れるかは分からない。
これが今までバグの無いアプリは無いと言われた根拠ではと考えている。
278デフォルトの名無しさん
2019/04/06(土) 22:44:33.30ID:qQhidKgX > 同じ操作をしたら同じ結果が返ってくる(バグの無い)アプリをユーザーは求める。
そんな一般化はできない。反例としてはランダム要素を含むゲームなど。
同じ操作をしたら同じ結果が返ってくる(バグの無い)アプリを求めるユーザーがいる、なら正しい。
そんな一般化はできない。反例としてはランダム要素を含むゲームなど。
同じ操作をしたら同じ結果が返ってくる(バグの無い)アプリを求めるユーザーがいる、なら正しい。
279デフォルトの名無しさん
2019/04/06(土) 23:42:02.81ID:LfoN0yho そういう反論がある事は考えていたし、実際あなたの言う通り。
屁理屈述べさせて頂くと、圏論は上で書いた通り構造に注目した学問なので、中の値に言及しない。
(なので厳密な数学が硬い数学なら、圏論は柔らかい数学で、レベルによって同じと見なしたり違うと見なしたりする)
入出力と同様ランダムも副作用とされるし、硬い数学ならそれはその通り。
柔らかい数学である圏論のレベルの場合は構造が同じなら、副作用も変数も同じと見なす。
f x = x
f = getLine >>= \x -> read x
f = randomRIO(1,3) >>= \x -> x
上記はxを返すという意味で構造的に同じと見なせる。
コード上で定義されているか、入力かランダムか実体やタイミングなどを除けば同じ入力があれば同じ値を返す。
そんな訳で、ランダムも含めて参照透明性があると言うと、想定外のランダム値は出ない。それに起因したバグは無いってのがまあ、屁理屈になるかな。
パターンマッチで拾いきれないパターンがあるとエラーになったり、一部の論理エラー(文法的に正しいけど、動作上バグ)も弾くのは強力。
屁理屈述べさせて頂くと、圏論は上で書いた通り構造に注目した学問なので、中の値に言及しない。
(なので厳密な数学が硬い数学なら、圏論は柔らかい数学で、レベルによって同じと見なしたり違うと見なしたりする)
入出力と同様ランダムも副作用とされるし、硬い数学ならそれはその通り。
柔らかい数学である圏論のレベルの場合は構造が同じなら、副作用も変数も同じと見なす。
f x = x
f = getLine >>= \x -> read x
f = randomRIO(1,3) >>= \x -> x
上記はxを返すという意味で構造的に同じと見なせる。
コード上で定義されているか、入力かランダムか実体やタイミングなどを除けば同じ入力があれば同じ値を返す。
そんな訳で、ランダムも含めて参照透明性があると言うと、想定外のランダム値は出ない。それに起因したバグは無いってのがまあ、屁理屈になるかな。
パターンマッチで拾いきれないパターンがあるとエラーになったり、一部の論理エラー(文法的に正しいけど、動作上バグ)も弾くのは強力。
280デフォルトの名無しさん
2019/04/07(日) 00:05:26.46ID:DafnpbK7 圏論だ参照透明性だと出て来て難しそうに見えるけど、Haskellの裏でそう言う論理に基づいて処理系が動いてるってだけで、
プログラマーは意識する必要はない。
(必要無いのに知らなきゃダメみたいな雰囲気作ってる純粋関数型言語信者がプログラマーからHaskell触る機会を奪ってるだけ)
もっと言えば純粋関数型言語だからとか、関数型言語だからと肩肘はる必要もない。
型に気をつければ動く算数・数学のエミュレータみたいなもの程度で良い。
変な言語だけど、そう言う言語というだけの意識で良い。
プログラマーは意識する必要はない。
(必要無いのに知らなきゃダメみたいな雰囲気作ってる純粋関数型言語信者がプログラマーからHaskell触る機会を奪ってるだけ)
もっと言えば純粋関数型言語だからとか、関数型言語だからと肩肘はる必要もない。
型に気をつければ動く算数・数学のエミュレータみたいなもの程度で良い。
変な言語だけど、そう言う言語というだけの意識で良い。
281あめ ◆P0jSlC5fJs
2019/04/07(日) 03:42:18.98ID:r06bl0Nm282デフォルトの名無しさん
2019/04/20(土) 08:51:05.57ID:taiWhU7u 変数のインクリメント
Rの場合
a <- a+1
Rの場合
a <- a+1
283デフォルトの名無しさん
2019/04/27(土) 13:02:20.94ID:ayOw6WNl >>275 python numpyなら配列要素のインクリメントもできる。
import numpy as np
n = np.array([-1,0,1,2])
n += 1
print(n)
# [0 1 2 3]
import numpy as np
n = np.array([-1,0,1,2])
n += 1
print(n)
# [0 1 2 3]
284デフォルトの名無しさん
2019/05/01(水) 07:03:02.59ID:D4jmMExL 輪廻転生
285デフォルトの名無しさん
2019/05/01(水) 15:41:33.68ID:zxNIeS7i FOR I=I TO I
NEXT
NEXT
286デフォルトの名無しさん
2019/05/08(水) 18:38:06.96ID:qUpXgvbZ r.
r :- r.
r :- r.
287デフォルトの名無しさん
2019/05/08(水) 18:41:10.44ID:qUpXgvbZ r.
r :- r.
r :- r.
288デフォルトの名無しさん
2019/05/19(日) 10:10:24.78ID:b1S+2jBu >>80
> 0からNまで繰り返すようなことは
> while使ってiをカウントしていくしか無い
そんな事はない。python では カウンター付き for ループ を enumerate で作れる
for count , x in enumerate('アイウエオ') :
print(count,x)
'''
0 ア
1 イ
2 ウ
3 エ
4 オ
'''
> 0からNまで繰り返すようなことは
> while使ってiをカウントしていくしか無い
そんな事はない。python では カウンター付き for ループ を enumerate で作れる
for count , x in enumerate('アイウエオ') :
print(count,x)
'''
0 ア
1 イ
2 ウ
3 エ
4 オ
'''
289デフォルトの名無しさん
2019/05/19(日) 11:24:53.27ID:sA5/dcdL for inじゃん。>>80よく読め
290デフォルトの名無しさん
2019/05/19(日) 15:00:07.17ID:Ep+P2jjw >>289 知らんがな、自分がリンクを切ってるから話の流れを断ち切って勝手な話をしてるんだろ。
前後関係が一切わからん。
前後関係が一切わからん。
291デフォルトの名無しさん
2019/05/21(火) 23:16:40.30ID:5dr0Nkwr >>290
ばーか
ばーか
292デフォルトの名無しさん
2019/06/04(火) 09:38:40.06ID:/ArpXH0n >>291 可愛い坊やだね❤❗
293デフォルトの名無しさん
2019/06/04(火) 09:40:18.55ID:/ArpXH0n >>289 0からN までのカウントをfor in で出来てるじゃん。
while なんか使わないよ。
while なんか使わないよ。
294デフォルトの名無しさん
2019/06/04(火) 13:02:22.29ID:XXr8i2SB for inじゃん。>>80よく読め
295デフォルトの名無しさん
2019/06/04(火) 15:35:30.18ID:oF2K+2cj for in だと言ってるじゃん、よく読め、可愛いな。
296デフォルトの名無しさん
2019/06/04(火) 15:56:57.14ID:XXr8i2SB 289 デフォルトの名無しさん sage 2019/05/19(日) 11:24:53.27 ID:sA5/dcdL
for inじゃん。>>80よく読め
293 デフォルトの名無しさん 2019/06/04(火) 09:40:18.55 ID:/ArpXH0n
>>289 0からN までのカウントをfor in で出来てるじゃん。
while なんか使わないよ。
294 デフォルトの名無しさん sage 2019/06/04(火) 13:02:22.29 ID:XXr8i2SB
for inじゃん。>>80よく読め
295 デフォルトの名無しさん 2019/06/04(火) 15:35:30.18 ID:oF2K+2cj
for in だと言ってるじゃん、よく読め、可愛いな。
池沼かな?
for inじゃん。>>80よく読め
293 デフォルトの名無しさん 2019/06/04(火) 09:40:18.55 ID:/ArpXH0n
>>289 0からN までのカウントをfor in で出来てるじゃん。
while なんか使わないよ。
294 デフォルトの名無しさん sage 2019/06/04(火) 13:02:22.29 ID:XXr8i2SB
for inじゃん。>>80よく読め
295 デフォルトの名無しさん 2019/06/04(火) 15:35:30.18 ID:oF2K+2cj
for in だと言ってるじゃん、よく読め、可愛いな。
池沼かな?
297デフォルトの名無しさん
2019/06/05(水) 05:12:23.73ID:H9DP6xbZ cのforはアルゴル系の言語に対して失礼なネーミングだと思う
アルゴル系の言語側は怒らなかったのか
アルゴル系の言語側は怒らなかったのか
298デフォルトの名無しさん
2019/06/18(火) 22:19:14.40ID:gRhwyB3T for ($ARGV[0]){
our $modulo
= Xxx ? Xxx
: Xxx ? Xxx
: Xxx ? Xxx
: Xxx
;
}
our $modulo
= Xxx ? Xxx
: Xxx ? Xxx
: Xxx ? Xxx
: Xxx
;
}
299デフォルトの名無しさん
2019/10/27(日) 01:49:49.46ID:hlM+06in300デフォルトの名無しさん
2019/10/27(日) 15:21:19.47ID:Vc6lc8Xn blawn
for i = 1, i < N, i = i + 1
(
)
for i = 1, i < N, i = i + 1
(
)
301デフォルトの名無しさん
2019/11/02(土) 14:47:17.10ID:xs6Yg1eH vba
for i = 1 to n
next
for i = 1 to n
next
302デフォルトの名無しさん
2019/11/10(日) 11:51:51.32ID:uFnVWU5E Crystal
0.upto(N-1) do |i|
end
0.upto(N-1) do |i|
end
303デフォルトの名無しさん
2019/11/15(金) 23:49:23.02ID:HwWGhxcu >>299
Enumerable.Rangeとか使えば出来るような
LINQ使ったらその辺のことは大体出来るんじゃない?
forループ書く方がシンプルな場合もあるから内包表記みたいな感じで一気にリストや配列作るときにしか使わないけど
Enumerable.Rangeとか使えば出来るような
LINQ使ったらその辺のことは大体出来るんじゃない?
forループ書く方がシンプルな場合もあるから内包表記みたいな感じで一気にリストや配列作るときにしか使わないけど
304デフォルトの名無しさん
2019/11/19(火) 07:01:10.79ID:uwwA9qTH Cyan
N.times^(i):say i
N.times^(i):say i
305デフォルトの名無しさん
2020/10/03(土) 23:26:05.17ID:7NrhvCrT Powershell
for ($i=0; $i -lt $n; $i++) { }
foreachのが高速
foreach ($user in $users){}
for ($i=0; $i -lt $n; $i++) { }
foreachのが高速
foreach ($user in $users){}
306デフォルトの名無しさん
2021/02/08(月) 17:04:43.18ID:FcZ190S6 一番高機能なのはFortranだろうけど、あれ使いこなせてる人いるのだろうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 普通の日本人「日本の新技術で中国破滅😤!中国経済崩壊😂!終わりの始まりwwwwwwwwwww」 [441660812]
- マヨネーズにわさび、山椒、卵の黄身、ラー油、オリーブオイルを入れてよく混ぜてください
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 福島みずほ「マイナ保険証は強制できません。健康保険証で良いじゃないですか」 [856698234]
- 【速報】高市早苗、起床 [779938112]
