[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2ch.scのread.cgiへ]
Update time : 08/01 23:19 / Filesize : 127 KB / Number-of Response : 435
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ぶっちゃけ始めるのにいい言語て何 part2



430 名前:デフォルトの名無しさん [2020/08/01(土) 12:02:58.28 ID:9QK6xp3l.net]
>>412
バグを意図的に作るのは難しいのですが、フィボナッチ数を判定する関数とかは例として分かりやすいのでは?
フィボナッチ数じゃ無かったパターンを書き忘れても普通の言語だと文法上は間違いじゃ無いので、実行時エラーになる。
HaskellだとNoting返そうとしたら、受け取るパターンが無いと怒られてコンパイルエラーになる。
(悪魔で返そうとしたら受け取るパターンが無いから検知出来るので、外部からの入力とかで、
入力するまでパターンがあるか無いか分からないとかだと検出出来ない場合もある)


main = (mapM_ (put.isfib)) [0..1000]

put Nothing= return ()
put (Just x) = print x

fibs = 0:1:zipWith (+) fibs (tail fibs)

isfib = isfib' (zip fibs [1..])
where
isfib' ((a,b):_) x | x == a = Just (a,b)
isfib' ((a,_):_) x | x < a = Nothing
isfib' (_:ts) x = isfib' ts x






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<127KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef