PerlerのRuby日記

Rubyとか

Ruby

継承先の子クラスの呼び方が分からない

Perlだとこうなるのは、Rubyだとどうなるのか。 package Hoge; sub new { my $class = shift; bless {}, $class; } sub fuga { my $self = shift; my $class = ref $self; "$class\::Fuga"->new; } package Piyo; our @ISA = ('Hoge'); package Piyo::Fuga; …

Rubyレシピブック050~053途中

050 文字列をバイトごとに処理する 割愛 051 文字列を連結する なお、短い文字列を大量に追加する場合は、+ではなくString#concatを使うべきです。 なるほど。 Perlは「.」の文字列連結演算子一択だけれど、Rubyは用途によって使い分けが必要らしい。 参照先…

Yokohama.rb #22 に行ってきた

2012/7/14(Sat)に行われたYokohama.rbに行ってきた。 誰も書いてないみたいなので書いておく。 http://bukt.org/events/49 ちなみに勉強会なるものに初めて参加した。 PerlerなのにRubyの方が先とはこれいかに。 17:00開始だと思っていたら17:30開始だった …

YAML.loadの例外補足がわからない

"RuntimeError occur at here!!!"の例外はどこにいってしまったのでしょう。

Youtube検索

WEB+DB PRESS Vol.44より、MVCの解説としてYoutubeから検索するプログラムをPerlで例として掲載されていたのをRubyで書き直してみた。 WEB+DB PRESS Vol.44 作者: 鵜飼文敏,ミック,大塚知洋,下岡秀幸,山本陽平,伊藤直也,高井直人,永安悟史,角谷信太郎,高林哲…

クラスの階層

練習も兼ねて簡単なフレームワークを作っていて以下のように書いたらエラーになった。 lib/myapp/controller/search/index.rb class Search::Index < Controller … end uninitialized constant Object::Search (NameError) まだまだよく理解しきっていないの…

多重ループからの脱出

単純なループやイテレータは、breakで脱出できる。 num = [1,2,3,4,5,6,7,8,9,10] num.each do |i| break if i > 5 puts i end puts "----------------------" for i in num break if i > 5 puts i end 1 2 3 4 5 ---------------------- 1 2 3 4 5 ただしこ…

=~ による正規表現パターンマッチ

正規表現は、正規表現クラスつまりRegexpクラスから作るか、「/regexp/」のようにスラッシュで囲むかで作れるけれど、まあ後者が簡単。 test_regexp = Regexp.new('^test', true) #=> /^test/i test_regexp = /^test/i #=> /^test/i マニュアルには左辺に正…

ヒアドキュメント

Rubyのヒアドキュメント。 「<<区切り語」から「区切り語だけ書いてある行」までが、指定できる文字列。 「<<」と「区切り語」の間にスペースは入れられない。 「区切り語」をダブルクオートで括れば式展開される。シングルクオートならされない。 「区切り…

Ruby on Railsインストール

RubyGems を利用して流行の Ruby on Rails をインストール。 Ruby on Rails インストール $ gem install rails Successfully installed activesupport-3.0.2 Successfully installed builder-2.1.2 Successfully installed i18n-0.4.2 Successfully installe…

インストール

サクラレンタルサーバにRubyをインストールした手順。 現在最新版はRuby1.9.2。 レンサバなのでもちろん管理者権限はなく、ホームディレクトリにインストール。 ちなみにbash。 Ruby $ cd ~/src $ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.…

Ruby日記

Rubyについて学いだことを主に私的メモとして記録していく。