2008-11-01から1ヶ月間の記事一覧

Perl と Windows

なぜ,Perl でプログラムを組むのが,こうも苦痛を伴う作業になったのだろうか。そもそも Perl の国際化サポートということ自体が,日本語 Windows のためでなかったのだ。Internationalization (国際化)とは汎用的なインターフェースの構築である一方,Loca…

Ruby/DBI でデータベース操作の記述を抽象化する

Ruby/DBI をインストールする すでに MySQL/Ruby がインストールされているものとする。 #gem search --remote dbi *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ dbi (0.4.0) dbi-dbrc (1.1.4, 1.1.3, 1.1.2, 1.1.1…

Ruby/MySQL の利用例

require 'rubygems' require 'mysql' hostname = 'localhost' username = 'yourname' passowrd = 'password' database = 'mysql' begin # データベースに接続 # 接続が確立されれば、MySQL オブジェクトが返される db = Mysql::connect(hostname, username, …

Windows で Ruby/MySQL を利用する

利用時に libmysql.dll がないと警告された場合対処方法。 libmysql.dll について MySQL サーバーに接続するために必要。通常、MySQL をインストールしている場合、$MYSQL_HOME/bin 下に libmysql.dll はある。ローカルに MySQL Server をインストールしたく…

Ruby/MySQL をインストールする

RubyGems を利用する。 # gem search --remote mysql *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ activerecord-jdbcmysql-adapter (0.8.2, 0.8.1, 0.8, 0.7.2, 0.7.1, 0.7, 0.6) dbd-mysql (0.4.2, 0.4.1, 0.4.0,…

Ruby で MySQL に接続をするには

MySQL に接続するには、下記のライブラリのどちらかが必要になる。 MySQL/Ruby C言語で書かれているので高速。ただし、コンパイル作業が必要。 Ruby/MySQL Ruby で記述されている。コンパイル作業は不要だが、低速。 ただし、両ライブラリを利用して記述した…

全角ハイフンを含む文字列の文字コードを UTF-8 に変換すると文字化けする

Unicode には似た記号が多い おそらく原因は、Unicode に記号が多いため、全角ハイフンなのか全角のマイナス記号なのか区別がついていないからではないかと思われる。 Jcode Respect UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ Unicode …

Ruby の日本語の取り扱い

備忘録として。 FAQ::日本語の取り扱い - Rubyリファレンスマニュアル オプション-K と $KCODE の違いはなんですか? ひらがなをソートするにはどうしますか いわゆる全角文字と半角文字の変換を行うにはどうするのがよいですか? いわゆる半角カナの扱い

warning: parenthesize argument(s) for future version

ちょいと検索しても同様の話題が見当たらなかったので聞いちゃいます。 warning: parenthesize argument(s) for future version というワーニングメッセージが 1.7 で出ることがありますが、意 図がよくわかりません。「将来のバージョンのために括弧をつき…

制御構造内で配列からキーと値を抜き出す

配列からキーと値を抜き出すの解決例。 Enumerable - Rubyリファレンスマニュアル Integer - Rubyリファレンスマニュアル ソース array_sample.rb として保存。 counter = ['zero', 'first', 'second', 'third', 'forth', 'fifth'] # Enumerable クラスの ea…

配列からキーと値を抜き出す

制御構造だけで済ませる方法はないのだろうか? サンプル counter = ['zero', 'first', 'second', 'third', 'forth', 'fifth'] max_length = counter.length - 1 for i in 0..max_length puts "#{i}: #{counter[i]}\n" end 実行結果 % ./sample.rb 0: zero 1…

日付の比較

簡単な比較。 % irb irb(main):001:0> require 'date' => true irb(main):002:0> from = Date::strptime('2008-01-01', '%Y-%m-%d') => #<Date: 4908933/2,0,2299161> irb(main):003:0> to = Date::strptime('2008-01-02', '%Y-%m-%d') => #<Date: 4908935/2,0,2299161> irb(main):004:0> sametime = Date::strptime</date:></date:>…

“ハッシュ”のキーと値を配列に変換して同時に取得する

忘れやすいので備忘録として記載。 サンプル hash = {"Lemon" => 100, "Orange" => 150, "Banana" => 250} p hash print("\n") puts "キーのみを取得" key_array = hash.keys p key_array print("\n") puts "値のみを取得" value_array = hash.values p valu…