2008-05-01から1ヶ月間の記事一覧

coreutilsを元のコマンド名のままインストールする

with_default_namesのオプションをつけて実行すればよい $ sudo port install coreutils +with_default_names実際には、gがついたコマンド(ファイル本体)と元のコマンド名(シンボリックリンク)の両方がインストールされる

UTF-8を表示する

以下を実行するとUTF-8が表示出来るようになる。 > chcp 65001主なコードページ番号 932 Shift_JIS 50220 ISO-2022-JP 51932 EUC-JP 65001 UTF-8 Windowsコードページ一覧 調査結果をもとに推定した情報であり、Microsoft社による公式情報ではありません。 h…

パース結果を見る

メッセージオブジェクトを見るとパース結果がわかる f := method(call message argAt(0))上記の関数を使っていろいろ試した結果。 Io> f(x+y) ==> x +(y) Io> f(x+y) name //xを取り出す ==> x Io> f(x+y) next ==> +(y) Io> f(x+y) next name //+を取り出す…

JSON風オブジェクトリテラル

JavaScriptのように、{a : 1, b : 2}といった表記でオブジェクトを生成出来るようにする。 実行例 Io> doFile("json.io") Io> {a : 1, b : 1+1} ==> Object_0x4b8c48: a = 1 b = 2コード本体 可変長引数を受け取る{}メソッドとして実装 {} := method( obj :=…

文字コード変換メソッド

Implicit conversionsの練習として、文字コード変換メソッドを書いてみた。 Stringクラス自体にメソッドを追加するのではなくて、元クラスにメソッドがなかったときに、 自動的に変換処理を実行して、変換先のメソッドを使うようにするというのはおもしろい…

ntldrからのgrubの起動

Grub4Dosをダウンロード GRUB4DOS and WINGRUB http://sourceforge.net/project/showfiles.php?group_id=104188 grldrとmenu.lstとdefaultをc:\にコピー boot.iniに以下を追加 c:\grldr="GRUB"これでntldrのメニューに"GRUB"が加わる。 解説サイト GRUB for …

Swingを使う

とりあえずイベントを扱う練習。ボタンを押したらHelloと表示するサンプル。 関数を渡せる言語だと、actionPerformedメソッドの中身を渡してインスタンスが作れるので便利だ。 デバッグ用にインタプリタ内から実行するときは、閉じるボタンでインタプリタま…

簡易テキストエディタ

XUL

先日のFileクラス等の定義をio.jsというファイルに保存。 それを利用したサンプルということで簡易テキストエディタを作ってみた。 <window title="editor" onload="init()" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script src="io.js"/> <script></window>

ローカルファイルアクセス用Fileクラス

XUL

JavaScriptからローカルファイルにアクセスするためのXPCOM利用版のFileクラスを作ってみた。 使用例 d:\tmp\a.txtのFileオブジェクトをfに代入して読み書きする例。 readが読み出し。readしたあとはcharsetプロパティがセットされる。 writeが書き込み。現…

AIRでのfcshの使用

fcshを使うと、2回目以降のコンパイルが速いらしい。 configname=airを指定するとamxmlcとしても使える。 1回目のコンパイルを以下のように実行。 > fcsh (fcsh) mxmlc +configname=air browser.mxml2回目からはcompileコマンドにターゲットIDを指定してコン…

AIR版最小ブラウザ

MXMLにも<mx:HTML>というタグがあるので簡単に作れる。 レンダリングエンジンはGeckoではなくWebKit。 browser.mxml アプリケーション本体。 Enterキー入力のイベントがenter=で書けるのはいい。 <mx:Application width="640" height="480" layout="absolute" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:VBox width="100%" height="100%"> </mx:vbox></mx:application>

日本語文字コードの判別

XUL

文字コードの判別はバイナリデータの難しい処理というイメージがあったけど、そこそこの精度でいいなら意外と単純だった。 今回の方針は、半角カナは無視、UTF-8の優先度高め、という方針。 各ESC(0x1B〜)が出た場合はISO-2022-JP(確定) 第1バイトで指定され…

XULRunner版最小ブラウザ

XUL

とりあえずURL欄とコンテンツ表示欄だけの最小限の構成。 <browser>というタグがあるので簡単に作れる。 <window title="browser" width="800" height="600" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> </window>

XPCOM取得用ずぼら関数

XUL

欲しいXPCOMを得るのに長々と書くのがつらくなってきたので手抜きをする関数xpc()を作ってみた。 通常時 Components.classes['@mozilla.org/network/file-output-stream;1'].createInstance(Components.interfaces.nsIFileOutputStream);xpc()使用時 xpc('cr…

日付と時刻をTで繋ぐ表記方法

日付と時刻を両方表現したい場合は2008-05-16T11:25:30+09:00 つまり日付と時刻をTでつなげる。 これが世界的スタンダードとしてISO8601とRFC3339に定められた日付と時刻の表現方法。 有名どころの言語やらデータベースその他ミドルウェアはすべてこれに沿っ…

XULRunnerからFirefoxを起動

XUL

FirefoxでURLにchrome://browser/content/を入力すると内側にもう一つのFirefoxを起動出来る。 なので、これをXULRunnerから直接起動することを考える。 firefox/chrome/browser.manifest すでに以下の内容が記入されているのでそのまま利用 content browser…

Firefoxからの実行とXULRunnerからの実行の共存

XUL

単一のXULファイルをFirefoxとXULRunnerの両方から起動出来るようなファイル配置を考える。 firefox/がFirefoxというXULアプリケーションにとってのルートディレクトリで、 間借りしたfirefox/chrome//がというXULアプリケーションにとってのルートディレク…

無理矢理オブジェクト指向

なんちゃって複素数クラスを考えてみた 使用例 Complexクラスのインスタンス1+2iを生成してcに代入 $ Complex 1 2 > c $ chmod +x cオブジェクトcに実部、虚部、文字列表現を質問してみる $ c real 1 $ c image 2 $ c toString 1+2icとcを足し算させてみる。…

編集モードにする

これで印刷前に不要箇所が消せる javascript:document.body.contentEditable="true";document.designMode="on";void0

Java上と.NET上での実行

以下のhello.scalaが変更無しに両方で実行出来るか試す。 object hello extends Application { println("Hello, world!") } Java編 コンパイル。これでhello.classが出来る。(一緒にhello$.classも出来る) > scalac hello.scala直接hello.classを実行 > java…