2010年5月23日日曜日

ActionScript | 「数字」のソート

String配列 A:Array=["1","4","7","10"]のとき、
A.sort(); の結果は、予想に反して
["1","10","4","7"] でした。
なるほど、スクリプトとは言えどそこまで都合よくないようです。
では、数字と数値は異なるので
parseIntで10進数に変換して比較してみたのですが
[1,10,4,7] でした。
これが正しく評価できないのはよくわかりませんけど
解決方法はAdobeの以下のページにありました。
http://kb2.adobe.com/jp/cps/228/228665.html

例では引数のタイプも指定していないし、戻り値も指定していないので、警告エラーでました。
2回目のコンパイルでは通るようになりました。
しかし気持ち悪いのでちょっと考えて引数型Number、戻り値型Numberを定義すると警告エラーがでませんでした。

function xOrder (a:Number, b:Number):Number {
  if (a>b) {
    return 1;
  } else if (a
    return -1;
  } else {
    return 0;
  }
}

今日は雨降りですし、先ごろRealFlow5やFumeFX2の情報も公開されたので詳しくみてみましょうかね。

制作・©:のぼる/N.Lab