2010-07-01から1ヶ月間の記事一覧

makefile を自動生成するスクリプト書いてみた

makefile.in 必須w #!c:/bin/ruby/bin/ruby # -*- encoding: shift_jis # mkconf.rb require 'optparse' opt = OptionParser.new opt.version = "0.0.1" OPTS = {} DEFAULT_PREFIX = "./bin" DEFAULT_INCLUDEDIR = "./include" DEFAULT_SRCDIR = "./src" DE…

Smalltalk っぽく書いてみた。

元ネタはこっち[squeak.qp.land.to]。 # test-readstream.st | in s | in <- "0123456789 absdefg". s <- ReadStream on: in from: 0 to: in size. s next. # => '0'

optparse が使いやすすぎるので調子に乗って mkdir 書いてみた

エンコードがアレだけど、書いてみた。 --mode 実装してないけどね! #!c:/bin/ruby/bin/ruby # -*- encoding: shift_jis -*- # mkdir.rb require 'optparse' Encoding.default_external = Encoding::Shift_JIS Encoding.default_internal = Encoding::Shift…

前に書いたアーカイヴるスクリプトを optparse 使って書き直してみた

OptionParser を作成して、on でコマンドライン引数を追加するような感じ。 くわしくはここ [doc.okkez.net]で。 #!/c:/bin/ruby # -*- encoding: shift_jis -*- # archive.rb require 'optparse' opt = OptionParser.new opt.version = "0.3.1" OPTS = {} o…

Q. うわっ!コミットし直そうと思ったら --amend つけるの忘れちゃったよぉ〜ってときは?

Git

A. つ git reset --soft HEAD^ コミットして、うわw ミスったwww やり直したいってときは、 $ git commit -a --amend -m "ちょっとした変更だよ!" ってやるんだけど、たまーに --amend をつけ忘れるんだよね。 つけ忘れるとどうなるかっていうと、新し…

めんどくさいので Ruby でカテゴリをソートしてみた

はてなダイアリー書いてると、カテゴリーがソートされてなくてちょっとイラッ☆ってしちゃう*1よね。 幸いにも、カテゴリを編集できるみたいだから、ファイルにコピペして、ソートしてみるよ。 コピペしたのが category.list で、ソート後のファイルが sorted…

インストールの仕方

こんばんは〜。 唐突に configure を使ったビルドとインストールの使い方をメモっておくよ! 使うものは MinGW と MSYS だよ〜。 MSYS は、mysy-1.0.11 を開いて、 MSYS-1.0.11.exe を DL してね〜。 私は: C:/bin に ruby とか MinGW とかいれてるよ〜。 短…

とりあえず、require 'zlib' できた

ruby 1.9.2 rc1 を make instal したらできた…。 どーいうことなの…?

RSTRING(str)->ptr と RSTRING(str)->len の ptr と len が無いんだそうだ 2

ビンゴですた。 s/RSTRING(z->input)->ptr/RSTRING_PTR(z->input)/g とかしてたんだけど、めんどくさくなって、 s/RSTRING(\(.*\))->ptr/RSTRING_PTR(\1)/g s/RSTRING(\(.*\))->len/RSTRING_LEN(\1)/g で、コンパイル通った。 出来上がったのは、zlib.so だ…

RSTRING(str)->ptr と RSTRING(str)->len の ptr と len が無いそうだ。

RSTRING は、 #define RSTRING(obj) (R_CAST(RString)(obj)) のように定義されている。 obj って、VALUE 型だったんだっけ? 多分、R_CAST だし、キャストしてるんだろう。 RString が、Ruby での文字列の実体だったのか〜。 RString 構造体は、こんな風にな…

HEAD をアーカイブるスクリプトを書いてみた

git archive なんてら〜って毎回やるのは*1めんどくさいので、書いてみた。 tag には、ver-1.0.0.0 みたいなのが入ってるの前提で。 #!/local/usr/bin/ruby # -*- encoding: shift_jis -*- # archive.rb versions = `git tag`.split( /\n/ ).delete_if { |ta…