ruby

「ふろぉー しいてる ひちとたの はげつんを けっりんぶじ します。」なbotを書きました。

http://twitter.com/cmriadbge_botケンブリッジ大学がどうたらこうたら - hogeなlog に書いたケンブリッジなんたらをtwitterの発言に適用してるだけです。 13分おきくらいにフォローしてる人の発言を適当にケリブッンジ化して発言します。 話しかけるとだい…

ケンブリッジ大学がどうたらこうたら

Ruby1.9と適当に1.9対応したRuby/kakasi、mecab-rubyインストールした環境にて。 #!/usr/bin/env ruby # vim: set fileencoding=utf-8: require "kakasi" require "MeCab" class Cambridge def initialize @mecab_y = MeCab::Tagger.new("-Oyomi") end def h…

sort_by{rand}はちゃんとshuffleできてるのか

できてるのか。 irb(main):001:0> ([0]*7000).map{(0..6).to_a.sort_by{rand}[0]}.inject([0]*7){|t,i|t[i]+=1;t} => [947, 977, 979, 1022, 1021, 1047, 1007] 参考 ランダムソート(笑)とは - 西尾泰和のはてなダイアリー 配列のシャッフルの決まり文句は「…

超適当にkakasi-rubyをruby1.9で使えるように

1.8向けのruby拡張を正しく1.9向けに書きなおす作法がまったくわかってないけど、とりあえず動かすだけ動かしてみました。 http://github.com/hogelog/kakasi-ruby/tree/1.9 irb(main):001:0> require "kakasi" => true irb(main):002:0> Kakasi.kakasi("-JH…

ruby-1.9.1-p0 に ruby-prof 0.7.3 を gemで入れられない件

% ./configure --program-suffix=-1.9.1 --prefix=$HOME/local % make -j 8 % make install-nodocのようにごく普通にビルド、インストールしたrubyにて、ruby-profをgemからインストールしようとしたらできなかった。 % gem-1.9.1 install ruby-prof Buildin…

カレントディレクトリのlatexファイルをなんかそれっぽくコンパイルするRakefile

ダウンロードはcodereposから。 http://coderepos.org/share/browser/lang/ruby/misc/rake_template/Rakefile-latex ごちゃごちゃと改良なんだか改悪なんだかわからない変更入れまくった。 コンパイルしたい.texファイルがあるディレクトリでrakeと叩くと、…

LaTeXコンパイル用のRakefileを書いた

最初の$TARGETだけ対象とするhoge-resume.texの.tex抜いた名前に変更して使う。 rakeと叩くだけでうまいことやってくれる、と嬉しいなあ。 texファイルを読んで適当に依存関係を設定してるつもり。 あとbibtexファイルを置いてるディレクトリを環境変数BIBTE…

ふと確認したくなったので

~/tmp[0] % cat test.c #include <ruby.h> VALUE f() { return INT2FIX(1); } ~/tmp[0] % gcc -I/usr/include/ruby-1.9.0/ -I/usr/include/ruby-1.9.0/i486-linux/ test.c -c ~/tmp[0] % objdump -S test.o test.o: file format elf32-i386 Disassembly of section .</ruby.h>…

ruby拡張で作ったクラスで使う自前アロケータとフリーの呼び方

世間の皆々様に至ってはきっと日々ruby拡張を作ったりしてることと思います。 わたしはなんかRuby/SDL使った画像ビューアを作ったりしてました。その適当な画像ビューアはまあどうでもいいんですけど、書いててふと「あれこれRuby/SDLが確保したSDL資源(Surf…

twitter発言スクリプト

そんなもん書くまでも無くあるだろう。でも探すまでもなく書きゃいいじゃん。探したり動かすのってやっぱりめんどうだから。 ほとんどこの前書いたmixi日記投稿スクリプトの使い回し。 他の人の発言が見えないところとかが他のTwitterクライアントと比べて優…

mixiに日記投稿するスクリプト

最近mixiに日記とか全然書いてませんでした。そこでふとこの前うじひさのブログならライブドアブログ(livedoor Blog) - 無料・デザイン豊富を思いだし、rubyでmixi日記投稿スクリプトでも書いてみっかと思いたった。で、書いた。習作。習作以外のプログラム…

ruby拡張を書いてみるテスツ

すごく簡単だった。rubyアーカイブに同梱されてるREADME.EXTすら読まずに適当に雰囲気で作れた。というわけで合ってないかもしれないけど。画面サイズとDPIを取得するモジュール。 require 'sinfo' printf "%dx%d (px)\n", ScreenInfo::W_PX, ScreenInfo::H_…

RubyKaigi2008に行ってきた

最近体調崩しっぱなしだったのですが土日にRubyKaigi出かけたら、直後は疲れてぐったりしてたのもの以降はとっても元気です! RubyKaigi最高! そんなわけでチケットも買ってないというのにほいほい参加してきました。メイン会場には侵入できないものの、サ…

RubyでSchemeぽいの書く(4)

http://code.google.com/p/rbdsp/クロージャ書けるようになった! たぶん! C:\hoge\docs\rbdsp>ruby rbdsp.rb > (define mkcounter (lambda (x) (lambda () (set! x (+ x 1)) x))) mkcounter > (define c0 (mkcounter 10)) c0 > (define c1 (mkcounter 3)) …

Rubyのかくにん。

クロージャ。 irb(main):001:0> def mkcounter(x) irb(main):002:1> proc{x+=1;x} irb(main):003:1> end => nil irb(main):004:0> c1 = mkcounter(10) => #<Proc:0x0319e4e0@(irb):2> irb(main):005:0> c2 = mkcounter(3) => #<Proc:0x0319e4e0@(irb):2> irb(main):006:0> c1.call => 11 irb(main):007:0> c1.ca</proc:0x0319e4e0@(irb):2></proc:0x0319e4e0@(irb):2>…

RubyでSchemeぽいの書く(3)

はてダはっつけコード管理に限界を感じたのでGoogle Code Hosting使ってみた。Gmailアカウント持ってるだけで、おどろくほど簡単に使えた。選択できるLicenceにNYSLとかpublic domainとか無かったんで修正BSDライセンスになったらしいです。 http://code.goo…

RubyでSchemeぽいの書く(2)

明日数値計算の試験なので(まったく関係無い)Scheme実装がよく進んだ。 C:\hoge\docs\rbdsp>ruby rbdsp.rb > (+ 1 2 3 4) 10 > (eq? 3 (+ 1 2)) #t > (define ls (list 1 2 3)) ls > ls (1 2 3) > (eq? ls (list 1 2 3)) #f > ^Z good byeこのあたりまでわり…

RubyでLispっぽいの書く(1)

大学の課題でScheme処理系をRubyで実装します。東大のminiPythonなんかが微妙に有名になってるけど電気通信大学情報工学科課程も負けてないじゃないかやったね! まあそれは嘘で、大学の課題で「Rubyである程度大きくて実用的なプログラム書いてください」と…

適当なRubyのお絵描きツール

Postscriptを出力できます。Postscriptしか出力できません。 線の補正とかしようかと思ったけどめんどかったので相当やる気無い方法になってます。 忘れてた 保存ダイアログはEnterキーで呼び出します。 Ruby/Tkの方の線の表示が汚ないのは仕様です。ActiveS…

また会いましたねRuby

まだまだいいかげんにirbとおしゃべり。

はじめましてRuby

なんか色々な巡回先のブログとかに出現する確率高いしRubyしようと思った。どの言語も並以下にしか扱えないのにアチコチ節操無いな俺。Rubyは前から「やろーかなー」としばしば思ってたけど、Pythonはイマイチやる気になれない。たぶん名前の見た目がなんか…

test