Bruce.さん < こん??は でび です
On Sun, 15 Feb 2009 04:57:20 +0900
"Bruce." <kbk@...> wrote:
> setAttribute て引数を二個取りません?
> でびさんのスクリプトでは一個しか渡してませんから、
> not enough args (引数が足りないんじゃボケッ) エラーと。
んと、『釈迦に説法』という言葉を、まさにこのことか…と痛感しています。
以下、先生が生徒に「どのように考えてこのように解いたのか、説明してごらん。」
という指示を受けたのに答える感じで、書き出しますね。
まず、
> > var OTRMW = '"width","' + RMW + '"' ;
によって、文字列は結局、「"width","900"」というカタマリになります。
これはチャンとカタマリになっているのをalertで確認取りました。
で、こいつは OTRMWに代入され、等価になってるはずなので、
> > objectTag.setAttribute(OTRMW);
は結局、
例: objectTag.setAttribute("width","800");
のようになって、2個の引数が渡っている扱いになる「見込み」
(そうなるはず。そうなってほしい。)わけなんですね。
> > var OTRMH = '"height","' + RMH + '"' ;
> > objectTag.setAttribute(OTRMH);
の記述も同様に
例: objectTag.setAttribute("height","600");
となってほしいわけです。でも、そうなってくれない。
---------------
> Javaには variable interpolation はなかったはずですが・・・
え〜と、JavaScriptってば、ユーザ定義変数の内部展開はできないよ、と?
まさか、私は今、この辺の話題に首突っ込んでいるんですか?
↓
http://d.hatena.ne.jp/sawat/20070219/interpolate
http://hail2u.net/blog/coding/emulate_regexp_e_option_in_js.html
http://tdiary.ishinao.net/20050329.html#p01
http://la.ma.la/blog/diary_200512291411.htm
http://blog.livedoor.jp/dankogai/archives/50665223.html
http://blog.livedoor.jp/dankogai/archives/50766443.html
いずれのコードも、リプレースと正規表現を組み合わせて
何かやっているらしいことまではわかるんですが、
詳細の所、何をどういじっているんだか解読不能なんですが…。
# 特に弾さんのは、ご本人も「強力」とお書きなだけあって
# 複雑すぎて…。
> not enough args (引数が足りないんじゃボケッ) エラーと。
って、まさか、defineという非情な文字列が一個渡されている
だけかも、とか?
> 何でそっち(variable interpolation)の方向に行くのか不思議なんですが。
setAttributeは仰るように引数が2個必要。
しかし、その引数は ""で括って,で分割しないとイカン。
つまり、「"」という文字列や「,」という文字列も
setAttribute(★); の、★の部分に入れたいわけです。
ちうことは、「"width","900"」という文字列の場合、
「"」+「width」+「"」+「,」+「"」+「900」+「"」と、計7個を
連ねて入れてやれば正解。
> 検証って何を検証しようとしているのかもわかりません。
で、古籏コードの場合は、配列を順繰りに送っているだけなので
「"」という文字列や「,」という文字列は送信していない、と。
それを調べたつもりです。
---------------
で、せんせ〜、どーしたら解決できますか?
# やべー。朝だ。今朝は地域の災害対応訓練日だったはず…。
# 暇を持てあましたまだ元気な定年退職組が自治会に増え
# だした最近、休日に余計な行事が増える傾向にある気が…。
# とりあえず、寝まつ。
でび http://davi.txt-nifty.com/1984/