Visual Studio 2013 には F# interactive というインタープリタ版の F# コマンドラインツールがあります。これを使うと、数値の計算とかコードの検算とかが楽なので便利に使っているのですが、Xamarin Studio にも F# interactive があります。
Xamarin Studio で「ビュー」→「パッド」→「F# interactive」で開くと、文字化けをしていますが開きます。フォントが悪いのか、ここのペイン(パッド)の文字解析部分が悪いのかわからないのですが、一応使えます。あらかじめ、XamarinでF#を使う方法 | Moonmile Solutions Blog で示したようなアドインを入れておく必要があります。
この Gallary の中に「C# interactive」というのがあって、名前の通り C# のインタープリタなようです。試してみようと思って、インストールして動かしてみるのですが、以下なエラーを吐いて落ちてしまいます。
んー、元のソースはないかと思って調べると、praeclarum/CSharpInteractive にあります。SQLite.net の作者の方ですね。見ると、mac 上の xamarin studio では動いているようなので、ちょっとソースを覗いてみると、なところでパスが指定されていました。
public class CSharpInteractiveSession : ProcessInteractiveSession
{
public override string GetFileName ()
{
return “/Library/Frameworks/Mono.framework/Versions/Current/bin/csharp”;
}
}
このパスは何なのだろうと思ったら、mono には csharp という C# インタープリタがあるんですね。これをインストールしないダメっぽいのです。んが、Windows の場合は、このパスにインストールされる訳ではないので多分書き換えないと駄目です。
Download – Mono
http://www.go-mono.com/mono-downloads/download.html
から mono 一式をダウンロードすると、csharp.exe は C:/Program Files (x86)/Mono-3.2.3/lib/mono/4.5/csharp.exe なところにあります。この部分を修正して、更に参照設定を monotouch のものから Windows のものに切り替えます。
アドインのパッケージのつくり方が分からないので、アドインの DLL を直接変更します。
C:/Users/masuda/AppData/Local/XamarinStudio-4.0/LocalInstall/Addins/CSharpInteractive.CSharpInteractive.1.0/CSharpInteractive.dll
を差し替えてやればOKです。
■これで動くかな?
と思ったのですが、残念。Console アクセスでエラーになっているので、mac のターミナルと windows のコマンドラインの差をうまく変更しないと駄目そうですね。
ちなみに、csharp.exe をコマンドラインで動かすとうまく動きます。
書いた後に気づいたのですが、Download LINQPad でもいいし、CsharpRepl – Mono でも十分かも。