Ruby

ISBN 出版者記号の割り当て規則

ISBNを扱うのに ISBN Tools というライブラリを使っている。 なんでかっていうと ISBN_Tools.hyphenate_isbn13 っていうメソッドがあって,数字だけのISBNをハイフンの入ったISBNに変換してくれるのが使えると思ったからだ。 こんな感じ: irb(main):006:0> …

Windows上のApacheでFastCGIを動かすメモ

自分用のメモ。 cf. Windows + Apache + FastCGI - h4yの日記 cf. WindowsでRuby on Rails その4 Ruby on RailsをFastCGIで動かす - 色々な事を忘れないよう忘備録と日記 FastCGIのダウンロードは公式サイトのダウンロードコーナーから。Apache のバージョ…

Ruby 1.9 で FizzBuzz

Ruby 1.9.1 もリリースされたことだし,新機能(Fiber と Array#cycle)を使ってFizzBuzz を書いてみたよ。d:id:takatoh:20070509:fizzbuzz のRuby版。cf. Ruby 1.9.1 の歩き方 - るびま 0025号 # -*- encoding: utf-8 -*- fizzbuzz = Fiber.new do fizz = […

METHINKS IT IS LIKE A WEASEL

cf. どう書く?org - METHINKS IT IS A WEASELずいぶん前に「ブラインドウォッチメイカー」を読んだ書いてみたもの。出遅れだし,お題ともちょっと違うので投稿せずにここにさらしておく。 IDEAL = "METHINKS IT IS LIKE A WEASEL" class Individual def ini…

HTMLを整える

Hpricot とかで Web ページをスクレイピングするときに,対象のページを解析するのが結構めんどくさい。 ページによっては人間が読むのを想定しているとは思えない(というか大抵は想定してない)ような HTML で,読むのにひどく骨が折れる。なのでせめて見…

呼んだのは誰?

cf. どう書く?.org - 呼んだのは誰?Kernel#caller なんて初めて使った。 def foo /.*`(.+)'/ =~ caller(1)[0] $1 end def bar; foo; end def baz; foo; end p bar p baz ^o^ >ruby caller.rb "bar" "baz"

ダブル完全数

cf. どう書く?.org - ダブル完全数HaskellのほうがRubyよりすっきりしてるな。 divisors n = filter ((==0).mod n) [1..(n `div` 2 + 1)] isDoublePerfectNumber n = (sum.divisors) n == (n*2) main = mapM_ (putStrLn.show) $ filter isDoublePerfectNumb…

長方形の交差判定

cf. どう書く?.org - 長方形の交差判定 問題文中の top 判定方法は,要するに一方の長方形の4つある頂点のどれかか,もう一方の長方形の内部にあれば重なってると判定していいわけだ。 今日はRubyで書いた。 class Rect def initialize(left, top, right, …

/*コメント*/を取り除く

cf. どう書く?.org - /*コメント*/を取り除く正規表現の最短一致を使ってこれでいいはず……だと思うんだけど。 def remove_comment(str) str.gsub(/\/\*.*?(\*\/|\z)/,"") end samples = %w( AAA AAA/*BBB*/ AAA/*BBB AAA/*BBB*/CCC AAA/*BBB/*CCC*/DDD*/EEE…

delete blank lines

現実逃避的にアナーキーゴルフ。 cf. anarchy golf - delete blank linesこれで26バイト。どうやったら12バイトでできるんだ? $><<$<.read.gsub(/^\n/,"")

指定された日の存在する週

cf. どう書く?org - 指定された日の存在する週こんどは Ruby で。 require 'date' y, m, d = ARGV.map{|arg| arg.to_i } date = Date.new(y, m, d) sunday = (date - date.wday) (1..5).each do |d| puts((sunday + d).strftime("%Y-%m-%d %a")) end 実行。…

hatenaapigraph が 0.1.2 に

proxy 対応がうまくいってない,と書いたら早速対応してくれた。ありがとうございます。cf. d:id:takatoh:20070522:http_proxy のコメント欄 バージョンアップして,リポジトリに取り込んでもらった Pragger のプラグインを修正した。設定ファイルで proxy …

環境変数 HTTP_PROXY の値には "http://" を含むのか含まないのか

昨日の続きでもある。 hatenaapigraph 0.1.1 にあわせて HTTP_PROXY=proxy:8080 としたら wget が動かなくなった。Ruby の open-uri もダメ。 ^o^ >echo %HTTP_PROXY% proxy:8080 ^o^ >type get_diary.rb require 'open-uri' puts open("http://d.hatena.ne.…

hatenaaipgraph が 0.1.1

になってるのに,今日,気がついた。HTTP_PROXYサポートと日本語グラフ名のバグ修正なので,こないだ書いた Prager の publish::hatena_graph プラグインも簡潔になる。 ## Post a data to Hatena Graph ## ## require gem `hatenaapigraph' 0.1.1 or later.…

Pragger のリリースも近い?

Praggerがどうやら最初のリリースに向けて具体的に動き出したっぽい。ちょうどいいので今まで作ったプラグインについてまとめておく。どれもPraggerと同じライセンスでOKです。 load_lirs.rb LIRS を取得するプラグイン。これでいいのか実は不安。 publish:h…

はてなグラフにデータをポストする PRagger プラグイン

昨日(id:takatoh:20070502:hatenagraph)のスクリプトを PRagger のプラグインにした。 受け取ったデータの最初の数値だけをポストする。 ## Post data to Hatena Graph ## ## - module: publish::hatena_graph ## config: ## user_id: your hatena user id…

はてなグラフにデータをポストするスクリプト,あるいは hatenaapigraph の gem がバグってる件

はてなグラフを試してみた。で,いちいちログインしてデータを入力するのも面倒なので,スクリプトを書こうと思ってヘルプを見たら,はてなグラフ数値登録API の gem があるじゃないか。すばらしい。 早速インストールしてスクリプトを書いた(というかサン…

LIRS を取得する PRagger プラグイン

を作ってみたけど,「LIRSってどんなんだっけ?」ってとこから始めたからどうもよくわからない。 こんなんでいいのかな。LIRS と RSS の対応は表のようにしてみたけど,どうか。 LIRS RSS 更新時刻 (Last-Modified GMT) dc:date 更新時刻を取得した時刻(GMT)…

gem の作り方メモ

シリーズ パッケージマネジメント 【第 2 回】 RubyGems (2) RubyistMagazine の記事 gemspecファイルのリファレンス rake の GemPackageTask

publish::hatena_diary_writer が受け取るデータ

時間がないのでアイデアのメモだけ。要するに,日記として必要なデータは日付と本文なわけで,これを Hash に入れてやればいいんじゃないかな。こんな感じに。 [{"date" => "2007-02-26", "content" => "日記の本文"}, ...]キー"date" の値は Time のインス…

PRagger

と publish::hatena_diary_writer プラグインで書き込みテスト。

PRagger その2

下のエントリをポストするのに使った publish::hatena_diary_writer.rb プラグインがちょっと使いにくい。 今日の日記にしかポストできないのはとりあえずおいとくとしても,ポストするたびに下に追加ってのは1日1ファイルにしてる俺のやり方とは違う。 こ…

クラスはよくてもモジュールは?

いままで気にしたことなんて無かったけど……cf. Matzにっき - jijixi's diary - Ruby の文法的欠陥 cf. じじぃの日記、ツッコミ可 - Ruby の文法的欠陥 jijixiさんのいう”欠陥”(というと言いすぎのような気もする,といっているけど)というのは 『新しいク…

テキストでプログレスバー

cf. Ruby/ProgressBar: プログレスバーをテキストで表示する Ruby用のライブラリ via 趣味的にっき - プログレスバーをテキストで表示する関数 インストールは progressbar.rb をライブラリパスの通ったところにおけばいいだけ。ProgressBar のインスタンス…