Thread
Login to reply
Replies (2)
/* 牛乳を1つ買ってきて。卵があったら6つお願い。 */
function buyGroceries() { const milk = new Milk(1); const eggs = hasEggs() ? new Eggs(6) : null; return { milk, eggs };}
この夫はちゃんと「牛乳1本と卵6個」を買ってる。まあ「買う」のではなく「生成」してる感じだけど。
僕が「なんちゃってコード」を書くとしたらどうなるかな。
buy x = do
price <- checkPrice x
pay price
get x
// 怒られるほう
main = replicateM_ (if exist egg then 6 else 1) $ buy milk
// よしよしされるほう
main = do
replicateM_ 1 $ buy milk
when (exist egg) $ replicateM_ 6 $ buy egg

