AS3の…(rest)パラメータにハマった
Action Script3から追加された「…(rest)パラメータ」にハマりました。
「…(rest)パラメータ」というのは、関数の引数が何個でもいいよーっていう凄く便利な代物なのですが、「…(rest)パラメータ」で受け取った値を「…(rest)パラメータ」を要求する関数に渡そうとして半日くらいはまっていました。
具体的にはこんな感じ。
function hogehoge(commnad: string, callback : function, … args) : void{
var con : NetConnection = new NetConnection();
con.connect(・・・);
var responder : Responder = new Responder(callback, this.onFault);
con.call(command, responder, args);
}
これでamfphp を使ってPHP側にデータを渡すと、なぜか「array型」になる。
もちろん、PHP側でarrayから取り出す方法もあるが、侍プログラマ的にはNG。
なぜなら、キッチリ解決しないとあとで使い回しができないからである。
まず解決策として思いついたのが、「argumentsオブジェクト」。
「con.call(commnad, responder, arguments[2]); 」とかやってみたら、
コンパイル時にエラー!
「未定義のプロパティ arguments へのアクセスです。」
ナンデヤネン(`^`)!!!
リファレンスをよく読んでみたら、「…rest パラメータを使用したときは、argumentsを使えません」
・・・なるほど。
いろいろと調べていると、「AS3: 「… (rest)」で受け取ったパラメータを他の関数にそのまま渡す」ってのを発見!
それによると、「applyを使え!」
OH! That’s great!!!
たしかに、それなら行けますよね!
ってことで、最終的にはこんな感じ。
function hogehoge(commnad: string, callback : function, … args) : void{
var con : NetConnection = new NetConnection();
con.connect(・・・);
var responder : Responder = new Responder(callback, this.onFault);
var params : Array = new Array();
params.push(command);
params.push(responder);
params.push.apply(params, args);
con.call.apply(con, params);
}
あー、解決してよかった!

今日からおnew
eひと編集長 なかむらです。
昨日から4月。心機一転、わたしのアイテム、マウスがおnewになりました。
約2年、約4240時間。お世話になりました。
この汚れ具合に愛着が湧いてしまいます。愛し過ぎて、なかなか新しいマウスに変えることができず。。。

「デザイナーっぽい」ということで、社長に買っていただいたマウス。
Microsoft Optical Mouse byS+ARCK

シンプルで余計なボタンがなく、この丸みが手の中でほどよくフィットして、重くなく軽すぎず重さも丁度よくて、私はとても気に入っています。
こやつが2代目。今度はオレンジです。

マウスも新しくなり、今日から、いつもの2倍!仕事ができる!!ハズです。。。

明日
eひと編集長 なかむらです。
プロジェクト☆エルス 井原さんのインタビュー記事。明日、公開します。
現在、スタッフ中野にてPDFデータを、スタッフ近藤にて携帯サイトを作成中。頼もしいです。
eひとは、スタッフみんなで頑張っております。

緊張しますっ
eひと編集長 なかむらです。
今日、ながぁ~くかかってしまいましたが、
PROJECT ELSE(プロジェクト☆エルス)井原さんのインタビュー記事が完成しました。
さきほど、井原さんにご確認のお願いメールを送らせていただきました。
井原さんのお仕事は、翻訳業。
文章、コトバに深く携われるお仕事をされているだけに、ご確認いただくのはいつもに増して緊張します。
緊張しています。。。でも、少しワクワクもします。

おっと・・・
eひと編集長のなかむらです。
今日は、プロジェクト☆エルス 井原さんのインタビュー原稿を書く。予定だったのですが、もうこんな時間っ。
好きな食べ物は、一番先に食べるタイプの私ですが、好きなことは、「今の仕事が一段落したら・・・。」と、後でゆっくりやりたくなってしまう傾向ありです。(イカンですっ!)
昨日は、テープ起こしのアイテムをご紹介しましたので、本日はインタビューの必須アイテム「テープレコーダー」。
eひとでは、OLYMPUSのVoice-Trek V-41(ボイストレックV-41)を使って、インタビューを録音しております。

こやつ、シンプルなデザインで、操作性がよく、インタビューの場所に合わせて「マイク感度」を設定できるので、にぎやかな場所でも、結構声が聞き取りやすく、eひとスタッフのお気に入りです。
本体と電池部分を切り離すことができるセパレートデザインで、電池部分にUSBがついているのでデータをPCにうつすのもラクチン♪
ただ、セパレートゆえ落としたりすると、電池が本体から外れ、電源が切れます。
一度、録音中に落としてしまい、5分程のデータがとんでしまったことがありました。。。
明日こそ、原稿を書きたいです。

テープ起こし。終了!
eひと編集長、なかむらです。
今日は、eひとスタッフ中野に井原さんインタビューのテープ起こしをしてもらいました。
3時間弱あるインタビューを、4時間弱でテープ起こししちゃいました。さすがっ、若者。さすがっ、中野!
ちなみに、eひとではテープ起こしのアイテムとして、おこしやす/Okoshiyasu2 というフリーのソフトを使っています。
どんなんがいいか、フリーのものを数個試したところ、現在はこれに落ち着いてます。
「停止」、「再生」、「巻き戻し」、「早送り」の操作を、任意のキーボードキーに割り当てられるので、結構便利です。
明日から、原稿書きはじめます!
★イラスト:スタッフ近藤

FireMobileSimulator
Firefoxのみですが、優秀な携帯シュミレータです。
ちょっと確認したいようなときに便利。
iPhoneも対応しているのは驚きました。
絵文字も対応してくれているので、重宝します。
■FireMobileSimulator
http://firemobilesimulator.org/
