➤ Supabase➤ Scala➤ Github➤ React Native➤ projectdiscovery➤ Remix➤ Rescript➤ Purescript➤ npm➤ Cloudflare➤ React➤ Next.js➤ GO➤ Hyper-V➤ Tibero➤ Git➤ Algorithms, 2020년
퓨어스크립트 북 챕터5 두 번째 읽어보는 메모장
July 6, 2022Simple Pattern Matching
패턴 매칭을 사용하여 두 정수의 최대 공약수를 계산
- 유클리드호제법
gcd :: Int -> Int -> Int
gcd n 0 = n
gcd 0 m = m
gcd n m = if n > m
then gcd (n - m) m
else gcd n (m - n)
res로는 이런 느낌이려나
let rec gcd = (n: int, m:int): int => {
if (n > m) {
gcd(n - m, m)
} else {
gcd(n, m - n)
}
}
Simple Patterns
_
는 와일드 카드
fromString :: String -> Boolean
fromString "true" = true
fromString _ = false
toString :: Boolean -> String
toString true = "true"
toString false = "false"
let fromString = (s: string):bool => {
switch s {
| "true" => true
| _ => false
}
}
let toString = (b: bool):string => {
switch b {
| true => "true"
| false => "false"
}
}
Record Patterns and Row Polymorphism
- 다형성
- 동일한 명령에 다르게 반응하는 현상
- 동일한 함수를 다른 타입에 대응