Ruby

Ruby 2.0 を適当にぶちこむ PKGBUILD

普通のは上書きしないで、/opt/ruby20 にぶちこみます。 https://gist.github.com/5107774.git $ makepkg -f # pacman -U pacman -U ruby-20-2.0.0-1-x86_64.pkg.tar.xz

mechanize-prgressbar が動かない!

これが、mechanize の変更に追いついてなくて使えないのでごまかし。 # Monkey patch {{{ class Mechanize include MechanizeProgressBarAPI # (1of7)a class HTTP class Agent alias response_read_ response_read def response_read(response, request, ur…

青空文庫テキストのパーサーを書いたよ

青空文庫テキストのパーサーを書い(てい)たよ リポジトリはこちら。 https://github.com/anekos/aozora-parser使いかたのサンプルとして、HTML に変換するものを用意しました。 https://github.com/anekos/aozora-parser/blob/master/samples/html.rb ruby -…

weechat で URL をタイトル付きで収集するバッファを作るプラグイン

を書きました。https://github.com/anekos/weechat-url-buffer-with-title 見た目

日時パーサ(parser)

妙なフォーマットで日時が書かれている時に。

instance_eval と method_missing で DSL 的に HTML 生成

即興なので詰めが甘いです。

迷路を彷徨ってみた。

さて試験問題です。 内容は、壁とスペースで構成された迷路が与えられたとき、スタート地点からゴール地点に至る最短経路を求めよ、というものです。 探索アルゴリズムは、存在しかしらんかったので、調べずに適当にやってみた。 しかし、ググル禁止じゃなか…

5分問題 やってみた。

(サンプル問題 問題No:201) ■Q1.桁数の不明な整数xの各位の値を合計したものを返す関数を作りなさい。(例:x=123 の場合、1 + 2 + 3 = 6 となる)w2ソリューション株式会社を志望される方へ 事前通知問題に対する回答は、下記「A、B、C、Z」の区分…

Ruby動物本

表現力の高い文法と、強力で内容の豊かなAPIを持つコアクラスライブラリを備えた動的プログラミング言語であるRubyは、プログラミングの楽しさを感じる言語として世界中のプログラマから大きな支持を集めています。本書はRubyプログラミング言語を徹底的に、…

ごろびぃ

eban #6914(2008-08-03 07:25) [ Other ] 評価1/1=1.00 文字列は標準入力から ruby -pe'gsub(/\b./){$&.upcase}'$_ はいらなかったのか…

手抜き設定ファイル読み込みクラス

こんな風に読み込める。 ローカル変数に代入するだけ。 setting = EvalSetting.new <<-EOT directory = '~/script/ruby/' filename = 'fixmp3.rb' @base_name = 'anekos' item1 = @base_name + '_moge' item2 = @base_name * 2 + '_hoge' EOT アクセスはこん…

RubyのRangeリテラル

追記 しまった、うっかり<=だと読んでもうた! でも、範囲リテラルは括弧がいるのがなんとなくいやかな。 では、 「2..9 === x」や「x.between? 2, 9」で。 あれ? 以前これは試してエラーだったような。 実際試すとエラー。 p (1..100 === 6) #=> bad value…

ライフゲーム

ライフゲームのプログラムをはじめてかいてみた。 意外と面白いなぁ。 http://ja.doukaku.org/comment/5381/

Cで拡張モジュール

を、書いてみた。 かなり簡単にかけるのですばらしい。 WinAPIの ReadProcessMemory あたり使うモジュールなので、テストはほんの少し面倒だった。 (読み書きするための、プロセスが必要)

initialize での自動的なインスタンス変数のセット

Ruby で、Object#initialize の引数をそのままインスタンス変数とする方法。 を、ちょっと考えてみた。 class Object def make_instance_variables (_binding) eval(<<'EOC', _binding) local_variables.each do |lv_name| instance_variable_set("@#{lv_nam…

Ruby認定試験

2007年10月27日に行われる第一回 Ruby認定試験 の対策として、NaCl の有志で模擬試験問題を作成しました。作成した問題は以下の試験範囲から考えております。http://www.school.ctc-g.co.jp/ruby/rubycertify/問題の作成にあたり、以下の文書を参考にいたし…

read_body( dest = '' ) エンティティボディを取得し dest に メソッドを使って書きこみます。同じ HTTPResponse オブジェクトに対して二回以上呼ばれた場合、二回目からはなにもせずに一回目の戻り値をそのまま返します。 2回呼ぶとエラー出るよ…

猫の階乗

なにしろ、Ruby初心者なので、もっとスマートな書き方がありそうな気がします。どうでしょうか? こんなんどうじゃろう require 'rubygems' require 'active_support' puts (1..gets.to_i).inject(1, &:*) ActiveSupportを使わないなら、 puts (1..gets.to_i…

言語内DSL

First = build { filter { default accept /neko/ ignore /\.zip\Z/ } } こういうのをVimで書くと、SyntaxもIndentもおかしくなってしまう… 萎え

TApolloコンポネント

を、コンパイルしようとしたら関数が未定義なエラーが出て失敗する。 はてな、これはどういうことじゃろか。 と、sourceforgeのrepositoryみたら、当の関数 dl_String が削除されてる。 仕方がないから、そこだけ前のバージョンから失敬してきてコンパイル。…

exe化で謎のエラー

Exerbでexe化したら、TListItem#subItems.add で "無効なポインタ操作" エラーが… exe化前は平気だし他には問題ないのになぁ。

method_missing

上からたどらないでも良いようにしてみた。 class Phi::Form def method_missing (name, *args) if @all_controls and result = @all_controls[name] result else update_all_controls @all_controls[name] or super end end def update_all_controls @all_c…

MUGENコマンド表

つくった。 プレイヤ用じゃないと思われるコマンドなどは除外するようにしてある。 が、もっと賢い表示にしたい。 MUGEN上で矢印キーを押してコマンド表のキャラを選択できるようにもしてみた。 でもこれ、マルチモニタ環境じゃないといみないかな… なぜか、…

Apollo

Apolloで Phi.load_from_dfm を使うと (フォームの上にTPanel、その上に TButton が乗ってるばやい) main_form = Phi.load_from_dfm('main_form.dfm') main_form.panel1.button1.on_click = proc do hoge end のように、button1 にアクセスできるけれど main…

Apollo(Ruby)をいじってみた。

こいつはなかなか便利な予感。 http://wiki.fdiary.net/apollo/ 前いじったときはイマイチに感じたけれど何故だろう。

KEN_ALL.CSVのインポートスクリプト

こんな感じで良いのかなぁ… rails の Rakefile にかいた。

KEN_ALL.CSV

RubyのCSVモジュールは遅いようなので郵便番号データを読む際に line.split(',').map {|it| it.delete('"') } と、手抜きができるかチェック > sed -e "s/[^,]//g" KEN_ALL.CSV | wc 121941 121941 1829115 > echo $(( 1829115 % 121941 )) 0 > sed -e "s/[^…

実装すた!

reduce(l|r)というわけで問題。reducelとreducerを実装せよ。制限時間はあわせて10分。ただし、reducelとreducerは、Haskellにおいて次の挙動を示すものとする。 Symbol.class_eval do def to_proc proc do |*x| obj = x.shift obj.__send__(self, *x) end e…

Ruby Cookbook

Ruby Cookbook和訳版がでているようだが… 丸ごと収録してない章がわらわらあるってのはいかがなものか。 ページ数だと、906頁から512頁にへっている。 394頁って本一冊分減ってるじゃないか。 これ一冊で色々あるから便利なのに。 http://www.oreilly.co.jp/…

落ちる。落ちるのです。

WM_COPYDATA を使ってWinAmpにファイルを送ると落ちるので、m3u(プレイリスト)ファイルを生成してそれを開くようにした。 こっちのが楽じゃないか。

Ruby-WinAmp

特定ディレクトリのファイルからランダムで曲を聴きたいのでスクリプトンを書いてみた。 send_message で WinAmp を操作するわけだけど、100個とかまとめてファイルパスを送ると WinAmp が落ちてしまう…。

Scruffyを使ってグラフを書いてみた

Rails でグラフを表示したかったので探したら Scruffy なるものが出てきた。 画像じゃなくて SVG を出力できる。ものっそい簡単に。 http://scruffy.rubyforge.org/ #どこかのコントローラ def view_weight_graph response.headers["Content-Type"] = "image…

うぎょお

古いPCにActiveScriptRuby いれて "gem install rails" したら、メモリ不足とでたもんだ! みると100MB近く喰ってるし… めんどくせー

Rubyで「1 < x < 10 」みたいな書き方をしてみる

Pythonみたく if 1 < x < 10 puts "#{x}は1から10の間!" else puts "#{x}は1から10の間じゃない" end みたいにかけるようにしてみた。 「1 但し、返ってくるのは、数字 か false 。 Range使うより少し楽? #pyltgt.rb class FalseClass def < (v); false end…

Rubyでゲーム

SDLで作る インストール不要なキット http://mono.kmc.gr.jp/~yhara/w/?RubySDLStarterKit るびまの記事 http://jp.rubyist.net/magazine/?0018-GameProgramingForRubySDL SDLキーワード http://d.hatena.ne.jp/keyword/Ruby/SDL Ruby自体について るびこ ht…

Permission denied

なんじゃこりゃー! 同バージョンのCygwin版では問題なかった。 mswin版だけなのかな。 ブロック付きで呼んで close するのは萎え。 あららー 勘違いだった… mswinだけなのはたまたまか。

(break from proc-closure)

こういうのはいけないのね… やりにくいなぁ。 class Func def initialize (&block) @block = block end def test @block.call end end f = Func.new do puts 'test' break end f.test http://www.ruby-lang.org/ja/man/?cmd=view;name=Proc;em=proc

String#succ

単純に文字コード順で繰り上がっていく物かと思ってた・・ メモねこ 英数以外はそれらのみで構成されているとき以外無視 1* * => 2* + それぞれの位置の文字種(大小数字)はかわらない aZ az => bA ba 英字は26進数 a z aaZ => b aa abA 繰り上がるときは一番…