F#F # 시작하기

비고

F #은 "기능 우선"언어입니다. 함수 와 함께 다양한 표현 유형을 모두 배울 수 있습니다.

오픈 소스 인 F # 컴파일러 프로그램을 IL로 컴파일합니다. 즉, C # 과 같은 .NET 호환 언어에서 F # 코드를 사용할 수 있습니다. Mono, .NET Core 또는 Windows의 .NET Framework에서 실행합니다.

버전

번역 출시일
1.x 2005-05-01
2.0 2010-04-01
3.0 2012-08-01
3.1 2013-10-01
4.0 2015-07-01

설치 또는 설정

Windows

Visual Studio (Express 및 커뮤니티를 포함한 모든 버전)가 설치되어 있으면 F #이 이미 포함되어 있어야합니다. 새 프로젝트를 만들 때 F #을 언어로 선택하십시오. 또는 다른 옵션을 보려면 http://fsharp.org/use/windows/ 를 참조 하십시오 .

OS X

Xamarin Studio 는 F #을 지원합니다. 또는 Microsoft의 크로스 플랫폼 편집기 인 OS X 용 VS 코드를 사용할 수 있습니다.
VS 코드 설치를 마치면 VS Code Quick Open ( Ctrl + P )를 실행 한 다음 ext install Ionide-fsharp 를 실행합니다

또한 Mac 용 Visual Studio를 고려할 수도 있습니다.

여기에는 다른 대안이 설명되어 있습니다 .

리눅스

배포 패키지 관리자 (Apt, Yum 등)를 통해 mono-completefsharp 패키지를 설치하십시오. 좋은 편집 경험을 위해 Visual Studio 코드 를 사용하고 ionide-fsharp 플러그인을 설치하거나 Atom 을 사용하고 ionide-installer 플러그인을 설치하십시오. 추가 옵션은 http://fsharp.org/use/linux/ 를 참조 하십시오 .

안녕, 세상!

이것은 "Hello, World!"라는 간단한 콘솔 프로젝트 코드입니다. STDOUT으로 설정하고 종료 코드 0 종료합니다.

[<EntryPoint>]
let main argv = 
    printfn "Hello, World!"
    0 

줄 바꿈 예제 줄별로 :

  • [<EntryPoint>] - 프로그램 ( 소스 )의 "진입 점을 설정하는 데 사용하는 방법"을 표시하는 .net 속성 .
  • let main argv - 이것은 하나의 인자 argv 가진 main 이라는 함수를 정의한다. 이것은 프로그램 진입 점이므로 argv 는 문자열 배열입니다. 배열의 내용은 실행될 때 프로그램에 전달 된 인수입니다.
  • printfn "Hello, World!" - printfn 함수는 첫 번째 인수로 전달 된 문자열 **을 출력하고 개행을 추가합니다.
  • 0 - F # 함수는 항상 값을 반환하고 반환 된 값은 함수의 마지막 표현식 결과입니다. 0 을 마지막 행으로 지정하면 함수는 항상 0 (정수)을 반환합니다.

** 실제로 하나의 문자열인데도 문자열이 아닙니다 . 실제로 TextWriterFormat 입니다. 선택적으로 정적으로 검사 된 인수를 사용할 수 있습니다. 그러나 "안녕하세요 세상"예제의 목적으로 문자열로 간주 될 수 있습니다.

F # 대화식

F # 대화식은 한 번에 한 줄씩 F # 코드를 실행할 수있는 REPL 환경입니다.

F #을 사용하여 Visual Studio를 설치 한 경우 "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" 를 입력하여 콘솔에서 F # Interactive를 실행할 수 있습니다. 리눅스 나 OS X에서 명령은 fsharpi 대신에 /usr/bin 있거나 /usr/local/bin 에 있어야합니다. F를 어떻게 설치했는지에 따라 - 어느 쪽이든 명령은 PATH 에 있어야합니다. 그냥 fsharpi 입력 fsharpi .

F # 대화식 사용의 예 :

> let i = 1 // fsi prompt, declare i
- let j = 2 // declare j
- i+j // compose expression
- ;; // execute commands

val i : int = 1 // fsi output started, this gives the value of i
val j : int = 2 // the value of j
val it : int = 3 // computed expression

> #quit;; //quit fsi

#help;; 사용하십시오. 도와주기 위해

;; 의 사용에주의하십시오. 이전에 입력 된 명령을 실행하도록 REPL에 알립니다.