アカウント名:
パスワード:
になってループは消滅すると思ってたんですが。バージョンアップごとに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()); とすれば、特別なアクセスの仕組みはいらないはずです。システムの持っている資源を見て並列化してくれたりするといいと思います。
(略)Cライクになったというのが大きい
printf("%q",123); とかありえないものを使うとコンパイル時にエラーが出ます。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
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 ){
hoge.moge()
}
と書けるようになってるので、ずぼらな俺にとってはさらに幸せになれそうです。
でも、rc2使ってると javacがたまに「Heapが足りません」(全然余ってるのに)
という感じのワケワカなエラー出してたので、まだ仕事では使うつもりは
ありません。
printfも使えるようになるから早く乗り換えたいんですけどねー。
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)
Re:Generics (スコア:0)
Re:Generics (スコア:0)
そしてオートボクシング実装でやっと
Cライクになったというのが大きいのです。
今回もコンパイラでの実装なので面白いことに
printf("%q",123);
とかありえないものを使うとコンパイル時にエラーが出ます。
これはこれでいいですけどね。
Re:Generics (スコア:1, 参考になる)
でませんよ? 実行時に java.util.UnknownFormatConversionException を食らうみたいですが。