せかいや

いまいるここを、おもしろく http://sekai-in-the-box.appspot.com/

【Ruby】パーフェクトRuby 学習感想文 ~第15章 その1

それでは15章を読んでいきます。


(参考・経緯など)
パーフェクトRuby 学習感想文 ~はじめに

 

P537 bundle install でエラー

$ bundle install
Fetching gem metadata from https://rubygems.org/....
Resolving dependencies...
Installing rake (10.1.0)
Using bundler (1.3.5)
Installing redcarpet (2.3.0)
Gem::InstallError: The 'redcarpet' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions

P24で書いてあるDevKitのインストールがまだだった。
インストール後、再チャレンジ。OKでした。

 

module は複数のファイルに定義できる?

P541 command.rb

module Todo
	...
end

P543 db.rb

module Todo
	module DB
		...
	end
end

複数のrbファイルに、同じモジュール名で定義を書いているー。
module の中にmodule を定義してるー。
こんなこと出来るんだ。


 

P545 誤植だと思います

誤: デーブルの定義
正: テーブルの定義


 

P545 コードに説明が欲しいです

パーフェクトPHPは、サンプルコードに番号が振ってあって、
それぞれのコードの説明も入れてくれていて、それがすごく分かりやすかった。

でもパーフェクトRubyにはそれがない。
例えばDB接続を行うdb.rb の中にはこんなコードが書いてある。

database_path = File.join(ENV['HOME'], '.todo', 'todo.sqlite3')

こういうときに、①と振って、File.joinの説明を書いていてほしいな。


 

P546 テーブル新規作成時は戻り値が[]?

irb(main):002:0> TodoSamp::DB.prepare
=> []
irb(main):003:0> require 'todo_samp'
=> false
irb(main):004:0> TodoSamp::DB.prepare
=> nil

事実なら一言欲しかったかも。


 
テーブル作成ー。
sqlite3って初めて触った。
データをファイルで持つから接続が簡単!