コメント(全4件)
1〓4件を表示
mal ― 2006-08-08 01:36
怒涛のバグ報告ご苦労様です。
> 一番わからないのはステータスを RESOLVED から VERIFIED にする権限が誰にあるのかということだ。
本来は QA Contact の人がやることですけど、JS では明確に決まってないのかな? 報告者は RESOLVED にとめておくのがよさそうです。
> もっとも私の場合、Cygwin 上で OS_ARCH=Linux と指定して SpiderMonkey をビルドしているので、
私は
[URL] を参考にパッチをちょっと弄って mingw+MSYS でやってます。js32.dll も作れるので。
bug 328447 に期待したいところ。
bug 347593 の
for each (let { a: b } in [{ a: 2 }, { a: 3 }]) print(b);
は
for each (let {x:y} in {a:2,b:3}) print(y)
でも undefined,undefined で駄目ですよね。MDC の JS 1.7 の最後のサンプルはこの形だと思うのですが。
自分で報告orコメントすりゃいいのですが、仕様と合ってるかどうかと英語書きに自信がなくって...とりあえずここでコメントしときます。
余談:ついさっきまで x = let (a=3) { x+2; } はなんで駄目なんだろうと思ってました。let式最初の () の後ろは式が来るので
x = let (a=3) a+2;
x = let (a=3) (a+2);
x = let (a=3) (a+2,a+5);
x = let (a=3) ({k:a});
とかがありなんですね...
mal ― 2006-08-08 15:13
間違えました。
for each (let {x:y} in {a:2,b:3}) print(y)
ではなく
for each (let {x:y} in {x:2,a:3}) print(y)
です、スイマセン。
nanto_vi ― 2006-08-12 08:26
> 本来は QA Contact の人がやることですけど、
なるほど、QAの仕事でしたか。というよりQAの存在を忘れていました (^^;
> for each (let {x:y} in {x:2,a:3}) print(y)
これは
let {x:y} = 2;
print(y);
let {x:y} = 3;
print(y);
と解釈されるのでundefined (== (2).x), undefined (== (3).x)で正しいと思います。
MDC JS 1.7の最後の例のobjは多分こんな形かと。
var obj = [
{ name: "Alice", family: { father: "Bob" } },
{ name: "Carol", family: { father: "Dave" } }
];
mal ― 2006-08-13 01:11
なるほど。やっぱり仕様の読みが甘かった。
for each がよくわかってなかったようです。
for each (let {x:y} in {a:{x:"Hello"},b:{x:"World"}}) print(y);
こんなところでしょうか。
> MDC JS 1.7の最後の例のobjは多分こんな形かと。
オブジェクトの配列ですか。盲点でした。
セ記事を書く