公開日:2008.06.02
いい天気だ外に出よう
Hey, Scripting kiddy! は皆様のPCを通じた悩みなどをScript kiddyのスクリプトで解決しようという企画です。
今日のお便りはレミングスさんからです。 「Script kiddyさん、こんにちは。聞いてください。学校のComputer scienceの課題でVBSを使ったソートプログラムを書きなさいと言われました。VBSでデータのソートなんて、ハンバーガーをパンから作るようなもんです。そうでしょう。Script kiddyさん。」
レミングスさん、こんにちは。Script kiddyはバーベキューが好きです。コロナを飲みながら5月の庭で焼く手ごねハンバーグの味が想像できるでしょうか。Script Kiddyはあれ以上においしいものは無いと思います。そんなバーベキューがすばらしいです。そしていつも焼き上がったハンバーグをアツアツのパンにはさむ前に目覚まし時計に起こされます。そうです。夢です。Script kiddyはそんな夢を見ながらこの文章を書いています。
果たしてレミングスさんはパンをこねるところから始めないといけないのでしょうか。Script kiddyがCostco(※1)に行く方法を教えてあげましょう。
dataArray = Array(20, 23, -4, -39, 12, 4 , 209, 9, 34, 0)
Set objSort = CreateObject("System.Collections.ArrayList")
For each a in dataArray
objSort.Add a
Next
objSort.Sort
str = "昇順 :"
For Each a In objSort.toArray()
str = str & a & ", "
Next
objSort.Reverse
str = str & vbCrLf & "降順 :"
For Each a In objSort.toArray()
str = str & a & ", "
Next
WScript.Echo str
どうでしょうか。ここにはあの面倒で退屈でスクリプトを読みにくくするソートルーチンがありませんね。 .net Frameworkのいくつかのクラスは、ActiveXオートメーションから利用することができるのです。System.CollectionsのだいたいのコレクションクラスはVBSから利用可能(※2)で、さらにコレクションクラスが持つソートを使うことができるのです。これでパンを焼く必要が無くなりましたね。
そろそろ暖かくなってきたのでバーベキューがしたいですね。レミングスさん、いかがでしょうか。もしあなたがバーベキューをしたくなったら、是非Script kiddyを誘ってください。バックパックにビールを詰めてすぐに駆けつけます。
それでは、Script kiddyはバーベキューフレーバーのポップコーンを食べながら寝ることにします。
※1 米国に本社がある完全会員制のスーパーマーケット。日本には2カ所店舗がある。
※2 ちなみに同じように使えてほしいADO.NETは使えません。なんという囲い込み・・・!
※注 これは、Microsoftがやっている「Hey,scripting guy!」のパクリ企画です。 ご意見、ご要望はお問い合わせよりお願いします。
