Please enable JavaScript to view the comments powered by Disqus.Gleam: Case Expressions (if, when)
Search
🌥️

Gleam: Case Expressions (if, when)

태그
Gleam
공개여부
작성일자
2024/04/18
이 간단한 것을 제대로 정리한 곳이 없어서 정리해둔다. if, case~when 과 같은 문법이다.
pub fn describe(number: Int) -> String { case number { 0 -> "Zero" 1 -> "One" } }
Elixir
복사
이거는 0이 아닐 때
pub fn describe(number: Int) -> String { case number { 0 -> "Zero" i -> "Non zero" } }
Elixir
복사
이걸 변수 패턴이라 한다.
여기에 추가적인 조건을 걸고자 하면 아래와 같이 사용할 수 있다.
pub fn describe(number: Int) -> String { case number { 0 -> "Zero" i if i < 0 -> "Negative number" } }
Elixir
복사
성능의 이유로 기초적인 수학과 boolean operator 만 사용 가능하다.
위의 코드는 모든 패턴에 대해 matching 하지 않는다.
이런 경우 아래와 같이 사용할 수 있다.
pub fn describe(number: Int) -> String { case number { 0 -> "Zero" i if i < 0 -> "Negative number" _ -> "Positive number" } }
Elixir
복사
Discard pattern 이라 한다.