elixir1.3で入りそうな機能
こんにちは。最近haskellの書き方を忘れてきたtechno-tanoCです。
「elixirのwhen
ってEitherっぽいよなーでも失敗した瞬間失敗したものが返ってくるから使いづらいなーもう自分でマクロ作ろうかなー」と思いながらネットの海を漁っていたら(海だけに)、when
にelse
節が入りそうなコミットを見つけました。
そのコミットのリンクはこちら
issueを見た感じ、「マッチに成功した時は良い感じに平坦化してくれるんだけど、エラーケースではイケてない」ってことらしいです。禿同。
具体的には
with {:ok, res} <- 41, do: res, else: ({:error, error} -> error; res -> res + 1) #=> 42
みたいになるようです。
加えてこのコミットでwith
でガードが使えるようになるようです。やったね。
こっちは
with x when x < 2 <- 4, do: :ok #=> 4
のようになるみたいです。