探検
多言語でforループを列挙していくスレ
■ このスレッドは過去ログ倉庫に格納されています
2018/10/30(火) 09:18:52.77ID:sSPDfgXo
for(i=0;i<N;i++){} //C
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だろうけど、あれ使いこなせてる人いるのだろうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★3 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」★2 [冬月記者★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 【配信】TikTokで収益化を剥奪される日本人クリエイターが続出 [muffin★]
- 【定期】暇空 [455031798]
- 高市早苗、トランプおやびんに泣きつくwwwwwwwwwwwwwwwwwwwwwwww [834922174]
- 防衛省「了解は言っていない」 [966095474]
- 企業・団体献金の規制強化をめぐる党首間協議について高市「引き継ぎ受けてないし知らん。約束ではない。野田も誘ってくれないし」 [389326466]
- ケンモメンってなんでこんなに反日が多いの? [866936191]
- 中国、日本人tiktokの収益剥奪開始wmwmwmwmwmwm [834922174]
