アカウント名:
パスワード:
最適化の期待できないVMで高速に動かすためのテクニックだったりして。(たぶん過去の遺物だと思うけど)
# 組込機器のjavaでリフレクション使って怒られた経験から。
それにしたって、「自動生成されたコードがこうなってました」ならまだしも、こんなの手で打ち込むとかありえないでしょ。
最近はCD-ROMが添付されたり記載されたURLからダウンロードできたりしないのか?
なるほど、「著者がどうやってこのソースを作ったのか」の他に、「読者がどうやってこの情報を使うのか」という問題もあるわけですね。
前者は、コンパイラの最適化の結果出てくるアンロールされたループがこんな感じだから、高速化か何かのために自動生成されたソースとしてはあり得なくはないという擁護は可能。
後者に関しても、CD-ROMからソースをコピーしてくれば良いので問題無し、という擁護は可能。
後はまあ、紙の誌面をそれに割くなというツッコミぐらいですね。
キーコードが飛び飛びのランダムな値を取るのなら有りだろうもっともそれなら if~then~else if~を延々と続けるのではなく、if~then をダラダラ並べれば良いが連想配列とか面倒なことは持ち出さないでくれ#組み込みの世界ではベタなコードが必要ならベタベタのコードを書く
ワーストケース考えると末尾のelseまで全部判定しないといけない。Cなら標準ライブラリの bsearch 関数使う場面。
コピー&ペーストの機能のあるエディターがあるなら普通でしょやりたいことを忠実に記述してるんだから問題は無い
lQのひいくフリしたレスがういまな
そうですね。せめて二分木で実装すべきですね。#チゲー
そうですね。せめて二分木で実装すべきですね。#ハードコードされた二分木って見たことないなぁ
C言語なら、普通はテーブルを使うと思いますが?
# マクロを使うかどうかと言う話ですら無いかと。
それ以前に、コード変換の必要性を検討した方が良いな。まあ、馬鹿なシステム側のおかげで、こういうくだらない事をしなければならない、ってケースはあろうけど。
ちなみに現在(API12(Android 3.1)以降)は、標準で変換できるKeyEvent#keyCodeToStringという専用メソッドが用意されてるので、それなりに需要はあったのかなーと
http://developer.android.com/reference/android/view/KeyEvent.html#keyC... [android.com]
Cならコンパイル時に最適化されるからswitch文を使うかなあJavaはよく知らない
全部テーブルにしちゃったら、「キーが複数押されている」みたいな場合分けができないんじゃないの?
ヒント:else
ダイナミックにキーコードが変化するんだよ
確かにリフレクションは遅いがこれはいくらなんでも・・・
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
もしかして高速化のため? (スコア:1)
最適化の期待できないVMで高速に動かすためのテクニックだったりして。(たぶん過去の遺物だと思うけど)
# 組込機器のjavaでリフレクション使って怒られた経験から。
notice : I ignore an anonymous contribution.
Re:もしかして高速化のため? (スコア:2)
それにしたって、「自動生成されたコードがこうなってました」ならまだしも、こんなの手で打ち込むとかありえないでしょ。
Re: (スコア:0)
最近はCD-ROMが添付されたり記載されたURLからダウンロードできたりしないのか?
Re: (スコア:0)
なるほど、「著者がどうやってこのソースを作ったのか」の他に、「読者がどうやってこの情報を使うのか」という問題もあるわけですね。
前者は、コンパイラの最適化の結果出てくるアンロールされたループがこんな感じだから、
高速化か何かのために自動生成されたソースとしてはあり得なくはないという擁護は可能。
後者に関しても、CD-ROMからソースをコピーしてくれば良いので問題無し、という擁護は可能。
後はまあ、紙の誌面をそれに割くなというツッコミぐらいですね。
Re: (スコア:0)
キーコードが飛び飛びのランダムな値を取るのなら有りだろう
もっともそれなら if~then~else if~を延々と続けるのではなく、if~then をダラダラ並べれば良いが
連想配列とか面倒なことは持ち出さないでくれ
#組み込みの世界ではベタなコードが必要ならベタベタのコードを書く
高速じゃないし (スコア:0)
ワーストケース考えると末尾のelseまで全部判定しないといけない。
Cなら標準ライブラリの bsearch 関数使う場面。
Re: (スコア:0)
コピー&ペーストの機能のあるエディターがあるなら普通でしょ
やりたいことを忠実に記述してるんだから問題は無い
Re: (スコア:0)
lQのひいくフリしたレスがういまな
Re: (スコア:0)
そうですね。せめて二分木で実装すべきですね。#チゲー
Re: (スコア:0)
そうですね。せめて二分木で実装すべきですね。
#ハードコードされた二分木って見たことないなぁ
Re: (スコア:0)
C言語なら、普通はテーブルを使うと思いますが?
# マクロを使うかどうかと言う話ですら無いかと。
Re: (スコア:0)
それ以前に、コード変換の必要性を検討した方が良いな。まあ、馬鹿なシステム側のおかげで、こういうくだらない事をしなければならない、ってケースはあろうけど。
Re:もしかして高速化のため? (スコア:1)
ちなみに現在(API12(Android 3.1)以降)は、標準で変換できるKeyEvent#keyCodeToStringという専用メソッドが用意されてるので、それなりに需要はあったのかなーと
http://developer.android.com/reference/android/view/KeyEvent.html#keyC... [android.com]
Re: (スコア:0)
Cならコンパイル時に最適化されるからswitch文を使うかなあ
Javaはよく知らない
Re: (スコア:0)
全部テーブルにしちゃったら、「キーが複数押されている」みたいな場合分けができないんじゃないの?
Re: (スコア:0)
ヒント:else
Re:もしかして高速化のため? (スコア:1)
ダイナミックにキーコードが変化するんだよ
Re: (スコア:0)
確かにリフレクションは遅いがこれはいくらなんでも・・・