はじめに
本エントリは「F# Advent Calendar 2013」の参加エントリです。
前日はF# MVPである@pocketberserkerさん……のはずなのですが、このエントリ書いている段階ではまだ公開されていないようです。ちなみに、一昨日は@gab_kmさんの「MailboxProcessor に処理をさせよう」でした。
[2013/12/10追記]
5日めのエントリ、アップされました!!!
「Javaで継続モナド」をF# に翻訳 – pocketberserkerの爆走
F#の対話環境「F# Interactive」
F#には、学習やちょっとしたコードを試したいときなどに便利な対話環境が用意されています。それが「F# Interactive」です。F# Interactiveを使うと、ビルド等の手間を省いて入力したコード片を即座に実行できるため、動きを確認しながら作業をしたい場合にはうってつけです。
このF# Interactive、通常はVisual Studioを起動して「表示」メニュー→「その他のウィンドウ」→「F# Interactive」として起動して使います(メニューを見るとショートカットキーCtrl+Alt+Fでも起動できるみたいです)。
ただ、いちいちVisual Studioを立ち上げないといけないのは面倒ですよね。
「F# Interactive」の実体「fsi.exe」
ではどうするか?答えは簡単で、「直接F# Interactiveを起動する」です。その際に使用するのが、F# Interactiveの実体である実行プログラム「fsi.exe」です。
fsi.exeは %ProgramFiles%(64bitなWindowsなら%ProgramFiles(x86)%)\Microsoft SDKs\F#\3.1\Framework\v4.0\Fsi.exe にあります。インストールしてあるVisual Studioのバージョンによっては、”3.1”の部分が違っていることもあるでしょうが、だいたいこの辺りにあります。
このfsi.exeをダブルクリックして実行すると、コマンド プロンプトで「F# Interactive」が起動します。
ショートカットやスタートスクリーン(メニュー)、タスクバーなどへのピン止めをしておけば、あっという間にF# Interactiveが使えて便利です!
F# InteractiveをConEmu上で利用する
ようやく本題です。便利なF# Interactiveですが、コマンド プロンプトでは少し味気ないですよね。そこで登場するのが、各種の「コンソールエミュレーター」です。今回はそれら中でも、「ConEmu」上でF# Interactiveを動かしてみます。
なお、余談ですが。私はつい最近まで「Console2」を使っていました。ただ、日本語を使うには野良ビルドされたバイナリで置き換える必要があったり、開発がそれほど活発ではありませんでした。それがConEmuでは解消されていますし、結構細かなカスタマイズも出来るため気に入っています(あと、Windowsではうまく表示できないという評判の「Ricty」フォントも、アンチエイリアスを「Standard」にすることで、結構綺麗に表示できます)。
では、本題に戻り、ConEmuの設定方法を見て行きましょう。まず、ConEmuの設定画面を出します。タイトルバーを右クリックしてコンテキストメニューから「Settings…」を選択します。
設定画面が表示されるので、左のツリーから「Startup」→「Tasks」を選択します。
「+」ボタンをクリックしてタスクを追加後、「Task name」に”F# Interactive”、「Task Parameters」に”/dir (fsi.exeのあるフォルダ)”、「Commands」に”fsi.exe”を入力して、「Save settings」ボタンをクリックします。
あとは、ConEmu上の「+」ボタンから、登録したF# Interactiveを選択して起動します。
これで、少しかっちょいいF# Interactiveの完成です!
まとめ
- F#は対話環境として「F# Interactive」がある
- 通常はVisual Studioの一つのウィンドウとして使用できる
- いちいちVS立ち上げるのめんどくさい
- F# Interactiveの実体は、fsi.exe
- 置き場所は %ProgramFiles%\Microsoft SDKs\F#\3.1\Framework\v4.0\Fsi.exe あたり
- ConEmu等のコンソールエミュレーターでfsi.exeを実行すれば、ちょっとかっこいいF# Interactiveができる
- これで快適なF# Interactiveライフを!
次は?
@brother_nomuさんの「F# で Oracle にアクセスしてみたよ! – nomurabbitの日記」です。