Ruby

メタプログラミングがわかって来た。

わかって来ると面白いね。 module Foo def self.included(base) p "#{base} included #{self}" base.extend(ClassMethods) end module ClassMethods def acts_as_greeting class_eval do include InstanceMethods end end end module InstanceMethods def sh…

Mac Port を使った Ruby1.9 のインストール

sudo port install ruby19 +mactk tk を使うのに、+mactk オプションが必要。 Port についてのメモはここ。詳細はここ。 新規にインストールする際は、ここから最新版の MacPort をインストールする事。

ri-emacs.rbがRuby1.9で動作しないので作者にメールしてみた。

Ruby1.9正式版リリースおめでとうございます!! というわけで、早速いろいろ試していると、emacs上でRIを表示するri-emacsが上手く動作しない様子。 調べてみると、lispからri-emacs.rbを実行している箇所でSyntax Errorが。 > /opt/local/lib/ruby1.9/site…

RubyGemsを使ったRailsのインストールでの注意点

やっと時間が取れたのでRuby on Railsのインストールに挑戦。 ところがRubyGemsを使ってRailsをインストールする所で手こずる。 $ sudo gem install rails --include-dependenciesこのコマンドを実行するが、以下のエラーが帰って来た。 /opt/local/lib/ruby…

MacにRailsをゼロからインストールする一番簡単な方法:江島健太郎 / Kenn's Clairvoyance - CNET Japan

Kennさんの所で、Railsのインストール方法について紹介されていました。http://japan.cnet.com/blog/kenn/2007/12/19/entry_25003169/?ref=rssしかーし、私も最近Railsのインストール方法を漁っていた所で、簡単さで言ったらこんなのも有るのを発見。 Locomo…

まつもと直伝 プログラミングのオキテ を第16回まで読んだ。

このシリーズはまだまだ続くようだが、今有る最新の記事まで読んだのでここでストップ。 これからRuby on Railsの勉強を始める事としよう。

まつもと直伝 プログラミングのオキテ 第14回を読んだ

まつもと直伝 プログラミングのオキテ 第14回 意外に深い整数の世界 | 日経 xTECH(クロステック) 整数の話。2の補数の意味と意義がやっとわかった。今までその意義が良くわかってなかった。 2の補数とは,「正の数をビット反転して1を足したもの」で 256通…

まつもと直伝 プログラミングのオキテ 第11回を読んだ

まつもと直伝 プログラミングのオキテ 第11回 コード・ジェネレーション | 日経 xTECH(クロステック) コードジェネレーションについての章。なかなか面白い。常々やりたいと思ってた事がRubyを使うと簡単にできそうだ。 binding変数ってのはその場の束縛変…

まつもと直伝 プログラミングのオキテ 第8〜10回を読んだ

まつもと直伝 プログラミングのオキテ 第8回 | 日経 xTECH(クロステック) まつもと直伝 プログラミングのオキテ 第9回 | 日経 xTECH(クロステック) まつもと直伝 プログラミングのオキテ 第10回 | 日経 xTECH(クロステック) デザインパターンについて…

まつもと直伝 プログラミングのオキテ 第7回を読んだ

まつもと直伝 プログラミングのオキテ 第7回 | 日経 xTECH(クロステック) コレクションについての章。 Rubyのコレクション、最高!! 表現が他の言語と比べてて非常に簡潔。 配列指定演算子[]を使って部分要素の取得、置換、挿入までできちゃう!!スゲっ…

まつもと直伝 プログラミングのオキテ 第6回を読んだ

まつもと直伝 プログラミングのオキテ 第6回 | 日経 xTECH(クロステック) メタプログラミングについての章。 一つ一つの説明や言っている事はわかって、なんかすごそうな事をやっているような気がするが、全体像がまるで見えてこない。正直言って不完全燃…

メモ from まつもと直伝 プログラミングのオキテ

まつもと直伝 プログラミングのオキテ 第5回(2) | 日経 xTECH(クロステック)より 内部イテレータとクロージャの必要性 内部イテレータは余分なクラスを作らず,使うのも作るのも簡単です。しかし,言語がクロージャをサポートしていないとループ本体と外…

ホワイの(感動的)Rubyガイドをなんとか読んだ。

ホワイの(感動的)Rubyガイドをなんとか6章まで読み通した。 本文が意味不明でかなり辛かった。 途中文は読み飛ばせば良い事に気がつき、なんとか最後までたどり着く事ができた。せっかく読んだんでメモ。 文字列の扱い "文字列" % [配列] 配列(もしくは単な…

Regexp

今まで知らなかった分をまとめる。 \b 語境界 - \wと\Wの間にマッチ \B 非語境界 量指定子の? *? +? {m,n}? ?? 等、最短一致を示す。 (?: ) 後方参照を伴わないグループ化 (?= ) 先読み(lookahead) "foobar"[/foo(?=bar)/] => foo (?! ) 否定先読み "foobaz"…

ruby-modeが使いにくいので改造(その3)

なんだかRubyの勉強をしていたつもりがすっかりelispにハマってしまっているな。 前回の改造に続き今回は、class, def, do に対して、end を適切にインデントして補完する機能を書いてみた。 class, def, do の直後でスペースバーを叩くと次の行にend が現れ…

やっぱり有ったよruby-electric-mode

作らなくても良かったって話。良く有ること。 C-x C-eでのonleliner とblockの評価が気に入っているんで、これとruby-electric-mode の併用で行くかな。 多分、それもどっかに有るんだろうけど。 綺麗に書くなぁ。ruby-electric.el。 勉強になる。

ruby-modeが使いにくいので改造(その2)

昨日のままだと、onelinerの評価にはC-x C-e を、ブロックの評価にはruby-mode標準のキーバインドC-c C-xをと使い分けなければならない。どちらも同じように C-x C-eで評価できると便利なので、elispを書き直してみた。 (10/12 追記:ここに新しいバージョン…