2010年10月16日土曜日

Ruby1.9はどこ?

Pikで入れたRuby1.9。そういえば君はどこにインストールされたの?

ということで、気になって探してみたら。
C:¥Documents and Settings¥ユーザ名¥.pik¥rubies¥Ruby-192-p0¥以下にインストールされていた。

> pik use 192
> echo %PATH%

とやると、確かにそこにPATHが変わる。気がつかなかったよ。
sqlite3.{exe, dll}をC:¥Ruby¥bin(1.8.6のあるところ)に移動したら、Rails3に切り替えて

> rails g scaffold 云々

とやった時に怒られたので、「おや?」と思ったのだった。
両方で同じものを使うならC:¥sqlite3とか作ってPATHを通す、別々のものを使うならそれぞれのインストールディレクトリ¥binに入れなくちゃダメな訳ですね。

と、妙に初歩的なところで納得した。

2010年10月8日金曜日

rails3の準備

ruby 1.8.6/Rails 2.0.2がインストールされているWindows XPにruby 1.9.x/Rails 3.xを共存させる。

参考ページ

1. Pik0.2.8.msiをダウンロード&インストール

2. 既にインストールされているruby 1.8.6をPikに組み込む
> pik add


3. Ruby1.9.2をインストールする。
3.1 pikで確認
> pik list -r
1.9.2-p0: http://rubyforge.org/frs/download.php/72160/ruby-1.9.2-p0-i386-mingw32.7z
1.9.2-rc1: http://rubyforge.org/frs/download.php/71498/ruby-1.9.2-rc1-i386-mingw32.7z
1.9.2dev-preview3-1: http://rubyforge.org/frs/download.php/71175/ruby-1.9.2dev-preview3-i386-mingw32-1.7z


3.2 1.9.2-p0をインストール
> pik install ruby -v 1.9.2-p0


3.3 確認する
> pik list


4. 1.9.2に切り替える
> pik use 192


5. Rails3をインストール
> gem install rails --version ">= 3.0"


6. SQLite本体とdllをDownload Pageからダウンロードする。解凍して同じフォルダに入れて、PATHを通しておく(今回はとりあえずC:¥sqlite3を用意してそこに入れた)。

7. 再起動

pik use 192 ... Rails3
pik use 186 ... Rails2
に切り替わる。便利だ。

2010年4月17日土曜日

C++で気になったので(仮想関数)

そういえば、階層の途中で仮想関数にしたら、どうなるんだろう?
ということで、ふと試してみた。

class A {
void func() { cout << "call A" << endl;}
};

class B : public A {
virtual void func() { cout << "call B" << endl; }
};

class C : public B {
void func() { cout << "call C" << endl; }
};

int main() {
Parent* p = new C();
p->func();
Child* c-> new C();
c->func();
}

call A
call C

そこから仮想関数って感じなのか。C#ではどうなんだろう。今度試さねば。

そういえば、とあるC#のテキストではoverrideでのオーバーライドは載っているのに、newでの基底クラスの関数の上書き?打ち消し?は載っていなかった。あんまり使わないんだろうか、new?

Remember the Milkを使い始める。Evernoteにtodoが入っていると分かりにくいので、Remember the Milkに移動。GmailのToDoは結局使わなかったな。便利そうに見えたんだけど。