코드로 비교
import Foundation
// -- 명령형 프로그래밍 --
func doSomething1() {
print("do something")
}
func doAnotherThing1() {
print("do another thing")
}
func excuteAll1() {
doSomething1()
doAnotherThing1()
}
excuteAll1() // "do something"
// "do another thing"
// -- 함수형 프로그래밍 --
func doSomething2() {
print("do something")
}
func doAnotherThing2() {
print("do another thing")
}
func excute2(tasks: [() -> Void]) {
for task in tasks {
task()
}
}
excute2(tasks: [doSomething2, doAnotherThing2]) // "do something"
// "do another thing"
// -- 두 수의 합을 구하고 싶은 경우 --
// 명령형 프로그래밍
func sum1(first: Int, second: Int) -> Int {
return first + second
}
sum1(first: 2, second: 1) // 3
// 함수형 프로그래밍
func sum2(first: Int) -> ((Int) -> Int) {
return { second in first + second }
}
sum2(first: 2)(5) // 3
'공부 > computer science' 카테고리의 다른 글
JPEG vs PNG (0) | 2022.03.17 |
---|---|
Encoding (0) | 2022.03.14 |
비동기 프로그래밍 방식에 대해 알아보자 (2) | 2022.02.01 |
프로그래밍 디자인 패턴에 대해 알아보자 (0) | 2022.01.28 |
Pure ALOHA (1) | 2021.02.14 |
댓글