トップ «前の日記(2006-12-09) 最新 次の日記(2006-12-11)» 編集

日々の破片

著作一覧

2006-12-10

_ Amazonプラグイン

なんか、ちゃんと集計されなくなったような気がするんだけど(有り体に言えば2.0.3にして生成した後のリンクは常にゼロ。ためしに自分でクリックしてもゼロ)2.0.3をご利用の皆さんはいかがでしょうか?

(以前のリンク形式に変えればいいんだろうな、とは思うものの――そしてそれはそんな大した手間でもないし――、本当に現在のプラグインが生成するリンク形式が無効だとも信じられない)

_ Binary 2.0カンファレンス2006

1:30現在まだ締め切られていないのは、土曜日の夕方あたりから始めたからなのかな?

と不思議に思ったら、やはりそんなことはなくてShibuya Perl Mongersのトップページ告知では締め切りになっていた。それにしてもすさまじいTBスパムだなぁ。

_ オブジェクトイニシャライザ

それにつけても、JavaScriptの{x: a, y: b, ...}という記法はなんだろうとすごく疑問で、いくらprototype.jsのソースを読んでもわからない。

というか、いくらなんでもx: aというトークンを後ざしで作れるはずはない、と気づく。

で、ECMAの言語仕様とか見ればわかるだろうな、と思いながらもMSDNのJScriptの項を読んでいたら、{x:1, y:2} // Object literalという記述を発見。リテラルなのか。つまりは、var anonymous = new Object(); anonymous.x = 1; anonymous.y = 2;という意味だ。

ということは、CodeZineの記事のAjax.Requestの第2引数の説明は間違いだということだ。

というわけで修正。ここまで間違ったことを記事として書いたのは初めてだ。ごめんなさい。Ajax.Requestの第2引数はオプションパラメータをプロパティに持ったオブジェクトであって、それはprototype.jsが提供するハッシュではありません(冷静に考えればハッシュを作るには$H()という関数が必要になるのだから当然でした)。

修正は編集部のチェック後に反映されるので、来週の中ごろになります。それまでは、間違ったことが書かれていますのでご注意ください(と思ったら「編集中」という注釈付きで修正が反映されたページが公開されているようだ)。

本日のツッコミ(全10件) [ツッコミを入れる]
_ よしき (2006-12-10 05:51)

このイニシャライザは、Selfからの伝承ですね、きっと。

_ keisuken (2006-12-10 06:51)

> オブジェクトイニシャライザ<br>FlashのActionScript使ってるとよく使うのですが,あまり有名じゃないかもしれませんね.<br>#FlashのAPIの一部では使われています.MovieClip#attachMovieとか

_ arton (2006-12-10 13:56)

典型的な知ったか野郎なミスをしてしまったわけで反省することしきりです。しかも仕様書はECMAから買わなくてもMozilla.orgから入手できるのですね。<br>2000年のEdition3(http://www.mozilla.org/js/language/E262-3.pdf)からの記法だということまでは調べがついたけど、Self由来かどうかまではわからなかったです(というか、http://research.sun.com/self/release_4.0/Self-4.0/manuals/Self-4.1-Pgmers-Ref.pdf を眺めたけどむしろRubyのブロック記法みたいだなとか)。<br>#それはそれとしてオブジェクトイニシャライザはActionScriptのIdentifier: TypeName と相性が悪いように思う。http://developer.mozilla.org/es4/clarification/type_system.html

_ sumim (2006-12-10 21:21)

2000 年だと、SELF から直接…ということではなく、やはり SELF の強い影響下にある言語という意味で兄弟分にあたる NewtonScript から拝借した可能性もありますね。http://tinyurl.com/ydnbrd (インラインオブジェクト構文の項) もちろん偶然の一致ということも十分あり得ます。 あと老婆心ながら、SELF のオブジェクトリテラルの例は、当該記述の冒頭のブロックライクなものよりも、その次の 2.1.2 Data objects にある例(x と y、二つのスロットを持つオブジェクト)のほうがわかりやすいのでは…と思いました。 もちろん、SELF は Smalltalk のブロックリテラルを拡張した文法を用いているので、同じオリジンを共有する Ruby のブロック記法を連想されるのも当然といえば当然なのですが…。

_ arton (2006-12-10 22:23)

確かにそうですね。>2.1.2<br>NewtonScriptは、{ id: value, more-id: more-value }でまさにそっくりそのままで、なるほどと思いました。それにしてもNewtonというのは不思議なデバイスだったのだなぁとつくづく。

_ mumurik (2006-12-12 09:17)

ECMAからはECMA Scriptの仕様書は普通にpdfが無料で落とせると思うのですが、買うってどういう意味でしょう?

_ arton (2006-12-12 13:28)

ああ、そうなんですか。JISやANSI(だと思った。C99の仕様書は有料だったと思ったから)と同じように買わないと読めないのかと思っていました。

_ arton (2006-12-12 13:30)

#ちょっと意味不明か。ECMAも規格屋で仕様書売ってなんぼという商売をしていると思い込んでいたので、当然、仕様は買う必要があると思い込んでいたという意味です。

_ mumurik (2006-12-12 17:32)

いや、だいたいわかります>意味不明<br>ANSIやIEEEはお高いですからねぇ。<br>RFCやW3C、ECMAあたりはありがたいもんです。<br>なおECMA Scriptのspecはインタプリタ好きが読むと結構面白いのでお勧めします(短いし)

_ arton (2006-12-12 23:27)

確かに、ちょっと眺めただけでもおもしろそうでした。というか、書く前に読むべきだったよなぁ、と思いながら後で読む(おい


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え