[정보-컴퓨터] [연재] 넴팩이의 F# 강좌 : 1강. Hello World!

https://www.flayus.com/49500244

 

안녕하세요, 넴팩이입니다.

오늘은 프로그래밍 언어를 배울 때 처음 시작하는 Hello World!에 대해 얘기하겠습니다.

 

코드는 다음과 같습니다.

 

let main =

    printf "Hello World!"

 

스크린샷 2020-02-10 13-13-09.png.jpg

 

스크린샷 2020-02-10 13-13-58.png.jpg

 

참으로 간단합니다.

이것이 F# 언어의 매력이기도 하죠.

 

일단 구문 하나하나를 설명하자면,

let main = : main 함수를 정의한다는 뜻입니다.

F#에서는 함수를 정의할 때와 변수를 정의할 때 모두 let을 이용합니다.

printf "Hello World" : Hello World를 콘솔에 출력하라는 의미입니다.

여기서 printf 대신 printfn을 쓰면 문장 끝에 \n이 들어가면서 한 줄이 띄워지게 됩니다.

 

스크린샷 2020-02-10 13-27-36.png.jpg

 

이렇게요.
 
또한, 다음과 같이도 표현할 수 있습니다.
 
코드:
 
let main =
    let text = "Hello World"
    printf "%s" text
 

스크린샷 2020-02-10 13-38-10.png.jpg

 

스크린샷 2020-02-10 13-38-32.png.jpg

 

이때 let text = "Hello World!"는
text란 이름의 변수를 정의하고 그 내용을 Hello World!로 정의한다는 뜻입니다.
(물론 수동으로 지정할 수도 있습니다. 이는 차후에 설명드리겠습니다.)
 
그리고 printf "%s" text는
형태가 string인 변수 text의 내용을 출력하라. 라는 명령입니다.
 
C언어의 printf와 상당히 유사하죠.
차이점이라면 F#에는 %A(auto)가 있어서 배열(array)이나 list 등도 거뜬하게 출력해낸단 점입니다.

또한 정수를 출력할 때 %d도 사용 가능하지만, F#에서는 %i를 더 많이 사용하는 것 같습니다.

 

스크린샷 2020-02-10 13-48-31.png.jpg

 

스크린샷 2020-02-10 13-48-46.png.jpg

 

그런데 여기서 한 가지 주의해야 할 점이 있습니다.

다음 코드를 보시죠.

 

스크린샷 2020-02-10 13-52-41.png.jpg

 

12가 나올 것으로 예상하시나요?

 

스크린샷 2020-02-10 13-55-10.png.jpg

 

땡!
11이 나왔습니다.
왜냐하면, 위 코드에선 2가지 문제점이 있습니다.
 
1. F#에선 =(등호)를 '대입'의 뜻으로 쓰지 않는다.
2. F#의 변수는 기본적으로 불변(immutable)이다.
 
이게 무슨 소리냐 하면, F#에서 대입 연산자는 <- 인데,
막상 이걸 사용하려 들면 이렇습니다.
 

스크린샷 2020-02-10 14-06-20.png.jpg

 

스크린샷 2020-02-10 14-06-42.png.jpg

 

그렇습니다.
x가 불변이기 때문에 x에 새로운 값을 대입하려는 시도가 차단된 것입니다.
 
이를 해결하기 위해서는, x를 변환 가능한(mutable) 변수로 설정해주어야 합니다.
 

스크린샷 2020-02-10 14-09-23.png.jpg

 

스크린샷 2020-02-10 14-09-30.png.jpg

 

이렇게 말이지요.
 
이상으로 1강을 마치겠습니다.
감사합니다.

댓글 4

The_Flo 2020.02.11. 21:40
선생님 잘배우고 갑니다.
댓글
권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?

분류 제목 글쓴이 날짜 조회 수
[공지] [필독] 플레이어스 디갤 장터 규정 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