F# 스크립트에서 NuGet 패키지를 사용한 폭속 개발
소개
지금까지 C#에서는 dotnet-script를 사용하여 NuGet 패키지를 사용하여 스크립트를 개발할 수있었습니다.
예를 들어, 다음과 같이 Json을 다루는 NuGet 패키지를 쉽게 사용할 수 있습니다.
Sample.csx#r "nuget: Utf8Json"
using Utf8Json;
var str = "{ \"key\":100 }";
var json = JsonSerializer.Deserialize<dynamic>(str);
Console.WriteLine($"key= {json["key"]}");
이번에는 F# 5에서 다음 구문이 공식적으로 지원되었다는 이야기입니다.
#r "nuget: Utf8Json"
C# 스크립트가 있고 괜찮습니다 ...
C# 스크립트의 경우 여러 가지를 준비해야하기 때문에 상당히 불편합니다.
자세한 내용은 이 기사을 참조하십시오.
사전 준비
.NET
이 기능은 F# 5 preview 1이기 때문에 필연적으로 .NET 5 이상이 필요합니다.
따라서 공식 페이지에서 최신 .NET을 설치해야합니다.
※2020/05/07 현재, 5.0.100-preview.3.20216.6이 최신
VSCode
텍스트 편집기는 무엇이든 좋지만 최근에는 VSCode가 자주 사용된다고 생각하므로 아래에 필요한 설정을 작성하십시오.
이번에는 VSCode에서 F# 개발을 수행하는 데 필요한 최소한의 확장 기능을 소개합니다.
구문 강조 표시, 코드 완성, 인텔리전스 등이 필요하지 않은 경우 설치하지 않아도 문제가 없습니다.
C# 확장
Ionide-fsharp가 의존하기 때문에 도입 필수입니다.
Ionide-fsharp 확장
구문 강조 표시 및 코드 완성과 같은 다양한 기능을 제공하는 확장 기능입니다.
settings.json
설치가 완료되면 VSCode 구성 파일을 편집하여 Ionide-fsharp가 .NET Core/5 및 F# 5 미리보기를 사용하도록 구성합니다.
settings.json{
"FSharp.fsacRuntime": "netcore",
"FSharp.fsiExtraParameters": [
"--langversion:preview"
]
}
F# 5가 공식적으로 출시 된 후에는 --langversion : preview가 필요하지 않습니다.
이용방법
VSCode의 경우
먼저 적절한 위치에 .fsx 파일을 만듭니다.
powershellmkdir "D:/src/sandbox"
new-item "D:/src/sandbox/main.fsx"
이번에는 D:/src/sandbox/
에 main.fsx
라는 파일 이름으로 만들었지만 원하는 위치에 원하는 이름으로 만들 수 있습니다.
그런 다음 VSCode에서 main.fsx를 엽니 다.
powershellcode -n "D:/src/sandbox/main.fsx"
그런 다음 다음과 같이 작성하여 VSCode를 닫은 다음 다시 "D :/src/sandbox/main.fsx"를 다시 엽니 다.
main.fsx#r "nuget: Utf8Json"
다시 열면 NuGet 패키지의 인텔리 센스가 활성화됩니다.
코드를 다음과 같이 수정하십시오.
* F#에는 dynamic이 없으므로 제대로 형식을 만듭니다.
main.fsx#r "nuget: Utf8Json"
open Utf8Json
type Foo = { Key:int }
"{ \"Key\":100 }"
|> JsonSerializer.Deserialize<Foo>
|> fun x -> printfn "Key= %d" x.Key
나머지는 실행 버튼을 누르면 실행됩니다.
dotnet 명령을 직접 사용하는 경우
먼저 코드를 다음과 같이 만듭니다.
main.fsx#r "nuget: Utf8Json"
open Utf8Json
type Foo = { Key:int }
"{ \"Key\":100 }"
|> JsonSerializer.Deserialize<Foo>
|> fun x -> printfn "Key= %d" x.Key
dotnet fsi에 --langversion : preview를 지정하여 실행하십시오.
powershelldotnet fsi --langversion:preview main.fsx
결론
겸손하게 말해 최고군요! !
Reference
이 문제에 관하여(F# 스크립트에서 NuGet 패키지를 사용한 폭속 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Midoliy/items/75ef70b701eae5df83aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#r "nuget: Utf8Json"
using Utf8Json;
var str = "{ \"key\":100 }";
var json = JsonSerializer.Deserialize<dynamic>(str);
Console.WriteLine($"key= {json["key"]}");
#r "nuget: Utf8Json"
.NET
이 기능은 F# 5 preview 1이기 때문에 필연적으로 .NET 5 이상이 필요합니다.
따라서 공식 페이지에서 최신 .NET을 설치해야합니다.
※2020/05/07 현재, 5.0.100-preview.3.20216.6이 최신
VSCode
텍스트 편집기는 무엇이든 좋지만 최근에는 VSCode가 자주 사용된다고 생각하므로 아래에 필요한 설정을 작성하십시오.
이번에는 VSCode에서 F# 개발을 수행하는 데 필요한 최소한의 확장 기능을 소개합니다.
구문 강조 표시, 코드 완성, 인텔리전스 등이 필요하지 않은 경우 설치하지 않아도 문제가 없습니다.
C# 확장
Ionide-fsharp가 의존하기 때문에 도입 필수입니다.
Ionide-fsharp 확장
구문 강조 표시 및 코드 완성과 같은 다양한 기능을 제공하는 확장 기능입니다.
settings.json
설치가 완료되면 VSCode 구성 파일을 편집하여 Ionide-fsharp가 .NET Core/5 및 F# 5 미리보기를 사용하도록 구성합니다.
settings.json
{
"FSharp.fsacRuntime": "netcore",
"FSharp.fsiExtraParameters": [
"--langversion:preview"
]
}
F# 5가 공식적으로 출시 된 후에는 --langversion : preview가 필요하지 않습니다.
이용방법
VSCode의 경우
먼저 적절한 위치에 .fsx 파일을 만듭니다.
powershellmkdir "D:/src/sandbox"
new-item "D:/src/sandbox/main.fsx"
이번에는 D:/src/sandbox/
에 main.fsx
라는 파일 이름으로 만들었지만 원하는 위치에 원하는 이름으로 만들 수 있습니다.
그런 다음 VSCode에서 main.fsx를 엽니 다.
powershellcode -n "D:/src/sandbox/main.fsx"
그런 다음 다음과 같이 작성하여 VSCode를 닫은 다음 다시 "D :/src/sandbox/main.fsx"를 다시 엽니 다.
main.fsx#r "nuget: Utf8Json"
다시 열면 NuGet 패키지의 인텔리 센스가 활성화됩니다.
코드를 다음과 같이 수정하십시오.
* F#에는 dynamic이 없으므로 제대로 형식을 만듭니다.
main.fsx#r "nuget: Utf8Json"
open Utf8Json
type Foo = { Key:int }
"{ \"Key\":100 }"
|> JsonSerializer.Deserialize<Foo>
|> fun x -> printfn "Key= %d" x.Key
나머지는 실행 버튼을 누르면 실행됩니다.
dotnet 명령을 직접 사용하는 경우
먼저 코드를 다음과 같이 만듭니다.
main.fsx#r "nuget: Utf8Json"
open Utf8Json
type Foo = { Key:int }
"{ \"Key\":100 }"
|> JsonSerializer.Deserialize<Foo>
|> fun x -> printfn "Key= %d" x.Key
dotnet fsi에 --langversion : preview를 지정하여 실행하십시오.
powershelldotnet fsi --langversion:preview main.fsx
결론
겸손하게 말해 최고군요! !
Reference
이 문제에 관하여(F# 스크립트에서 NuGet 패키지를 사용한 폭속 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Midoliy/items/75ef70b701eae5df83aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
mkdir "D:/src/sandbox"
new-item "D:/src/sandbox/main.fsx"
code -n "D:/src/sandbox/main.fsx"
#r "nuget: Utf8Json"
#r "nuget: Utf8Json"
open Utf8Json
type Foo = { Key:int }
"{ \"Key\":100 }"
|> JsonSerializer.Deserialize<Foo>
|> fun x -> printfn "Key= %d" x.Key
#r "nuget: Utf8Json"
open Utf8Json
type Foo = { Key:int }
"{ \"Key\":100 }"
|> JsonSerializer.Deserialize<Foo>
|> fun x -> printfn "Key= %d" x.Key
dotnet fsi --langversion:preview main.fsx
겸손하게 말해 최고군요! !
Reference
이 문제에 관하여(F# 스크립트에서 NuGet 패키지를 사용한 폭속 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Midoliy/items/75ef70b701eae5df83aa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)