Programming/Elm
-
파이프 연산자는 함수들을 조합하거나 적용할 때 사용되는 연산자다. 복잡한 함수를 쉬운 함수로 표현할 수 있게 도와준다. |> 연산자 시그니처는 다음과 같다. apR : a -> (a -> b) -> b apR x f = f x 첫번 째 인자를 받는다. 두번 째 인자를 함수로 받는다. 인자로 받은 함수에 첫번 째 인자를 전달하여 함수의 결과를 반환한다. 활용 예시로 사칙연산 함수가 있다고 가정하자. 수식 (3 + (1 - 2))*3 / 24 를 위 사칙연산 함수로 표현하면 다음과 같다. result = division 24 (multiply 4 (add 3 (minus 2 1))) 1.5 : Float 가독성이 상당히 떨어진다. 이를 쉽게 표한하기 위해 |> 연산자를 사용하면 다음과 같다. result =..
[Elm] 함수 파이프 연산자 (Pipe Operator)파이프 연산자는 함수들을 조합하거나 적용할 때 사용되는 연산자다. 복잡한 함수를 쉬운 함수로 표현할 수 있게 도와준다. |> 연산자 시그니처는 다음과 같다. apR : a -> (a -> b) -> b apR x f = f x 첫번 째 인자를 받는다. 두번 째 인자를 함수로 받는다. 인자로 받은 함수에 첫번 째 인자를 전달하여 함수의 결과를 반환한다. 활용 예시로 사칙연산 함수가 있다고 가정하자. 수식 (3 + (1 - 2))*3 / 24 를 위 사칙연산 함수로 표현하면 다음과 같다. result = division 24 (multiply 4 (add 3 (minus 2 1))) 1.5 : Float 가독성이 상당히 떨어진다. 이를 쉽게 표한하기 위해 |> 연산자를 사용하면 다음과 같다. result =..
2020.11.24 -
Union Type은 타 언어의 Enum Class와 비슷하다. Elm 에서 Union Type을 Tag 라고도 부른다. 선언 방법 type Answer = Yes | No 활용 예시 respond : Answer -> String respond answer = case answer of Yes -> "Good" No -> "Bad" > respond Yes "Good" : String > respond No "Bad" : String 포함 하기 Union Type은 관련된 정보를 포함할 수 있다. type Answer = Yes | No | Other String Other 태그는 String을 포함한다. 정의되었던 respond 함수를 다음과 같이 호출할 수 있다. respond : Answer ->..
[Elm] 유니온 타입 (Union Type)Union Type은 타 언어의 Enum Class와 비슷하다. Elm 에서 Union Type을 Tag 라고도 부른다. 선언 방법 type Answer = Yes | No 활용 예시 respond : Answer -> String respond answer = case answer of Yes -> "Good" No -> "Bad" > respond Yes "Good" : String > respond No "Bad" : String 포함 하기 Union Type은 관련된 정보를 포함할 수 있다. type Answer = Yes | No | Other String Other 태그는 String을 포함한다. 정의되었던 respond 함수를 다음과 같이 호출할 수 있다. respond : Answer ->..
2020.11.24 -
익명 함수 \x -> x + 1 \x y -> x + y \x y -> [x, 1, y, 2] 백슬래시와 화살표 사이에 함수의 인자들, 화살표 오른편에는 함수의 내용 활용은 다음과 같이 한다. > (\x y -> x * y) 2 3 6 : number x와 y를 곱하는 익명 함수에 x 값에 2, y 값에 3을 대입하여 결과 6이 된다. 이름 정의된 함수 add : Int -> Int -> Int add x y = x + y 인자로 받는 Type들과 결과 Type을 첫줄에 기입한다. 이를 Elm 에서 시그니처라고 불린다. 다음 줄 에 함수의 내용을 기입한다. 다른 언어와 다르게 공백 만으로 함수의 인자를 전달한다. 풀어서 쓰면 아래와 같다. Kotlin add(2, 3) Elm ((add 2) 3) add..
[Elm] 함수 (Function)익명 함수 \x -> x + 1 \x y -> x + y \x y -> [x, 1, y, 2] 백슬래시와 화살표 사이에 함수의 인자들, 화살표 오른편에는 함수의 내용 활용은 다음과 같이 한다. > (\x y -> x * y) 2 3 6 : number x와 y를 곱하는 익명 함수에 x 값에 2, y 값에 3을 대입하여 결과 6이 된다. 이름 정의된 함수 add : Int -> Int -> Int add x y = x + y 인자로 받는 Type들과 결과 Type을 첫줄에 기입한다. 이를 Elm 에서 시그니처라고 불린다. 다음 줄 에 함수의 내용을 기입한다. 다른 언어와 다르게 공백 만으로 함수의 인자를 전달한다. 풀어서 쓰면 아래와 같다. Kotlin add(2, 3) Elm ((add 2) 3) add..
2020.11.24 -
변수 선언 기본 방법 > a = 5 5 : number > a = True True : Bool > a = "Hi" "Hi" : String > a = [1, 2, 3] [1,2,3] : List number Variable Name = Value Elm은 Kotlin처럼 Smart Casting이 되므로 간단하게 변수를 선언할 수 있다. 변수 선언 제한적인 방법 > a: Int | a = 5 | 5 : Int Variable Name: Type Variable Name = Value 변수 선언 시 Type에 맞는 Value를 선언해야한다. Type에 맞지 않는 Value를 선언 시 오류가 발생한다. > a: Int | a = True | -- TYPE MISMATCH -------------------..
[Elm] 변수 (Variable)변수 선언 기본 방법 > a = 5 5 : number > a = True True : Bool > a = "Hi" "Hi" : String > a = [1, 2, 3] [1,2,3] : List number Variable Name = Value Elm은 Kotlin처럼 Smart Casting이 되므로 간단하게 변수를 선언할 수 있다. 변수 선언 제한적인 방법 > a: Int | a = 5 | 5 : Int Variable Name: Type Variable Name = Value 변수 선언 시 Type에 맞는 Value를 선언해야한다. Type에 맞지 않는 Value를 선언 시 오류가 발생한다. > a: Int | a = True | -- TYPE MISMATCH -------------------..
2020.11.20