for i,0,n,1 next 0180デフォルトの名無しさん2019/01/11(金) 14:08:52.46ID:oPF5hOZL Vim Script
for i in range(N) end for 0181デフォルトの名無しさん2019/01/13(日) 22:36:00.33ID:t3d8Ucr6 そろそろタマ切れだ 0182デフォルトの名無しさん2019/01/14(月) 03:32:27.23ID:HgEyr4k3 FORTRAN66のDOループは少なくとも一回は実行される 0183デフォルトの名無しさん2019/01/14(月) 19:10:25.11ID:xNB034FQ 次に列挙するとしたら 関数定義とかはどうだろう 0184デフォルトの名無しさん2019/01/15(火) 08:04:35.13ID:t4AWnHt7 Rの関数定義
f <- function(a){a+a} 0185デフォルトの名無しさん2019/01/15(火) 09:08:24.34ID:XHhYs/N9 Javascriptの関数定義
function f(a) { return a + a; } 0186デフォルトの名無しさん2019/01/15(火) 17:42:58.44ID:t4AWnHt7 Gnuplotの関数定義
f(a) = a + a 0187デフォルトの名無しさん2019/01/15(火) 23:39:44.91ID:fNWkI4iJ Haskell
f a = a + a 0188デフォルトの名無しさん2019/01/16(水) 00:08:23.38ID:rZx+MgH2 Kuinの関数定義
func f(a:int):int ret a+a end func 0189デフォルトの名無しさん2019/01/16(水) 14:57:11.45ID:Twl9r5pX HSP
#module #defcfunc f int a return a+a #global 0190デフォルトの名無しさん2019/01/16(水) 17:00:37.94ID:rZx+MgH2 ただいま各言語の関数定義を列挙中 0191デフォルトの名無しさん2019/01/17(木) 00:06:35.13ID:Oz5T3Fuz Jの動詞定義その1 f =: +~
その2 f =: verb define y + y ) 0192デフォルトの名無しさん2019/01/17(木) 00:15:01.48ID:osMfZJX5 ActiveBasicの関数
function f(a As Long)As Long return a + a end function 0193デフォルトの名無しさん2019/01/17(木) 01:34:57.12ID:MMJ3KhK9>>191 相変わらずロックだなぁw 0194デフォルトの名無しさん2019/01/17(木) 13:12:45.36ID:Oz5T3Fuz Forthのword定義
: f 2 * ; 0195デフォルトの名無しさん2019/01/17(木) 13:16:44.92ID:vfIWhGZ6>>194 他の人の例に合わせると
(defn f [a] (+ a a)) 0208デフォルトの名無しさん2019/01/19(土) 14:23:38.11ID:wHifvsZx Fortranは徹底的にループの性質を区別(添字依存、添字不依存並列可、投機実行可)して構文用意して見かけ上は完全排除できるな 場合分けが問題か、Doループにif置いてもいいけれども
function f(a) reslut a * a end function 0245デフォルトの名無しさん2019/02/20(水) 22:31:51.68ID:SpCnH/g7 冗長すぎる。 呼んでこその関数なのに終わらせるなや。 まだ始まってもいねーよ。 0246デフォルトの名無しさん2019/03/01(金) 22:20:51.41ID:wpTGtxSq さて、次の 列挙は何がいい? 0247デフォルトの名無しさん2019/03/02(土) 01:47:31.43ID:og4HVKiE switch case
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("エラー") 0251デフォルトの名無しさん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 0252デフォルトの名無しさん2019/03/02(土) 14:34:51.20ID:FBcJNwx6>>251 x=i%45 は x=i%15 の間違い 0253デフォルトの名無しさん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( 'エラー' )
x=i%15 if x==0 then print("FizzBuzz") elseif x==3 or x==6 or x==9 or x==12 then print("Fizz") elseif x==5 x==10 then print("Buzz") else print(i) end 0256デフォルトの名無しさん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 って書けんのけ? 0257デフォルトの名無しさん2019/03/02(土) 19:09:12.82ID:FBcJNwx6>>256 わざわざ普通のFizzBuzzありがとう。 もちろんそうかけます。 0258デフォルトの名無しさん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) 0259デフォルトの名無しさん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.
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 0261デフォルトの名無しさん2019/03/03(日) 23:51:31.92ID:TlyfzziM>>248 Pythonのifはelse ifを続けやすくしてるので、Cのswitch caseより複雑に条件分岐出来る分、強力。 (Haskellではガードに当たる) 0262デフォルトの名無しさん2019/03/04(月) 00:10:08.73ID:TibQyUgX>>260 基本的には単なる辞書変換ではない。 マッチしたら処理(複数の)が実行できなければならない。 0263デフォルトの名無しさん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 0264デフォルトの名無しさん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" 0265デフォルトの名無しさん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 -> "それ以外" 0266デフォルトの名無しさん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 0267デフォルトの名無しさん2019/03/04(月) 02:09:33.72ID:CTqL7+CV>>264 行数が少ないだけで、意図が分かりにくい。 mapが無駄。