作者: Bruce.
日時: 2009/2/15(04:57)
Bruce.です。

Javaには variable interpolation はなかったはずですが・・・

davi さんは書きました (2009/02/15 3:04):

> # 実は、OK WAVEとかの発言ID取得って、やり方がよくわからんのですよね…。
> # 楽天IDとかYahoo!IDとかでそのまま入れるのでしょうか。
> # お返事にポイント、ってのも、仕組みがよくわからん。

OKWaveはいろんなところと提携していて、IDも提携先のがつかえますが
楽天やYahoo!のは無理ですね。

> ○Javascriptその2(でびの応用)
> 
> function SetWidthHeightSize(){
>     var RMW = document.getElementById("right_menu").clientWidth;
>     var RMH = document.documentElement.clientHeight;
>     var OTRMW = '"width","' + RMW + '"' ;
>     objectTag.setAttribute(OTRMW);
> 
>     var OTRMH = '"height","' + RMH + '"' ;
>     objectTag.setAttribute(OTRMH);
> 
> alert(RMW);
> alert(RMH);
> alert(OTRMW);
> alert(OTRMH);
> }
> 
> さて、Javascriptその1を踏まえて、上記のようにしてみました。
> IE7、Firefox2ともに動きません。
> 
> IEの場合は、エラーが出てもその先に進むので、アラートが
> 表示されますが、その表示結果を見た感じでは、文字列生成に
> ついては上手くいっているようです。
> 
> Firefox2のエラーコンソールによると、
> 
>> エラー: uncaught exception: [Exception... "Not enough arguments"
>> nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"
>> location: "JS frame ::file:///〜/hoge.html ::
>> SetWidthHeightSize :: line 123"  data: no]
> 
> とか意味不明な無愛想なエラーを返してきます。
> setAttributeに放り込んだユーザ定義変数が、うまく展開されて
> いないのか?という印象です。

setAttribute て引数を二個取りません?
でびさんのスクリプトでは一個しか渡してませんから、
not enough args (引数が足りないんじゃボケッ) エラーと。


> 
> -------------------
> ○検証用Javascriptその3(古籏DOM本 Rist3.38をちょっと改変。)
> 
> 上記とは別のファイルとして作成。
> 以下のコードは、ちゃんと動きました。
> 
> function apChild(){
>     var mItem = ["国語","算数","理科","社会" ];
>     var ulTag = document.getElementById("classList");
>     for (i in mItem){
>         var liTag = document.createElement("li");
>         var tNode = document.createTextNode(mItem[i]);
>         liTag.appendChild(tNode);
>         ulTag.appendChild(liTag);
>     }
> }
> 
> 
> <body onload="apChild();">
> <h1>appendChild</h1>
> <ul id="classList"></ul>
> </body>
> 
> -------------------
> ○考察
> 
> 以上の実験から帰納して、「"」の展開が上手くいっていないのかなぁ?
> と考え、実体参照文字列「&quot;」で置き換えてみたり、
> string = new String(string) で、
> 
> objectTag.setAttribute(new String(OTRMW) );
> 
> とやってみましたが、どうも上手く行かない…。
> 
> Perlとかだと、想定外の所でも展開されてしまってビックリするような
> 場合すらありますが、各種ブラウザのJavascriptとDOM実装は、どうも、
> そんな感じとも違うようです。

何でそっち(variable interpolation)の方向に行くのか不思議なんですが。
検証って何を検証しようとしているのかもわかりません。

-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
  mail kbk [at] kt.rim.or.jp
        web  www.kt.rim.or.jp/~kbk/zakkicho/
             homepage3.nifty.com/farstar/