[PowerShell V2 CTP3]PowerShellでF#

by HIRO 3. 7月 2009 09:07

今回はPowerShellからF#のコードを使用する方法についてです。

これまでの関連記事は

PowerShellでC#
PowerShellでVB.NET

です。

前回の記事で、Add-Typeコマンドレットの-Languageパラメータでは

言語 パラメータ値
C# CSharp
CSharpVersion3
VB.NET VisualBasic
JScript JScript

を指定可能だとお伝えしました。

PowerShellのヘルプを眺めていたら、F#も扱えるとのことだったので実験をしてみました。

まずは前提条件としてF#がインストールされていなければいけません。(自分の場合はF#の1.9.6.2がインストールされています。)

まずはPowerShellを起動し、下記のように入力してください。

PS>  cd "C:\Program Files\FSharp-1.9.6.2\bin"
PS C:\Program Files\FSharp-1.9.6.2\bin> Add-Type -Path FSharp.Compiler.CodeDom.dll
PS C:\Program Files\FSharp-1.9.6.2\bin> $provider = New-Object Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider 

1行目は自分のF#がインストールされている場所にあるbinディレクトリへの移動です。

2行目でF# Code CompilerをPowerShellで使用可能にします。

3行目でF#のプロバイダのインスタンスを$provider変数に代入します。

次にF#のソースコードを変数$sourceに代入します。SayHelloという関数をF#で記述しています。

$fSharpCode=@"
#light

let SayHello () = "Hello PowerShell"
"@ 

次に下記のように入力します。(ヘルプからのパクリ)

$fsharpType = Add-Type -TypeDefinition $fSharpCode -CodeDomProvider $provider -PassThru | where { $_.IsPublic }

これで下準備はOKです。

あとは下記のようにしてSayHello関数を使用します。

PS> $fsharpType::SayHello()
Hello PowerShell

最新のブログ

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell V2 CTP3 | コマンドレット

Calendar

<<  7月 2009  >>
月曜火曜水曜木曜金曜土曜日曜
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 PowerShell from Japan!!