ruby

Timelog4r-0.1.1

TimelogAPI用のRubyライブラリ「Timelog4r」を更新しました。 今回の更新は、TimelogAPIの機能拡張に対応したものです。 [new]メモクリップAPIに対応 [new]メモフレンドAPIに対応 [update]タイムライン取得系で評価(fav)を取得できるようになりました [updat…

M17N関連で困ったこと

先述のエントリと関連してますが、内容が異なるので別エントリとして。ruby-1.9.1-p0を使ってて、いろいろ困ったことを書き連ねておきます。 1.9で動くけど、M17Nとして正しい挙動じゃないGem 1.9対応したというSequel(2.11.0)を使っていて、 SQLiteから取得…

ライブラリのM17Nについての自分向けメモ

自分向けに要点だけメモっとく。 1.9対応かつM17Nでちゃんと動くように作る場合に あとでこのメモを参照しよう。 基本的に入力も出力もUnicode(UTF-8)を想定する。 Encoding#default_internal が設定されている場合はそのエンコーディングで返す 入力につい…

UstreamSpeaker

Ustで「なんちゃってビデオチャット」ができるツールを作ったよ。 利用環境は、Windows専用ですが その代わり、Exerbを使って実行ファイルに変換してるので Rubyが実行できないマシンでも使えるようになってます。詳しい使い方などは、下記をご覧ください。U…

謎な行為

最近、こんなコードを書きました。名前空間わけて使いたいものを モジュールとして定義しとく。fuga/hoge_util.rb module Fuga::HogeUtil def benri_method print "totemo benri!" end ... end 使いたいクラスを書いとく。 ここでは、後で使うかもしれないモ…

ruby-1.9用ししゃもパッチ

人工無脳ししゃもがruby-1.9でも動くように書いてみた。 オリジナルのししゃもとのdiffです。 1a2 > #-*- coding: EUC-JP -*- 7c8,10 < $KCODE = 'e' --- > if RUBY_VERSION.match(/^1\.[678]/) then > $KCODE = 'e' > end 462,463c465,473 < lines.each do …

1.8系を使いつつ1.9系もお試しする方法

前置き rubyの新しい安定版として、1.9.1が公開されたんだけど 1.8系と比べて、変更点が大きくて RubyGemsパッケージの多くはまだ1.9系に対応していなかったりします。 そこで、1.8系の環境は残したまま1.9系のrubyもお試しで 導入してみる方法をご紹介しま…

M17N対応とかやってみた。

ruby-1.9系の安定版、ruby-1.9.1-p0が公開されていたようなので。 インストールしてみた。以前に、はてなハイクAPI用のライブラリと、タイムログAPI用のライブラリを作って rubyforgeに公開していたので。 今回はそれをM17Nに対応して動くようにしてみた。主…

TimelogAPIのライブラリを作りました

Timelogというマイクロブログがあります。 昨年から比べて、UIも洗練されて素敵なマイクロブログになっています。 Timelogでは、WebAPIも提供されています。そこで、TimelogAPIを簡単に扱うためのrubyライブラリを作りました。 RubyForgeで公開しているので…

はてなハイクAPIのrubyライブラリをつくってみた

気分が落ちこんでしまったり、眠れなかったり いやなことばかりを考えてしまったりした挙句に 現実逃避の産物として、「はてなハイクAPIのrubyライブラリ」をつくりました。rhaiker RubyForgeで公開したので、Gem環境な人なら $ gem install rhaikerで、導入…

SpecSpecにしてやんよ

「autotestの結果を歌ってお知らせさせる」というとっても僕好みの素敵なハックをしている人がいたのでさっそく試してみました。 詳細は、下記を参照。 autotestの結果をMacのsayコマンドで通知する from UK STUDIOで、さっそくautotestを走らせてみると・・…

rubytreemap

これは面白そうなgemだ。 "rubytreemap"

メタプログラミングとかDSLとか。

実はよくわかっていない。 たぶん、プログラマとしてこの辺分かっておかないとどこかの誰かさんに「え?DSLもわかんないんですか?」とか言われるだろうと予見。 "SVuGy - Creating SVG with Ruby"とか、RSpecとか使いながら、DSLやメタプログラミングに親し…

Rubyプログラムの組み方からExeファイルの作成まで

Rubyプログラムの組み方からExeファイルの作成までというエントリを書きました。ExerbというRubyスクリプトをExeファイルにするライブラリの紹介と共に、Rubyプログラムを少しずつ組み立てながら解説しました。

Module#defined_methodについて調べる

id:rubikichさんが、http://d.hatena.ne.jp/rubikitch/20080602/1212425708というエントリで、 影武者のソースコードを読んで初めてModule#define_methodの第2引数を知った(^^; 遅すぎ… 第2引数にUnboundMethodも受け付けるから、Module#instance_methodと組…

==について

ちょっと気になったので触ってみた。 >>a = Object.new => #<Object:0x3e1e80> >>b = Object.new => #<Object:0x3c643c> >>a == b => false >>c = a.clone => #<Object:0x3dee24> >>a == c => false >>d = a => #<Object:0x3e1e80> >>a == d => true >>a.object_id => 2029330 >>d.object_id => 2029330 へぇ〜。</object:0x3e1e80></object:0x3dee24></object:0x3c643c></object:0x3e1e80>

Watir and WatirRecorder

RubyスクリプトからIEをぐりぐり動かしてしまうWatirというものと、 IEで行った操作をスクリプトに起こしてくれるWatirRecorder++というものがあるようです。 Seleniumなどのブラウザを操作してしまうツールは知ってはいたのですが、実際に使ってみたのは 実…

RPGツクールからブラウザ起動

ブラウザ起動の方法は、Rubyからブラウザを起動する(Windows版)を参考にしました。もはやRPGでもツクールでもなんでもない。スクリプトエディタを起動し、上位のスクリプトに次の記述を書きます。 スクリプト名は「opengoogle」とかでいいでしょう。 def ope…

gem_chmを使ってみた。

$ svn co http://svn.coderepos.org/lang/ruby/gem_chm $ rake package $ gem install pkg/gem_chm で、入れた。 $ gem_chm hpricot してみた。 /opt/local/lib/ruby/gems/1.8/gems/gem_chm-0.0.9/lib/gem_chm/rdoc.rb:56:in `chdir': No such file or direc…

おお、こんなこともできるのかw

saronpasu.rb Saron = 'pasu' hoge2.rb arr = [1, 2, 3] arr.require 'saronpasu' arr.each do p Saron end $ ruby hoge2.rb #=> "pasu" "pasu" "pasu" おおー。ますます気持ち悪いw

なんか気持ち悪いw

fuga.rb public def fuga return 'fuga' end hoge.rb obj = Object.new obj.require 'fuga' p obj.fuga $ ruby hoge.rb #=> "fuga" うわっ、なんか気持ちわるっ!

RPGツクールの住人を合成音声で喋らせてみた

RPGツクールXP + AquesTalk で、RPGツクールの登場人物にしゃべらせてみる。 ・・・というようなものをやってみてPostしてみる予定。 つくったどーー! 簡単にできると思ったが、思わぬところで苦戦。 [RPGツクール][RGSS][memo]NKFとかiconvとかkconvとかが…

RDocとTest::UnitとRakeに慣れよう

常態的にテスト書いてRDoc形式のコメント書いて定型処理はRakeにするのがどうもRubyistとしての正しい姿のように思えてきたので、今更ながら、少しずつ慣れようと思う。 小さなことからこつこつと。気づいたこと RDocって、HTMLの出力だけじゃなくて、dotフ…

MechanizeでHTMLだけをパースする

Rubyでスクレイパーを組む際に、僕はMechanizeをよく使います。 パーサが未完成なときはサイトへのアクセスは最小限にしたいですよね。そこで、サイトのHTMLをローカルへ落としてきて、HTMLだけをパースするのなら アクセス先のサイトへはテストアクセスしな…

トップオブジェクトが持つClassを全部表示する方法

よくrequire()してコードを書いていると、今いる階層にはどんなクラスが存在するのか 一覧を見てみたくなりませんか? 実は、id:akio0911に「Rubyでクラス一覧を表示する方法知らない?」と聞かれたので 調べてみました。答え self.class.constants.reject{|…

requireとautoloadについて

今日はRubyの話です。main.rb #!ruby require 'hoge' こうすると、hoge.rbの中身が全部読み込まれて、main.rbの中で使えるようになります。main.rb #!ruby autoload(:Hoge, 'hoge') このままでは、main.rbのなかでhoge.rbは読み込まれてはいません。main.rb …

Rubyスクリプティングテクニック

Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術作者: Brian Marick,菅野良二出版社/メーカー: オライリー・ジャパン発売日: 2008/02/23メディア: 単行本購入: 9人 クリック: 214回この商品を含むブログ (39件) を見るまた表紙に動物が描か…

Ruby初心者向けの集まりってないかな?-> じゃ、やろうか  -> wiki & skypeでやろう(今ココ)

流れ。

無脳エンジンについて

昨年末、よみうさのくどーさんに「人工無脳作家たるもの、エンジンは自分で作るべきだ」というお言葉と「サロタソは1Qで自分のエンジンを作りなさい」という課題を賜りました。 そこで、年末年始と自作の無脳エンジンについて考察・設計をあーでもないこーで…

tumblr]tumblr_*_graph.rb

ajax対応してさらに処理に時間がかかるようになったtumblr_autofollow.rb。 こいつを作って、使い始めて一気にfollowingが100人も増えました。 いまさらですが、tumblrのpost数、reblog数、follower数とかの推移をグラフにすると面白いかも。しかし、無脳エ…