ちなみに

火曜日の空は僕を押しつぶした。

ruby

Moduleのincludeとかextendとか

Moduleのincludeとextendまわりの自分用サンプル 基本 module Foo def self.included(base) base.extend ClassMethods base.__send__ :include, InstanceMethods end module ClassMethods # クラスメソッドの定義 end module InstanceMethods # インスタンス…

ClassMethodsかModuleMethodsか

まずは、下のコードを見てください。 module Foo module ClassMethods [メソッド定義] end extend ClassMethods end 違和感を感じませんか? 僕は感じます。Moduleにextendするのに、何故ClassMethodsなのでしょうか?どう考えてもModuleMethodsだと思うのだ…

RSpecからclass << selfが消えた

僕の最近のコードはRSpecからの影響が強かったのだけれど、今日そのRSpecに良く分からない変更があった。 removed all instances of class removed all instances of class << self · 9e2eb70 · dchelimsky/rspec · GitHub 今までは特異メソッドをclass 基本…

Merbでdm-*がnot foundな件

Merb関連のエントリを読んでいたら触ってみたくなったので、入れてみたのですが・・・ $ sudo gem install merb $ merb-gen app myapp $ cd myapp $ merb Loading init file from /Users/tomohiro/program/merb/myapp/config/init.rb Loading /Users/tomohir…

Module#remove_methodで困った件

研究用に書いていた::Migs.describeがRSpecのdescribeと競合してしまって困ったので、 module ::Migs spec do describe ::Job do # テストコード end end end と書ける様にMigs.specを書いた時にはまった点をメモMigs.specの実装は以下のようにしました modu…

cucumberでRailsのFixtureを使う

cucumberとwebratの組み合わせが凄すぎて、contextすげーと思った感動が打ち消されている今日この頃。 なんかテストとおらないと思ったらcucumberがfixtureを読み込んでくれていなかったようです。 どうやって読み込むのかなと思って調べました。例えば、spe…

yhara++

http://gist.github.com/17824めっちゃ興奮した!

列挙型クラスを書いてみた

Rubyで列挙型っぽいことをしたい場合は、定数とかシンボルを使うのだと思うのだけれど、もっと列挙型っぽく扱いたかったので、練習もかねて書いてみた。しかし、実用性無視なので普通に定数とか使った方がいい気がする。 class Enumeration def initialize(*…

変数名の文字数っていくつまでいけるんだろう?

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…

mini/specのdescribeも変だ

require 'mini/spec' Mini::Test.autorun describe Hoge do it 'true should be true' true.must_equal true end end これはHogaの部分でuninitialized constantになって、TestCaseが登録されない。(追記)Rubyの構文が分かってなかっただけでした。 いきなり…

mini/specは日本語itが微妙

require 'mini/spec' Mini::Test.autorun describe Object do it 'は、ほげであること' do fail end it 'は、ぴよであること' do fail end end これを走らせると、 Loaded suite test/test_jp_bug Started F Finished in 0.000596 seconds. 1) Failure: test…

miniunitを読み始めてみた

1.9に標準添付されるという噂を聞いたので読始めたのだけど、速攻こんなのでびっくりした。 file = if __FILE__ =~ /^[^\.]/ then # OMG ruby 1.9 is so lame (rubinius too) require 'pathname' pwd = Pathname.new(Dir.pwd) pn = Pathname.new(File.expand…

mini/specがひどい

require 'mini/spec' Mini::Test.autorun class Stack def empty? true end end describe Stack do before do @stack = Stack.new end it 'should be empty' do @stack.empty?.must_equal true end end これ動きません。 何がおかしいか分かりますか? とり…

DebianにRMagickを入れる

Rubygemsで普通に入れようとしたら、 $ sudo gem install rmagick Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /usr/bin/ruby1.8 extconf.rb install rmagick …

Ruby/Rails勉強会@関西 #28

http://jp.rubyist.net/?KansaiWorkshop28行ってきましたRuby勉強会。6回目。(テンプレート化)5時起き生活に切り替えて3日目、まだ早寝の習慣が身に付いてくれないので、睡眠時間が足りず一日中ぼーっとした感じが抜けなくて、全体的に発表と自分の距離…

Ruby/Rails勉強会@関西 #27

http://jp.rubyist.net/?KansaiWorkshop27行ってきましたRuby勉強会。5回目。(テンプレート化)今回も京女だったんだけど、いつもとは違う場所でした。家を出るのが若干遅くて結構ぎりぎりになってしまい。汗をほとばしらせながら駆け込む形となりました。…

Ruby/Rails勉強会@関西 #27 演習編

http://jp.rubyist.net/?KansaiWorkshop27行ってきましたRuby勉強会。5回目。(テンプレート化)取り急ぎ、初級者レッスンの演習のみ。 コマンドライン引数からスマートに目的のクラスのインスタンスを作る方法が思いつかずに、evalとmathod_missing初体験。…

RubyGems 1.2.0 released!

gem updateで入るようになったみたいなのであげてみた。 install時の動作とかが早くなっているみたい。 $ sudo gem update --system $ gem --version 1.2.0(追記:サーチも超早い!すばらしい!)

Ruby/Rails勉強会@関西 #26

http://jp.rubyist.net/?KansaiWorkshop26行ってきましたRuby勉強会。4回目。(テンプレート)今回の発表は、Web関連が2つと連投関連が1つでした。 Ruby off Rails by ストヤンさん Railsから脱却してみようという話。 Railsすら分からない僕にはすこし難…

Ruby/Rails勉強会@関西 #25

http://jp.rubyist.net/?KansaiWorkshop25行ってきましたRuby勉強会。3回目。(テンプレート化) 大阪駅でのJRへの乗り換えで迷ってしまい、遅刻してしまいました。 もっと余裕をもって家を出るべきでした。反省。懇親会にも行かなかったので、結局okkezさん…

Ruby/Rails勉強会@関西 #24

http://jp.rubyist.net/?KansaiWorkshop24行ってきましたRuby勉強会。2回目。意気揚々と向かうも盛大に迷う。若さをアピールってわけでもないんですが、なんとなく歩いてみたら、曲がらなければいけないところで曲がらず、まっすぐ行ってしまい、人に聞いた…

Stack Stock Books: MumbleReader

Stack Stock Books専用つぶやきリーダ。 Cursesでの日本語表示を一旦あきらめて(utf-8が駄目なのかな)、標準出力で書き直してみました。 しかし、STDIN.getcでキー入力してるのでまったくインタラクティブ性を感じません。 Webで眺めた方が速い気がします…

Cursesで日本語表示ができない

全力でプッシュ中のStack Stock Booksのつぶやき専用コンソールリーダを作った。 しかし、Cursesを使ったところ日本語が化けるという問題が。 現在調査中です。

今更、ライフゲーム

ハチロク世代の話題にあがったと聞いたのでワンテンポ遅れて、どう書く?.orgのお題をやってみた。life_game.rb #! /usr/bin/env ruby class LifeGame VERSION = "0.0.3" DEFAULT_BOARD = [ [0, 1, 0, 0, 0, 0, 1, 1, 1, 0,], [0, 0, 0, 0, 1, 0, 0, 1, 1, 0…

vimからRefeをひく

refe.vim導入しました。以下記録。 Refeの導入 RubyGemsからインストールします。 # sudo gem install refeしかしこのままだとUTF-8を使っているとで化けるので修正します。refeのutf-8化 - 適当日記 - 断片部を参考にしつつもすでにrequireしてるNKFを使い…

今更、Hpricot

動機 バイトの勤務スケジュールをiCalに入れるのに自分の勤務日と時間だけの一覧が欲しかった。 インストール # sudo gem install hpricot 簡単な使い方 require 'rubygems' require 'hpricot' doc = Hpricot('<a href=\'hoge\'>piyo</a>') puts (doc/:a).inner_html #=> piyo 参…

scaffoldの罠

データベースの設定して、rake db:migrateでテーブルもできたんだけど、scaffoldで雛形ができない。 もうすこし勉強します。とりあえず、Ajax on Railsの方のサンプル打ち込んで動かして遊んでます。

Rails事始

% gem install rails ~ % rails HelloRails ~ % cd HelloRails ~ % script/server ~/HelloRailsブラウザでlocalhost::3000をリクエスト。Ok.

ifやunlessの条件式の罠

マニュアル読めって話ですが、詰まった点をメモ。以下のコードは意図したとおりに動きません。test_if.rb flg = 4 if flg % 2 puts '2の倍数じゃないよ!' else puts '2の倍数だよ!' end # => 2の倍数じゃないよ! Rubyの場合、偽となるのは「false」もし…

周期拡張と周期対称拡張へ向けて

くだいて言うと周期拡張は2次元の配列をタイル状に、周期対称拡張は交互に反転して並べたもののことで、画像にフィルタをかける場合などの周囲画素の扱い方です。Rubyでこれを実現しようと長らく悩んでいましたが、やっとテスト通りました。とても単純なは…