Io 言語のインストール(Windows)と Emacs モードの設定
今回は Io の Windows へのインストール方法の紹介です。Emacs の io-mode についても書いています。
Io はプロトタイプベースのオブジェクト指向言語です。 結構、マイナーな言語ですが、 『7つの言語 7つの世界』 に載っていて、ちょっと試してみようと思い、インストールしてみました。![]() | 7つの言語 7つの世界 (2011/07/23) Bruce A. Tate 商品詳細を見る |
ダウンロードとリンク
インストール用のバイナリーパッケージは、 Io Langeuage のサイトからダウンロードできます。
情報サイトもいくつか挙げておきます。
インストール
ダウンロードした圧縮ファイルは中にさらに自動解凍形式の圧縮ファイルが入っています。その中のフォルダー構成は以下のようになっています。
IoLanguage/ ├ bin/ └ lib/これを任意のフォルダーに展開します。
解凍後の bin フォルダーを 環境変数 PATH に追加するか、 フルパスで使用します。
私の場合は Unix 系のフォルダー構成のものは d:/usr にしているので、 IoLanguage 以下のフォルダーを d:/usr に移動して使っています。
使用法
bin フォルダー以下に io.exe があり、これを使用します。使用法: io [-h | -e expr | -i file.io, file.io, ...| file.io arg, arg, ... | --version] オプション: --version バージョン情報の表示 -h ヘルプの表示 -e コードを引数として渡して実行 -i 指定ファイルを読み取った後、対話モードを起動Io はインタープリター型の言語です。コマンドにソースファイルを渡して実行します。
~/seven/io $ io hello.io foo bar
Hello Io
0:hello.io
1:foo
2:bar
ソースファイルを書くときに注意点があります。コメントも含め、日本語を記述する場合は文字コードを UTF-8 にして下さい。 Shift-JIS だと固まる場合があります。
hello.io :
"Hello Io" println # コマンドライン引数の出力 System args foreach(cnt, val, writeln(cnt, ":", val))引数なしか -i の場合は対話モードで起動します。
eshell で動かないので個人的にはあまり使っていませんが、 ちょっと動作を試したいという時に使えるんじゃないかと思います。

-e でコードを渡すとそれを実行して終了します。
通常使わないと思いますが、 他のアプリとの連携などに向いています。
Emacs 用モードのインストール
Io 用の Emacs モードのインストール方法についても紹介します。パッケージにはなっていないようなので、GitHub から io-mode.el ファイルをダウンロードします。 io-mode.el ファイルだけのダウンロードで大丈夫でしょう。
ダウンロードについては以前の記事をご覧下さい。 ダウンロードしたら、ファイルを load-path の通ったフォルダーに置きます。
~/emacs.d/init.el に以下の記述を追加して下さい。 拡張子が io のファイルを開くと io-mode となります。
(add-to-list 'auto-mode-alist '("\\.io\\'" . io-mode)) (autoload 'io-mode "io-mode" "Major mode to edit Io language files in Emacs." t)私の環境では上手く動きませんでしたが、 C-c <SPC> などで emacs 上でのコードの評価もできるらしいです。
以上で設定は完了です。
ただ、使っていて気に入らなかった点が 2 点ほどありました。 私の場合はその修正もしています。
1 つ目はファイルを保存するとき、勝手に空白を削除する機能です。
私は結構まめに保存する方なので、インデントが消えてかなり邪魔です。 Emacs のカスタマイズで機能を無効にすることができます。
- io ファイルを開いて io-mode
- M-x customize-mode
- [Io Cleanup Whitespace] の項目を [off] にして、設定(Set)、保存(Save)
しかもインデントがあまり賢くないので、インデントを戻したい時は削除していく必要があります。 ここで保存時のインデント削除が生きてくるのでしょうが、ちょっと特殊です。
[Enter] はただの改行で、 Ctrl+j が "改行 + インデント" という動作が標準的だと思います。
io-mode.el の 338 行目付近の "C-m" を "C-j" に変更すると、 キーバインドが修正されます。
;;;###autoload (define-derived-mode io-mode fundamental-mode "Io" "Major mode for editing Io language..." (define-key io-mode-map (kbd "C-j") 'io-newline-and-indent) (define-key io-mode-map (kbd "C-c <SPC>") 'io-repl) (define-key io-mode-map (kbd "C-c C-c") 'io-repl-sbuffer)
- 関連記事
-
- 多重継承禁止とインターフェース, Mix-in の許可
- Io 言語のインストール(Windows)と Emacs モードの設定
- Prolog のインストール(Windows) と Emacs の設定
- JDKのインストール(Windows)と Java 関連用語の説明
- Scala のインストール(Windows)と Emacs モードの設定
Facebook コメント
コメント