地上の洞窟

どこにも行かず、液晶と「にらめっこ」し続ける人の物語。

Ruby

【Ruby】Win32APIを使用してキー入力を取得する方法

前置き Win32APIの概要 Rubyの「Win32API」クラス Win32APIで出来ること 実装 解説 Win32APIクラスの初期化 関数の呼び出し キーの押下判定 まとめ おまけ(役立ちそうなリンク) 前置き RGSS3みたいな「ゲーム系のアプリケーションでキー入力を取得したい」 …

Rubyの正規表現の備忘録

何かと便利だけど何かと忘れがちな「正規表現 / Regexp」のお話。 書き方も色々あるが、自分が使う書き方だけ書いてく。 基本の使い方 任意文字にマッチ キャプチャ 文字列の置き換え 普通に表示できない文字を分ける 擬似的に半角文字、全角文字を分ける パ…

Rubyで「マイナス乗」を計算しようとしてびびった話。

※古いRuby(1.9)のお話、新しいバージョンではマイナス乗とか気にしなくていい!目次 前置き 改善 結論 余談 前置き n = 10 2 ** n 2のn乗。オーソドックスな書き方だ。 しかしRubyにおいて2のn乗を普通に書くのは 速度的にはあんましえらくない。とされてい…

Rubyでpng形式の画像を書きだす

三番煎じぐらい(コッチヲ見ロォ~!) 参考にパクらせて頂きました、ありがとうございます(爆)mametter.hatenablog.comobelisk.hatenablog.com目次 前置き RGSS3の仕様 pngの構造 チャンクの構造 IHDR データ IDAT データ IEND データ 仮実装(テストコー…

Rubyで優先度付きキュー(二分ヒープ)を実装してみる

目次 前置き 二分ヒープを使ってみよう 二分ヒープの速度 実装 変数の解説 @node @count メソッドの解説 push(v) shift swap(i, j) min 検証 機能追加 まとめ 前置き 配列内のもっとも小さい要素を求めるコード。 array = [0, 1, 2, 3, 4] array.min .minメ…

Ruby高速化の心得

Rubyのプログラムを書くときに 心に留めておくだけで速いコードが書けるかもしれない(?)三つのポイント注意点 Ruby1.9での検証。新しいバージョンでは要らなくなってるかも 筆者は競プロ勢でもなんでもないただの一般ピーポー もっといい書き方があるかも …