盛者必衰というか

こんにちは、二つ名は『調教貫通』(スロウダンス)な樹さんです。

このネタはここからお試しください。

昨日、運動しないとまずいと思ってストレッチやら色々やったところ、今日は全身に筋肉痛が…
仕事ばかりで、なまるのを通り越していたようです。
比較的回復が早いはずのふくらはぎやら腹筋まで痛いのはどうなのか。
後、これは昔からですが前屈がマイナス20センチの攻防です。
バルサミコ酢か、バルサミコ酢なのか。

閑話休題。
今日は豚の角煮を作ってみました。
作り方は大体ネットで調べて、アバウトに。
ああいう料理は簡単でいいですね。
ただひたすら時間さえかければ、誰でもおいしくなるに決まってる。
今日作ったものも、5時間煮込んだのでおいしくいただけました。
…まあ、ちょっと分量間違えて、まだ鍋に半分以上残ってるわけですが。

ちなみに、うちのキッチンはIHです。
入居時に電気コンロと言われたのに、なぜかIHでした。
それ自体はウェルカムなのですが、問題はハイテクすぎて45分放置すると火が消える事。
これだとほっておくと何時間も煮る事ができんわ…!まるで…!

そもそも、風呂場の換気扇にタイマがあって、なぜ調理場にはないのか。
何分間茹でるとかそういうメニューも多いんだし、デフォルトでついていて然るべきだと思います。
誰か、勝手にアイデアパクっていいので商品化を!

PS.
と、いう話をしていたら、あるやつはあるらしいです。
うーん、中途半端にハイテクなのがいけないって事ですね。
キッチンが壊れてくれれば、風呂場のように無料で交換してくれるかな?かな?

個人的にですが、機械が「何かを勝手に決める」のは人間様にとってすごくムカつく事だと思います。
自分が決めた通りの事をするか、そうじゃなければ何もしないのがベスト。
Linux とか Vim とかは、そういう風にできているから好きで、そういう意味で自分で時間をセットできるタイマにこそ意義があると思います。
そして、だからこそ、Windows Vista が好きになれません…
日記 | comments (142) | trackbacks (0)

XML と XMLList

ActionScript には組み込みで XML クラスが存在します。
特徴は、要素をどんどん「.」でつないで取得できる事。
HTML が分かる人なら、ある要素の中にさらに別の要素が含まれるのは分かると思います。


<root>
<age>9</age>
<name>なのはさん</name>
<job>
<type>魔砲少女</type>
<company>一般協力者</company>
</job>
</root>


と、まあありがちなプロフィールを XML にしたとして。
ここから値を取ってきたい場合、 myXml に値が代入されているとして

var _type:String = String(myXml.job.type);

こんな感じ。キャストしてるのは念のため。
見てのとおり、一番上の要素は無視されます。

で、これの集合体が XMLList というオブジェクト。
集合体と言いましたが、正確には『最上位の要素以下に並列した複数の要素を持つ』という意味です。
上の例を変化させるとこんな形。


<root>
<person>
<age>9</age>
<name>なのはちゃん</name>
<job>
<type>魔砲少女</type>
<company>一般協力者</company>
</job>
</person>
<person>
<age>19</age>
<name>なのは様</name>
<job>
<type>管理局の白い魔王</type>
<company>時空管理局</company>
</job>
</person>
</root>


見てのとおり、最上位にあたる root 以下に複数の person 要素が存在しています。
こうした場合のクラスが XML の集合体である XMLList というわけ。
XMLList の要素数(ちなみに length() 『メソッド』で取得可能)が1つなら通常の XML クラスのようにアクセスできるのですが、複数ある場合配列のようにアクセスする事になります。

ここでひとつ注意点があります。

例えば、以下のようなケース。


<root>
<name>東方シリーズ</name>
<works>
<work>
<title>東方靈異伝 〜 Highly Responsive to Prayers</title>
</work>
<work>
<title>東方封魔録 〜 the Story of Eastern Wonderland</title>
</work>
</works>
</root>


めんどくさいので2つでやめにしますが、これの最上位以下は並列な要素ではないので、そのまま取得すると XML クラスです。
ですが、この XML が myXml に代入されているとして、このように値を取得すると話は別。

anotherXml:XML = myXml.works;

これはコンパイルは通る(ちなみに中身が何であろうと XML としてロード可能だったりします…)ものの、実行時にパースエラーになってしまいます。
理由は、 works という要素を最上位とすると、その下には並列に work 要素が並んでいるため。
この場合、XMLList として取得しない限りエラーになってしまいます。

と、いうわけで複数入りうる要素を取得する場合、必ず XMLList を使うべきなようです。
XML がパースできないと言われて、別のところを見て延々1時間は悩んだのですが…
Flash のコンパイラはエラーメッセージが少し不親切だと思います。
Rails が親切すぎるとも言いますが。
プログラム | comments (43) | trackbacks (0)