2013年8月 Archives

« 2013年7月 2013年9月 »

HaxeのGenericsは安全かつ簡潔

ごめんよHaxe、お前のすごさをわかったつもりでいたけど、まだまだ知らないことだらけだった。


どういうことか?


ジェネリクスを使ったコーディングに於いて、これまでこんなコードを書いてました。

class Hoge
{
    function new ()
    {
        var param:Array = ['ein','zwei','drei'];
        doSom(param);
    }
    function doSom(param:Array)
    {
        trace(param);
    }
}
上記コードはAS3経験者はこうやって書いてしまうと思う。java経験者もじゃないかな?
でもね、もっとシンプルでいいんだ。
class Hoge
{
    function new ()
    {
        doSom(['ein','zwei','drei']);
    }
    function doSom(param:Array)
    {
        trace(param);
    }
}
型推論の恩恵は偉大だ。doSom()の引数はArrayを指定してあるので、シンタックスシュガーでnewした場合もArrayが生成される。

タイプセーフかつ可読性が高い。Commandパターンで配列にcommandを生成/挿入した後、実行する場合など、爆速でコーディングできる。非常に幸せ。

RSS + Contuct

  • rss
  • email

Credit

Copyright (C) 2007 kappa-lab.com.
All Rights Reserved.