https://kiddingcode.com/

https://qiita.com/ampersand/items/e3cc3463c1834cda3290

おもしろい

Reply to this note

Please Login to reply.

Discussion

/* 牛乳を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