アカウント名:
パスワード:
になってループは消滅すると思ってたんですが。バージョンアップごとに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)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
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 を食らうみたいですが。
Re:Generics (スコア:0)
また,全てのオブジェクトがjava.lang.Objectを継承し,autoboxingもついたので言語レベルでのサポートがな
Re:Generics (スコア:0)
あんまり激しいことはできなさそう。
あくまでコレクションの要素の型制限程度なのかな。
Re:Generics (スコア:1)
1を聞いて0を知れ!
Re:Generics (フレームのもと -1) (スコア:0)
Re:Generics (フレームのもと -1) (スコア:0)
Java使いがMSプラットフォームで仕事をするとき.NETでやるとそれなりに幸せなんだけどな。
Re:Generics (フレームのもと -1) (スコア:0)
本心とは反対のことを言うことによってJavaを擁護してるんだ。
よく見てみろ。
本心なら自分で、フレームの
Re:Generics (フレームのもと -1) (スコア:0)
C++なんて欠陥オブジェクト指向「モドキ」言語として有名なのになー.
「Effective C++」をJava使いが読むと笑えるのなんの.
こんな落とし穴だらけの言語をありがたがるのは無知な証拠.
Re:Generics (フレームのもと -1) (スコア:0)
>こんな落とし穴だらけの言語をありがたがるのは無知な証拠.
他の言語使いからすれば Java もやっぱり物笑いの種。
まぁ C++ と違って Java は難しいところを省いてバカでも出来る言語として作られたからね。
Java対C++ (スコア:0)
他の言語って?
LISP?CLOS?Ruby?Smalltalk?Ada?APL?Phyton?BASIC?VB?C?Pascal?Objective-C?それともアセンブラかな?あれが一番難しい.
>まぁ C++ と違って Java は難しいところを省いてバカでも出来る言語として作られたからね。
でもC++プログラマはJavaを使いこなせない場合が多い.結局「バカでも使える言語」なんてのは存在しないのですよ.Javaを使いこなせないC++プログラマは,実はC++も使いこなせてない.
本質を理解せずに人の書き方を丸暗記して,使いこなした「つもり」になってる
Re:Generics (フレームのもと -1) (スコア:0)
あとはバカでも実行できる言語になったら大助かりなんだけど(´Д`;)。
ネイティブのバイナリと違って、だぶるくりっくでほおらかんたん、ってわけには行かないもの……。
Re:Java対C++ (スコア:0)
しかし、そんな私でも、あなたがダメ人間であることはよくわかりました。
Re:Generics (フレームのもと -1) (スコア:0)
現実を見ることの出来ないアホ発見。
Javaで作られてるアプリって、そんなに使いたいと思うか?
Re:Generics (フレームのもと -1) (スコア:0)
それは言語の問題ではなくアプリの問題でしょ。
使う側は何で作られていても気にしない。
Re:Generics (フレームのもと -1) (スコア:0)