2006-03-01から1ヶ月間の記事一覧
prototype.js の Enumerable を自分のクラスで利用しようと思ったところ、幾つか問題にぶつかったため、以下の点を修正します。 include メソッドの名前変更 Mixin のための include メソッドが Enumerable のメソッドとカブることには元々気付いていました…
Bloglines の記事をはてなブックマークに登録する Greasemonkey スクリプトが、Firefox 1.5 + Greasemonkey 0.6.4 で動作しない旨のお話を頂きましたので、僭越ながらパッチを書いてみました。 --- bloglines.hatenabookmark.user.js~ 2006-03-27 13:50:40.0…
これまで私が prototype.js の拡張を行ってきた中で、JavaScript という言語に対する姿勢について明確に述べたことは無かったかも知れません (英語版では少し触れたんですが)。なので、いささか唐突ですが、ここで改めて (かつ少々乱暴に) 表してみようと思…
Update [20060317]: Mozilla および Opera で動作する (はずの) バージョンを書きました。IE 版も、ちょっとした不具合がありましたので修正しました。 Bloglines ユーザーの方は "Clippings" という機能を便利に使ってらっしゃるでしょうか?正直、使いにく…
私が prototype.js に基づいた OO プログラミングをしていて度々思うのが、メソッドをプライベートにする方法が無いものだろうか、ということです。オーソドックスな、function 文を使用するクラス定義方法であれば、以下の様に関数を "this" と関連付けない…
JavaScript 1.3 で arguments の caller プロパティーが非推奨とされていたことを知りました: http://docs.sun.com/source/816-6408-10/function.htm http://www.interq.or.jp/student/exeal/dss/ref/jscript/object/arguments.html現在の 1.5 では利用も出…
昨日ご紹介した新たなクラス定義の手法を適用して、id:reinyannyan:20051015:1129356763 の Singleton Pattern の実装をアップデートしてみましょう。今回も prototype.js を利用した形です。シングルトン・クラス作成メソッド: Class.singleton = function …
Class.abstract と Class.concrete を統一すべきか id:reinyannyan:20051028:p1 等で Class.abstract() と Class.concrete() というクラス作成メソッドを提案しました。prototype.js で、抽象クラスを定義するのに空関数を使っているのがちょっと格好悪いな…
関数を遅れて実行させたいなと思うことがたまにありますので、prototype.js にある bind メソッド*1に習って、再利用可能な形にしてみました: Function.prototype.delay = function (delay) { window.setTimeout(this, (delay * 1000)); };(最初に bind の実…
前の記事でさりげなく登場していたこの行 if (!comd.kind_of(Command.Abstract))について解説いたしましょう。Ruby には kind_of? というメソッドがあり、オブジェクトが、任意のクラスまたはそのサブクラスのインスタンスかどうかを調べます。"?" こそ付け…
Command Pattern の話の続きです。最初にこのコマンド処理の仕組みを作った時、私はジョブ処理の方式として「キュー」を用いました。人の行列のイメージですね。最も長く待ったものが最初に処理されるという方式です。これでしばらくは満足だったんですが、…
リンクだけ張らせて頂きます。記事 コード古い記事は rss に反映されないんですね…?