Io 言語のインストール(Windows)と Emacs モードの設定

今回は Io の Windows へのインストール方法の紹介です。Emacs の io-mode についても書いています。

Io はプロトタイプベースのオブジェクト指向言語です。 結構、マイナーな言語ですが、 『7つの言語 7つの世界』 に載っていて、ちょっと試してみようと思い、インストールしてみました。

7つの言語 7つの世界7つの言語 7つの世界
(2011/07/23)
Bruce A. Tate

商品詳細を見る

ダウンロードとリンク

インストール用のバイナリーパッケージは、 Io Langeuage のサイトからダウンロードできます。 lang_io_dl.png


情報サイトもいくつか挙げておきます。

インストール

ダウンロードした圧縮ファイルは中にさらに自動解凍形式の圧縮ファイルが入っています。
その中のフォルダー構成は以下のようになっています。
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 で動かないので個人的にはあまり使っていませんが、 ちょっと動作を試したいという時に使えるんじゃないかと思います。

lang_io_inter.png


-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)
2 つ目は [Enter] が "改行 + インデント" になっている点です。
しかもインデントがあまり賢くないので、インデントを戻したい時は削除していく必要があります。 ここで保存時のインデント削除が生きてくるのでしょうが、ちょっと特殊です。

[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)
スポンサーサイト



 

FC2ブログで記事の編集用リンクをつける方法

FC2 ブログで過去の記事を編集する時、どうしていますか ?
昔の記事を読んでいて誤字を見つけたり、追記をしたくなったりした場合、 管理ページの [記事の管理] から辿るのはちょっと面倒です。
そんな時、その記事の編集ページを開くリンクがあると便利です。 最近、編集ページのアドレスが変わったこともあり、 今回は編集ページへのリンクの付け方について説明したいと思います。

といっても、リンクをつけるのは結構簡単です。
テンプレートで記事(<!--topentry--> <!--/topentry-->)内に、次の記述を追加するだけです。
<a href="<%server_url>control.php?mode=editor&amp;process=load&amp;eno=<%topentry_no>" target="_blank" title="編集(管理用)">Edit</a>
場所は topentry のブロック内であればどこでも構いません。
ただ、管理者以外には不要なリンクなので、こっそり付けておいた方がいいと思います。 このブログでは記事の下の方につけています。

テンプレートの構成や topentry 等の変数がよくわからないという方は過去の記事を見て下さい。
使う場合にはちょっと注意点があります。
編集のリンクをクリックした後、ログインページになることがあります。 この場合は開けないので、一度ログインした後、再度リンクをクリックして下さい。

追記 2013-05-31
また少しアドレスが変わったみたいなので、リンク用のコードを修正しました。

 

選択した文字を weblio 英和・和英辞典や Wikipedia で検索するブックマークレット

今回はブラウザー上で選択した文字を weblio の英和・和英辞典や Wikipedia で検索するブックマークレットの紹介です。


weblio は素晴らしい辞書サイトです。 いろんな辞典から検索するため、専門的な用語や新しい用語などの単語にも結構対応しています。

ただ、難点は検索が手間なことです。
  "検索したい単語をコピーし、 weblio のサイトを開いて、貼り付けて、 [Enter]"
といった手順は 翻訳ソフトに付いている辞書検索機能などと比べると面倒です。 そこで、ブラウザー上の単語であれば一発で調べられるブックマークレットを作成しました。


実は 用語(国語辞典)検索では検索用のブックマークレットが Weblio のサイトで公開されています。 しかし、英和・和英辞典用のものはは見当たりませんでした。 無いなら作ろうってことで、 英和・和英辞典検索のブックマークレットを用意しました。

用語検索のコードを修正して作ったのですが、 1 点改良しているところがあります。
用語検索では weblio のページを開くとき同じウィンドウで開かれます。 それだと若干使いづらいので、別ウィンドウ(タブ)で開くようにしています。


別ウィンドウで開く用語検索の改良版もあわせて載せています。
また、同じように作れそうだったので、ついでに Wikipedia 検索用のブックマークレットも作成しています。



使用する場合は、 ページ上部の「Weblio英和・和英」のリンクをブックマークのツールバーにドラッグ & ドロップ しておいて下さい。
en_weblio_bookmarklet.png

検索したい単語をダブルクリックやドラッグで選択状態にして、追加したブックマークのリンクをクリックすると、 選択した単語を検索結果のページが開きます。

単語は英語、日本語のどちらでも構いません。 サイトの方で 英和、和英 を切り替えてくれます。


他のリンクも使用方法は同じです。



 
このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
31位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
5位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

03月 | 2013年04月 | 05月
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。