アカウント名:
パスワード:
テーブルを使うといいのでしょうか?
String[][] KeyEventTable = {{KeyEvent.KEYCODE_1, "KEYCODE_1"}, {KeyEvent.KEYCODE_2, "KEYCODE_"}, …};for (int i = 0 ;; i++) if (keyCode == KeyEventTable[i][0]) ret=KeyEventTable[i][1];
2行で書けた ^^/
> 2行で書けた ^^/
だが待って欲しい。それを2行と言うなら、原典は1つのif文だから1行ではないだろうか。
keyCodeがsignedで負値だった場合への対応とか、想定外の値をとった場合の対応が必要そう。
8bitの時は全パターン網羅しておくのも大した手間じゃなかったが、16bit以上で網羅は・・やったことはあるんだけどw
色々突っ込みが入ったので直してみました。
// keyCodeはintでKeyEventで定義される値以外が入ってはいけない。違反したときの戻り値は不定String[][] KeyEventTable = {{Integer.toString(KeyEvent.KEYCODE_1), "KEYCODE_1"}, {Integer.toString(KeyEvent.KEYCODE_2), "KEYCODE_2"}};for (int i = 0 ; i KeyEventTable.length ; i++) if (keyCode == Integer.parseInt(KeyEventTable[i][0])) ret=KeyEventTable[i][1];
仕様を定義すればいいのですよね。1行増えてしまった(;_;)
この例題だと、単に"KEYCODE_1"を返してるだけですが、教科書ということを踏まえればあとあとには押されたキーに応じた処理をそこに埋め込むようになるのではないかと予想します。
それならば、この単純な配列での実装は如何なものかと思うのです・・・・。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日本発のオープンソースソフトウェアは42件 -- ある官僚
文句を言う資格のある奴はより良い案を出した奴だけだ。 (スコア:2)
Re: (スコア:0)
テーブルを使うといいのでしょうか?
String[][] KeyEventTable = {{KeyEvent.KEYCODE_1, "KEYCODE_1"}, {KeyEvent.KEYCODE_2, "KEYCODE_"}, …};
for (int i = 0 ;; i++) if (keyCode == KeyEventTable[i][0]) ret=KeyEventTable[i][1];
2行で書けた ^^/
Re: (スコア:1)
> 2行で書けた ^^/
だが待って欲しい。
それを2行と言うなら、原典は1つのif文だから1行ではないだろうか。
keyCodeがsignedで負値だった場合への対応とか、想定外の値をとった場合の対応が必要そう。
8bitの時は全パターン網羅しておくのも大した手間じゃなかったが、
16bit以上で網羅は・・やったことはあるんだけどw
Re: (スコア:0)
色々突っ込みが入ったので直してみました。
// keyCodeはintでKeyEventで定義される値以外が入ってはいけない。違反したときの戻り値は不定
String[][] KeyEventTable = {{Integer.toString(KeyEvent.KEYCODE_1), "KEYCODE_1"}, {Integer.toString(KeyEvent.KEYCODE_2), "KEYCODE_2"}};
for (int i = 0 ; i KeyEventTable.length ; i++) if (keyCode == Integer.parseInt(KeyEventTable[i][0])) ret=KeyEventTable[i][1];
仕様を定義すればいいのですよね。
1行増えてしまった(;_;)
Re:文句を言う資格のある奴はより良い案を出した奴だけだ。 (スコア:0)
この例題だと、単に"KEYCODE_1"を返してるだけですが、教科書ということを踏まえれば
あとあとには押されたキーに応じた処理をそこに埋め込むようになるのではないかと予想します。
それならば、この単純な配列での実装は如何なものかと思うのです・・・・。