アカウント名:
パスワード:
になってループは消滅すると思ってたんですが。バージョンアップごとに1ラインずつ減っていくのでしょうか。<>も中途半端で良いような悪いような。
jgl [recursionsw.com]では、述語のオブジェクトの中のexecuteというメソッドを定義すると、その引数にcollectionの中身が放り込まれるようになっています。イベント処理、paintメソッドなどでも、陽に渡した訳でないオブジェクトが放り込まれてきますよね。もっと奇麗なAPIを誰か考えないかなあって思いますよ。
jglでは、述語のオブジェクトの中のexecuteというメソッドを定義すると、その引数にcollectionの中身が放り込まれるようになっています。
execute メソッドを含めたオブジェクトを渡す、という方法にすると無名クラスを使うとタイプ数も(場合によっては)インデントも増え、無名クラスでない場合は局所変数が使えなかったり、ル
説明不足でした。jglでは Applying.foreach(collection, predicate); であり、このforeachメソッドの中でcollectionのiteratorを取り、引数で渡って来る、exectueメソッドを実装したpredicateオブジェクトに対して、 predicate.execute(i.next()); とすれば、特別なアクセスの仕組みはいらないはずです。システムの持っている資源を見て並列化してくれたりするといいと思います。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
Generics (スコア:1)
Re:Generics (スコア:3, 参考になる)
List l;
...
Iterator it = l.iterator();
while( it.hasNext() ){
Hoge h = (Hoge)it.next();
h.moge();
}
と、Listから取り出すときにいちいちキャストするのが気持ち悪かったのが、
List<Hoge> l;
...
Iterator<Hoge> it = l.iterator();
while( it.hasNext() ){
Hoge hoge = it.next();
hoge.moge();
}
と書けるんで、それだけでも幸せにはなります。
さらに for の拡張によって、
List<Hoge> l;
...
for( Hoge hoge : l ){
Re:Generics (スコア:1)
> hoge.moge()
>}
foreach(collection, 述語);
になってループは消滅すると思ってたんですが。バージョンアップごとに1ラインずつ減っていくのでしょうか。<>も中途半端で良いような悪いような。
Re:Generics (スコア:0)
この文法って暗黙のうちに宣言されている変数とかを導入しないと無理じゃないかと。たぶんJavaでは採用されないと思いますが。
Re:Generics (スコア:1)
jgl [recursionsw.com]では、述語のオブジェクトの中のexecuteというメソッドを定義すると、その引数にcollectionの中身が放り込まれるようになっています。イベント処理、paintメソッドなどでも、陽に渡した訳でないオブジェクトが放り込まれてきますよね。もっと奇麗なAPIを誰か考えないかなあって思いますよ。
Re:Generics (スコア:0)
execute メソッドを含めたオブジェクトを渡す、という方法にすると無名クラスを使うとタイプ数も(場合によっては)インデントも増え、無名クラスでない場合は局所変数が使えなかったり、ル
Re:Generics (スコア:1)
説明不足でした。jglでは
Applying.foreach(collection, predicate);
であり、このforeachメソッドの中でcollectionのiteratorを取り、引数で渡って来る、exectueメソッドを実装したpredicateオブジェクトに対して、
predicate.execute(i.next());
とすれば、特別なアクセスの仕組みはいらないはずです。システムの持っている資源を見て並列化してくれたりするといいと思います。
Re:Generics (スコア:0)