Ruby

HpricotはRuby1.9で使えない?

仕事用のパソコンにRubyInstallerのバージョンを 1.8.6 から 1.9.2 に上げてみた。HTMLヘルプファイルの自動生成スクリプトを実行するために、GemでHpricotをインストールした。例によって普通にインストールするとエラーが出るのでプラットフォームを指定し…

One-Click Ruby Installer で Hpricot を

普通にgemでインストールするとずらずらとエラーが出る。 > gem install hpricot Building native extensions. This could take a while... ERROR: Error installing hpricot: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.r…

るびま27号

るびま

WindowsからRubyでLinux上のMySQLにアクセス

色々調べてアクセスに成功したのでメモ。サーバー環境: Vine Linux 4.2、MySQL 5.0.27-0vl6 クライアント環境: WindwsXP SP3、Ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]RubyはOne-Click Ruby Installerでインストールしたもの。

Hpricotの仕様が変わってる?

Hpricotの仕様が変わったようで、久しぶりにHTMLヘルプの自動コンパイルスクリプトを走らせたらエラーが出るようになった。と言っても、お行儀の悪いHTMLを書いていたのが原因で、Hpricotには問題は無いのだと思う。 大した話ではないけど、いちおうメモ。

るびま25号

昨日公開されたらしい。 るびま

RubyGemのupdateオプション

VineLinuxでRubyGemsのパッケージをrequireできなかったのは、 gem update --system とすべきところを単に gem update としていたせいだったみたい。

ToDoMail送信ツール(Ruby/Tk)

ToDoMailという無料のリマインダーメールサービスがある。件名に日時を記入したメールをあらかじめ送っておくと、件名で指定した日時に返信アドレスに宛てて配信してくれるというサービスである。 使い方は簡単なのだが、配信日時を10桁の数字(YYMMDDHHMMの…

るびま20号

編集人の方々、毎度ご苦労様です。 るびま

メタプログラミング

ホワイの(感動的)Rubyガイド :: 6. ダウンタウン

シンボルの使いどころ

使いどころが分からなかったRubyのシンボルについて。 シンボルというのは軽量な文字列だ。シンボルはふつう、文字列を使いたいが、画面に表示する必要はないという場合に使われる。 ホワイの(感動的)Rubyガイド :: 3. (漫画のキツネと学ぶ)短時間の(そして…

横着スクリプト tgif2texでtgifファイルを変換すると拡張子がtpsとdpsのファイルができる。変換した画像をTeXに張り付けるにはtpsファイルを\inputすれば良い。tpsファイルは内部でdpsファイルを取り込んでいるため、TeXファイルとdpsファイルが別の場所にあ…

HTMLパーサ http://tam.qmix.org/wiki/Hpricot.html

ウェブサイトから複数のファイルを一気に取得するスクリプト。 #!/usr/bin/ruby #(例) # http://foo_hoge.co.jp/cg/file-01.jpg から # http://foo_hoge.co.jp/cg/file-10.jpg までを一気に取得する require 'net/http' domain = "foo_hoge.co.jp" #ドメイ…

エイトクイーンパズル、昨日の続き。答えが合わないと思ったのは探索の途中で解を表示させていたせいだった。バックトラック法なので、最後に生成したクイーンを置く位置を探すときに、既に置かれているクイーンの位置が変わることがあるのだった。 探索が終…

8クイーン問題をRubyで解こうとしたが、うまくいかない。なぜだ? 疲れたのであとで考える。 #!/usr/bin/ruby -Ks # # 8 queen problem $n = 8 $ini_row = 1 class Queen def initialize(col, neighbor) @row = $ini_row @col = col @neighbor = neighbor en…

昨日のサクラエディタのマクロをちょっと改良。ファイルの拡張子で起動するインタプリタを切り替えられるようにしてみた。 //ファイル名から拡張子を取り出す関数 function getExt(filename) { ext = ExpandParameter(currfile) ext = ext.substring( ext.la…

WindowsでRubyを書くときはサクラエディタを使っているのだが、スクリプトを実行するときは、毎回マウスでファイルアイコンをダブルクリックしていた。面倒なのでマクロにしてみた。(やり方を調べるのに手間取った)以下の内容で、拡張子 js のテキストファ…

去年の年末にRuby-1.8.4がリリースされているが、いまだVineのaptは1.8.2のままである。今日、試しにcheckinstallでアップデートできないか試してみたが、RPMパッケージの作成に失敗する。どうしても必要ならソースからmakeしてインストールするのだが、パッ…

結城さんのサイトを徘徊していてプログラムクイズを見付けた。 既約分数クイズ 問題 正の整数Nが与えられているとき、以下の条件を満たす既約分数p/qを「すべて」求めるアルゴリズムを示せ。 条件 p, qは整数(pは0以上で、qは1以上N以下). gcd(p, q) = 1 (p…

フォルダを同名のzipファイルに圧縮するスクリプト。 Rox-Filerの右クリックメニューから呼び出して使うことを想定している。 もっと良いやり方が絶対あると思う。 ツッコミどころはいろいろあるが、メモ代わりに載せておく。 #!/usr/bin/ruby # # ディレク…

Rubyシリアル通信ライブラリ(for Win32)http://www.texcell.co.jp/ruby/wincom/rubywincom.html RubyでOpenOfficeを制御するhttp://www.rubygarden.org/ruby?OpenOffice http://ooo4r.rubyforge.org/

最新バージョンを自動的にWebサーバーにアップロードするスクリプトを書いた。基本的な動作は2つ。 既にサーバー上にあるExeファイルを削除して新しいファイルをFTPで転送 サーバーからHTMLファイルを取得し、バージョン番号を更新してからサーバーに戻す あ…

知り合いに、物理シュミレーションの結果を簡単に描画する方法は無いかと相談されていたので、Ruby/Tkでちょっと遊んでみた。(←仕事しれ) 中央にある円のまわりを小さい円が周るだけのたわいのないスクリプト。万有引力の式とか入れればちっとは面白いかも…

PDF-WriterをRubyGemsでインストールしてみる。 参考:http://jp.rubyist.net/magazine/?0010-PackageManagement パッケージの検索 $ gem search --remote pdf-writer REMOTE GEMS *** Updating Gem source index for: http://gems.rubyforge.org pdf-writer…

Win32APIでGPIBボードを制御してみた。 やり方は、GPIBボード付属のDLLのAPI関数を、RubyのWin32APIライブラリを使って呼び出すだけ。 require 'Win32API' gpib_open = Win32API.new('gpc43042c.dll', 'GpibOpen', 'i', 'i') gpib_close = Win32API.new('gpc…

半角カナを全角に変換する

require 'nkf' NKF::nkf('Ss', str) strは変換したいShift-JISの文字列。Stringクラスに組み込む方法もある。 require 'nkf' class String def han2zen NKF::nkf( '-SsX -m0', self ) end end zen = "ハンカクノカナ".han2zen ファイルの内容をデータベース…

数字にウィンドウを開く機能と持たせる遊び 青木淳さんが始めてSmallTalkに触れたとき、ただの数字にウィンドウを開く機能を持たせられることにカルチャーショックを受けたそうだ。http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview03.html Ruby…

Rubyで簡単なシミュレーションなどをする時に、GUIが欲しいことがある。これまではRuby/GTKを使ってきたのだが、いつまでたっても慣れないので、別のツールキットを試してみることにした。Ruby/GTKをそのまま使い続けても構わないのだが、Windows上で動かす…

非常にゆっくりCGIKitの勉強。とりあえず動作する環境は用意してあるのであせることもなかろう。