wvogel日記

自分用の技術備忘録が多めです.

List

昨晩リストモナドの勉強をしていたんですが、なぜあのときに気づかなかったんだろう。
朝起きたら気づいた。


昨日書いた、電車の切符問題の、演算子列挙について。
今のままでは、"+-*"がそれぞれ1度ずつでてくる、計6通りしか網羅できなかったけれど、リスト使えば簡単に出来る!

opes = permutations ['+','-','*']

の部分を、

opes = [[x,y,z] | x <- "+-*" , y <- "+-*" , z <- "+-*" ]

にしてやればいいんですね。


よし、これで演算子の列挙もちゃんんと27通りできた!
動作も確認しました。