Visual Studio Code에서 F# 시작
Ionide 플러그 인을 사용하여 Visual Studio Code에서 F#을 작성하여 IntelliSense 및 코드 리팩터링으로 뛰어난 플랫폼 간 경량 IDE(통합 개발 환경) 환경을 얻을 수 있습니다. 플러그 인에 대해 자세히 알아보려면 Ionide.io 방문하세요.
시작하려면 F# 및 Ionide 플러그 인이 올바르게 설치되어 있는지 확인 합니다.
Ionide를 사용하여 첫 번째 프로젝트 만들기
새 F# 프로젝트를 만들려면 명령줄을 열고 .NET CLI를 사용하여 새 프로젝트를 만듭니다.
dotnet new console -lang "F#" -o FirstIonideProject
완료되면 디렉터리를 프로젝트로 변경하고 Visual Studio Code를 엽니다.
cd FirstIonideProject
code .
Visual Studio Code에서 프로젝트가 로드되면 창 왼쪽에 F# 솔루션 탐색기 창이 열립니다. 즉, Ionide가 방금 만든 프로젝트를 성공적으로 로드했습니다. 이 시점 이전에 편집기에서 코드를 작성할 수 있지만, 이 작업이 수행되면 모든 항목의 로드가 완료됩니다.
첫 번째 스크립트 작성
.NET Core 스크립팅을 사용하도록 Visual Studio Code를 구성한 후 Visual Studio Code의 탐색기 보기로 이동하여 새 파일을 만듭니다. 이름을 MyFirstScript.fsx로 지정합니다.
이제 다음 코드를 추가합니다.
let toPigLatin (word: string) =
let isVowel (c: char) =
match c with
| 'a' | 'e' | 'i' | 'o' | 'u'
| 'A' | 'E' | 'I' | 'O' | 'U' -> true
|_ -> false
if isVowel word[0] then
word + "yay"
else
word[1..] + string(word[0]) + "ay"
이 함수는 단어를 Pig Latin 형식으로 변환합니다. 다음 단계는 FSI(F# Interactive)를 사용하여 평가하는 것입니다.
전체 함수를 강조 표시합니다(길이는 11줄이어야 합니다). 강조 표시되면 Alt 키를 누른 상태로 Enter 키를 누릅니다. 화면 아래쪽에 터미널 창이 표시되며 다음과 유사하게 표시됩니다.
이것은 세 가지를했다 :
- FSI 프로세스를 시작했습니다.
- 강조 표시된 코드를 FSI 프로세스로 보냈습니다.
- FSI 프로세스는 사용자가 보낸 코드를 평가했습니다.
보낸 것이 함수이기 때문에 이제 FSI를 사용하여 해당 함수를 호출할 수 있습니다. 대화형 창에 다음을 입력합니다.
toPigLatin "banana";;
다음 결과가 표시됩니다.
val it: string = "ananabay"
이제 모음을 첫 글자로 사용해 보겠습니다. 다음을 입력합니다.
toPigLatin "apple";;
다음 결과가 표시됩니다.
val it: string = "appleyay"
함수가 예상대로 작동하는 것처럼 보입니다. 축하합니다. Visual Studio Code에서 첫 번째 F# 함수를 작성하고 FSI로 평가했습니다.
참고 항목
알아차렸을 수 있듯이 FSI의 줄은 .로 ;;
종료됩니다. FSI를 사용하면 여러 줄을 입력할 수 있기 때문입니다. 끝부분에는 ;;
코드가 완료된 시기를 FSI가 알 수 있습니다.
코드 설명
코드가 실제로 수행하는 작업을 잘 모르는 경우 단계별로 설명합니다.
보 toPigLatin
듯이 단어를 입력으로 사용하여 해당 단어의 Pig-Latin 표현으로 변환하는 함수입니다. 이에 대한 규칙은 다음과 같습니다.
단어의 첫 번째 문자가 모음으로 시작하는 경우 단어 끝에 "yay"를 추가합니다. 모음으로 시작하지 않는 경우 첫 번째 문자를 단어의 끝으로 이동하고 "ay"를 추가합니다.
FSI에서 다음을 확인할 수 있습니다.
val toPigLatin: word: string -> string
이는 toPigLatin
입력(호출word
)으로 사용하고 다른 string
함수를 string
반환하는 함수입니다. 이를 함수의 형식 서명이라고 하며 F# 코드를 이해하는 데 핵심적인 F#의 기본 부분입니다. Visual Studio Code의 함수를 마우스로 가리키면 이 사실을 알 수 있습니다.
함수 본문에는 다음과 같은 두 가지 개별 부분이 표시됩니다.
패턴 일치를 통해 제공된 패턴 중 하나와 일치하는지 검사 지정된 문자(
c
)가 모음인지 여부를 결정하는 내부 함수isVowel
입니다.let isVowel (c: char) = match c with | 'a' | 'e' | 'i' | 'o' | 'u' | 'A' | 'E' | 'I' | 'O' | 'U' -> true |_ -> false
if..then..else
첫 번째 문자가 모음인지 여부를 검사 첫 번째 문자가 모음인지 여부에 따라 입력 문자에서 반환 값을 생성하는 식입니다.if isVowel word[0] then word + "yay" else word[1..] + string(word[0]) + "ay"
흐름 toPigLatin
은 다음과 같습니다.
입력 단어의 첫 번째 문자가 모음인지 확인합니다. 이 경우 단어 끝에 "yay"를 첨부합니다. 그렇지 않으면 첫 번째 문자를 단어의 끝으로 이동하고 "ay"를 추가합니다.
F#에서는 함수에서 반환하는 명시적 명령이 없습니다. F#은 식 기반이고 함수 본문에서 계산된 마지막 식에 따라 해당 함수의 반환 값이 결정되기 때문입니다. if..then..else
자체 식이므로 블록 본문 또는 블록 본 then
문의 계산에 else
따라 함수에서 반환되는 값이 toPigLatin
결정됩니다.
콘솔 앱을 Pig Latin 생성기로 전환
이 문서의 이전 섹션에서는 F# 코드를 작성하는 일반적인 첫 번째 단계인 초기 함수를 작성하고 FSI를 사용하여 대화형으로 실행하는 것을 보여 줍니다. 이를 REPL 기반 개발이라고 하며, 여기서 REPL 은 "읽기-평가-인쇄 루프"를 의미합니다. 작동 중인 항목이 있을 때까지 기능을 실험하는 좋은 방법입니다.
REPL 기반 개발의 다음 단계는 작업 코드를 F# 구현 파일로 이동하는 것입니다. 그런 다음 F# 컴파일러에서 실행할 수 있는 어셈블리로 컴파일할 수 있습니다.
시작하려면 .NET CLI를 사용하여 이전에 만든 Program.fs 파일을 엽니다. 일부 코드가 이미 있는 것을 알 수 있습니다.
다음으로 호출 PigLatin
된 새 module
함수를 toPigLatin
만들고 앞에서 만든 함수를 다음과 같이 복사합니다.
module PigLatin =
let toPigLatin (word: string) =
let isVowel (c: char) =
match c with
| 'a' | 'e' | 'i' | 'o' | 'u'
| 'A' | 'E' | 'I' | 'O' | 'U' -> true
|_ -> false
if isVowel word[0] then
word + "yay"
else
word[1..] + string word[0] + "ay"
이 모듈은 함수 위 main
와 선언 아래에 open System
있어야 합니다. 선언 순서는 F#에서 중요하므로 파일에서 함수를 호출하기 전에 함수를 정의해야 합니다.
이제 함수에서 main
인수에 대해 Pig Latin 생성기 함수를 호출합니다.
[<EntryPoint>]
let main args =
for arg in args do
let newArg = PigLatin.toPigLatin arg
printfn "%s in Pig Latin is: %s" arg newArg
0
이제 명령줄에서 콘솔 앱을 실행할 수 있습니다.
dotnet run apple banana
그러면 스크립트 파일과 동일한 결과가 출력되지만 이번에는 실행 중인 프로그램으로 표시됩니다.
Ionide 문제 해결
다음은 발생할 수 있는 특정 문제를 해결할 수 있는 몇 가지 방법입니다.
- Ionide의 코드 편집 기능을 얻으려면 F# 파일을 디스크에 저장하고 Visual Studio Code 작업 영역에서 열려 있는 폴더 내부에 저장해야 합니다.
- Visual Studio Code를 열어 시스템을 변경했거나 Ionide 필수 구성 요소를 설치한 경우 Visual Studio Code를 다시 시작합니다.
- 프로젝트 디렉터리에 잘못된 문자가 있는 경우 Ionide가 작동하지 않을 수 있습니다. 이 경우 프로젝트 디렉터리 이름을 바꿉니다.
- Ionide 명령이 작동하지 않는 경우 Visual Studio Code 키 바인딩을 검사 실수로 재정의하는지 확인합니다.
- 컴퓨터에서 Ionide가 중단되고 위의 문제가 해결되지 않은 경우 컴퓨터에서
ionide-fsharp
디렉터리를 제거하고 플러그 인 제품군을 다시 설치해 보세요. - 프로젝트를 로드하지 못한 경우(F# 솔루션 탐색기 표시됨) 해당 프로젝트를 마우스 오른쪽 단추로 클릭하고 세부 정보 보기를 클릭하여 자세한 진단 정보를 가져옵니다.
Ionide는 F# 커뮤니티의 구성원이 빌드하고 기본 오픈 소스 프로젝트입니다. 문제를 보고하고 ionide-vscode-fsharp GitHub 리포지토리에 자유롭게 참여할 수 있습니다.
Ionide Gitter 채널의 Ionide 개발자 및 F# 커뮤니티에서 추가 도움을 요청할 수도 있습니다.
다음 단계
F# 및 언어의 기능에 대해 자세히 알아보려면 F#둘러보기를 검사.
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기