[정보-컴퓨터] [연재] 넴팩이의 F# 강좌 : 1강. Hello World!
- 넴팩이
- 227
- 4
- 13
https://www.flayus.com/49500244
안녕하세요, 넴팩이입니다.
오늘은 프로그래밍 언어를 배울 때 처음 시작하는 Hello World!에 대해 얘기하겠습니다.
코드는 다음과 같습니다.
let main =
printf "Hello World!"
참으로 간단합니다.
이것이 F# 언어의 매력이기도 하죠.
일단 구문 하나하나를 설명하자면,
let main = : main 함수를 정의한다는 뜻입니다.
F#에서는 함수를 정의할 때와 변수를 정의할 때 모두 let을 이용합니다.
printf "Hello World" : Hello World를 콘솔에 출력하라는 의미입니다.
여기서 printf 대신 printfn을 쓰면 문장 끝에 \n이 들어가면서 한 줄이 띄워지게 됩니다.
이렇게요.
또한, 다음과 같이도 표현할 수 있습니다.
코드:
let main =
let text = "Hello World"
printf "%s" text
이때 let text = "Hello World!"는
text란 이름의 변수를 정의하고 그 내용을 Hello World!로 정의한다는 뜻입니다.
F#은 힌들리-밀너 타입 추론(https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system) 을 이용하기 때문에 변수의 타입을 자동으로 인식하고 지정합니다.
(물론 수동으로 지정할 수도 있습니다. 이는 차후에 설명드리겠습니다.)
그리고 printf "%s" text는
형태가 string인 변수 text의 내용을 출력하라. 라는 명령입니다.
C언어의 printf와 상당히 유사하죠.
차이점이라면 F#에는 %A(auto)가 있어서 배열(array)이나 list 등도 거뜬하게 출력해낸단 점입니다.
또한 정수를 출력할 때 %d도 사용 가능하지만, F#에서는 %i를 더 많이 사용하는 것 같습니다.
그런데 여기서 한 가지 주의해야 할 점이 있습니다.
다음 코드를 보시죠.
12가 나올 것으로 예상하시나요?
땡!
11이 나왔습니다.
왜냐하면, 위 코드에선 2가지 문제점이 있습니다.
1. F#에선 =(등호)를 '대입'의 뜻으로 쓰지 않는다.
2. F#의 변수는 기본적으로 불변(immutable)이다.
이게 무슨 소리냐 하면, F#에서 대입 연산자는 <- 인데,
막상 이걸 사용하려 들면 이렇습니다.
그렇습니다.
x가 불변이기 때문에 x에 새로운 값을 대입하려는 시도가 차단된 것입니다.
이를 해결하기 위해서는, x를 변환 가능한(mutable) 변수로 설정해주어야 합니다.
이렇게 말이지요.
이상으로 1강을 마치겠습니다.
감사합니다.
분류 | 제목 | 글쓴이 | 날짜 | 조회 수 | |
---|---|---|---|---|---|
[공지] | [필독] 플레이어스 디갤 장터 규정 18 | RealmiND | 7791 | 18 | |
[공지] | 통합 디지털 갤러리 규정집 (2022년 1월 11일) 19 | 이리야스필 | 10899 | 18 | |
[정보-컴퓨터] |
기본
|
마린12 | 285 | 16 | |
[정보-컴퓨터] |
이미지
|
이오 | 179 | 9 | |
[정보-컴퓨터] |
기본
|
고랑 | 91 | 3 | |
[정보-컴퓨터] |
이미지
|
Sso! | 263 | 21 | |
[정보-컴퓨터] |
이미지
|
Sso! | 229 | 14 | |
[정보-컴퓨터] |
이미지
|
재가입한효정 | 71 | 2 | |
[정보-컴퓨터] |
이미지
|
Sso! | 287 | 24 | |
[정보-컴퓨터] |
이미지
|
Sso! | 80 | 5 | |
[정보-컴퓨터] |
이미지
|
Sso! | 211 | 14 | |
[정보-컴퓨터] |
이미지
|
녹두로 | 84 | 4 | |
[정보-컴퓨터] |
이미지
|
Sso! | 211 | 9 | |
[정보-컴퓨터] |
이미지
|
녹두로 | 147 | 3 | |
[정보-컴퓨터] |
기본
|
녹두로 | 59 | 2 | |
[정보-컴퓨터] |
이미지
|
Sso! | 87 | 1 | |
[정보-컴퓨터] |
이미지
|
Sso! | 222 | 13 | |
[정보-컴퓨터] |
이미지
|
Sso! | 202 | 14 | |
[정보-컴퓨터] |
이미지
|
Sso! | 88 | 3 | |
[정보-컴퓨터] |
이미지
|
청녹백 | 147 | 3 | |
[정보-컴퓨터] |
기본
|
천사시체공식부계정 | 273 | 11 | |
[정보-컴퓨터] |
기본
|
Glenfiddich | 90 | 4 |