選択肢が4つでてくる問題が10問でてきて
8問以上正解すればクリアとかどうやって実装するの?
関数型言語でフラグ管理をする方法
■ このスレッドは過去ログ倉庫に格納されています
2018/10/30(火) 21:17:26.98ID:ZgZ/9CmG
2018/11/04(日) 11:07:00.38ID:Nn4ZdlZB
>>53
なんかキモい
def aaa(remain, target, ok)
return false if remain.zero?
return true if ok >= target
p ans = rand > 0.5
aaa(remain - 1, target, ok + (ans ? 1 : 0))
end
remain = 10
target = 8
ok = 0
p ['result =', aaa(remain, target, ok)]
なんかキモい
def aaa(remain, target, ok)
return false if remain.zero?
return true if ok >= target
p ans = rand > 0.5
aaa(remain - 1, target, ok + (ans ? 1 : 0))
end
remain = 10
target = 8
ok = 0
p ['result =', aaa(remain, target, ok)]
2018/11/04(日) 11:09:26.81ID:Nn4ZdlZB
return falseの条件を変えて途中で諦めたほうが良いか
56デフォルトの名無しさん
2018/11/04(日) 11:25:03.38ID:pidkuN2F >>51
無駄なコード減らして、解答リストに1〜4以外の文字が入ってたら(あえて)実行時エラーで終了するようにしてみた。
main = elecheck a >> getcheck [] d >>= judgment.trueSum
-- Input char and check anser.
getcheck ns [] = return ns
getcheck ns ((x,y):xs)= putStr x >> getChar >>=
\c -> print c >> getcheck ((y == c):ns) xs
judgment n |n >= 8 = putStrLn "You Win!!"
judgment _ = putStrLn "You Lose..."
trueSum = length.(filter (==True))
-- Check anser array in 1..4 number?
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
無駄なコード減らして、解答リストに1〜4以外の文字が入ってたら(あえて)実行時エラーで終了するようにしてみた。
main = elecheck a >> getcheck [] d >>= judgment.trueSum
-- Input char and check anser.
getcheck ns [] = return ns
getcheck ns ((x,y):xs)= putStr x >> getChar >>=
\c -> print c >> getcheck ((y == c):ns) xs
judgment n |n >= 8 = putStrLn "You Win!!"
judgment _ = putStrLn "You Lose..."
trueSum = length.(filter (==True))
-- Check anser array in 1..4 number?
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
57デフォルトの名無しさん
2018/11/04(日) 11:25:48.26ID:pidkuN2F そのdo記法バージョン。
main = do
elecheck a
bs <- getcheck [] d
judgment $ trueSum bs
getcheck ns [] = return ns
getcheck ns ((x,y):xs)= do
putStr x
c <- getChar
print c
getcheck ((y == c):ns) xs
judgment n |n >= 8 = putStrLn "You Win!!"
judgment _ = putStrLn "You Lose..."
trueSum = length.(filter (==True))
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
main = do
elecheck a
bs <- getcheck [] d
judgment $ trueSum bs
getcheck ns [] = return ns
getcheck ns ((x,y):xs)= do
putStr x
c <- getChar
print c
getcheck ((y == c):ns) xs
judgment n |n >= 8 = putStrLn "You Win!!"
judgment _ = putStrLn "You Lose..."
trueSum = length.(filter (==True))
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
58デフォルトの名無しさん
2018/11/04(日) 11:27:53.10ID:pidkuN2F 途中で切れてたので再投稿。
main = do
elecheck a
bs <- getcheck [] d
judgment $ trueSum bs
getcheck ns [] = return ns
getcheck ns ((x,y):xs)= do
putStr x
c <- getChar
print c
getcheck ((y == c):ns) xs
judgment n |n >= 8 = putStrLn "You Win!!"
judgment _ = putStrLn "You Lose..."
trueSum = length.(filter (==True))
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
main = do
elecheck a
bs <- getcheck [] d
judgment $ trueSum bs
getcheck ns [] = return ns
getcheck ns ((x,y):xs)= do
putStr x
c <- getChar
print c
getcheck ((y == c):ns) xs
judgment n |n >= 8 = putStrLn "You Win!!"
judgment _ = putStrLn "You Lose..."
trueSum = length.(filter (==True))
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
59デフォルトの名無しさん
2018/11/04(日) 11:28:20.18ID:pidkuN2F trueSum = length.(filter (==True))
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
elecheck [] = return ()
elecheck (e:es) |(('1' <= e) && ('4' >= e)) = elecheck es
d = zip q a
q = ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"]
a = "1234123412"
60デフォルトの名無しさん
2018/11/04(日) 15:31:56.65ID:95qKkVOL >>53
これは酷い。関数型でもなんでもない。
これは酷い。関数型でもなんでもない。
61デフォルトの名無しさん
2018/11/04(日) 18:52:23.37ID:pidkuN2F >>58-59 はiPadのRaskellで動かしたんだけど、PCだと上手く動かない。
(OSのバッファ機能とHaskellの遅延評価の悪い相乗効果)
ここでRWHの内容が活きてくるんだけど、答えは内緒。
(OSのバッファ機能とHaskellの遅延評価の悪い相乗効果)
ここでRWHの内容が活きてくるんだけど、答えは内緒。
2018/11/06(火) 23:35:47.99ID:ceG2/QGJ
一問ごとに正解なら1、不正解なら0を返す関数を書いて
10個足して8以上ならCドライブをフォーマット
でいいんじゃないの?
10個足して8以上ならCドライブをフォーマット
でいいんじゃないの?
2018/11/07(水) 15:22:06.59ID:CUx7JRn8
全部不正解でいいんじゃね
2018/11/07(水) 15:42:00.65ID:GvDQxrPA
Excelのワークシート関数だけで作ってみると
関数型言語でどう組めばいいかわかるよ!
わかるよ!
関数型言語でどう組めばいいかわかるよ!
わかるよ!
2018/11/07(水) 16:07:13.80ID:nS0pqjfr
ていうかそんならExcelでいいじゃねーかw
2018/11/07(水) 16:26:15.62ID:oTVd6hn3
お前らバカにするけどExcelってすげぇソフトだと思うよ俺は。
神エクセルが悪いだけ。
神エクセルが悪いだけ。
67デフォルトの名無しさん
2018/11/07(水) 16:31:43.44ID:h4FWJh3K68デフォルトの名無しさん
2018/11/11(日) 12:43:24.63ID:vUUak6BF2018/11/11(日) 12:47:18.53ID:SClia95W
>>68
ブラクラ
ブラクラ
2018/11/14(水) 01:25:26.63ID:nGPvCKDp
死亡フラグが立ってます
71デフォルトの名無しさん
2019/02/04(月) 22:16:29.13ID:fVmYxPyX2019/03/11(月) 15:26:25.67ID:DVt5Y0At
hoogle...英語しか出てこないや
73デフォルトの名無しさん
2019/04/13(土) 00:45:40.57ID:WaVEKotj >>71
datterのx.jsonファイルを見させていただきました
datterのx.jsonファイルを見させていただきました
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 青森 緊急地震速報 [ぐれ★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★3 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★2 [冬月記者★]
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ ★2 [Hitzeschleier★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★4 [蚤の市★]
- 地蔵 [268244553]
- 日本、高市が辞任しても日中関係を改善させられそうな首相候補がいなくて詰む [329271814]
- 「ごま油」👈何に使うんだこれ [394133584]
- お昼休みなので>>2のキャラをかいてあそぶ
- そんなことより自民党(献金追及より議員定数削減)、定数削減先送りへwwwww [577451214]
- 【悲報】ニコニコ、「グエー死んだンゴ」をニコニコ賞に決定!亡くなったがん患者に追悼求める [856698234]
