2007-12-01から1ヶ月間の記事一覧

久々にWindows上にRubyとRails環境を作ってみる

インストールしたバージョンは次の通り。 ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] rails-2.0.2 sqlite-3_5_4 sqlite3-ruby-1.2.1-x86-mswin32 RubyのインストールとRailsのインストールを2つの段階に分けて考える。まずはRubyから。 ActiveS…

Rails 2.0.2でブログシステム:テンプレートメモ

paginateがなくなっていっそうシンプルになった。app/views/home/index.html.erb <% for entry in @entries %> <div class="entry"> <div class="date"> <%= entry.created_on.year %>年<%= entry.created_on.month %>月<%= entry.created_on.day %>日 </div> <h2><%=h entry.title %></h2> <div><%=h entry.body %></div> <%</div>…

paginateはどこへ行った?

undefined method `paginate' for #<HomeController:0xb75868b4>なにー。プラグインになったらしい。じゃあ使うのやめよ。</homecontroller:0xb75868b4>

Rails 2.0.2でブログシステムを作ろうと思ったけど

1系以前の知識で設計していたのだけど、ちょっとそのままでは無理っぽい。特にURLにshowとか書く必要がなくなってて、以前の直感的なURLとコントローラの対応関係が変化してる。どっちのほうがより直感的なのかは置いておくとして、とにかく変わってる。あれ…

Rails 2.0.2でブログシステムを作ってみる(前編)

昨日無事にRails2.0.2がインストールできたので、今日はそれを使ってみる。 Railsでブログシステムを作る 簡単なブログを実装してみる。名前はブログのpipin。 プロジェクトの作成 rails --version #=> Rails 2.0.2 rails pipin cd pipin メモ。ここでデフォ…

Rails 2.0.2に移行する。一応Rubyも最新版に上げておこう

現在の環境は以下の通り。on Debian。 ruby -v #=> ruby 1.8.5 (2007-06-07 patchlevel 52) [i686-linux] rails -v #=> Rails 1.2.3rubyはユーザーのローカルディレクトリにインストールしている。 まずはRubyを最新安定版のruby 1.8.6-p111に http://www.ru…

Rails 2.0.2でデフォルトDBがSQLite3に

Rails 2.0.2でデフォルトDBがSQLite3に - idesaku blog 先日2.0.1をリリースしたばかりのRuby on Railsだが、早くも2.0.2がでてきた。このバージョンで、RailsのデフォルトDBがMySQLからSQLite3に変更されたそうだ。 これはうれしい気がする。全部SQLite3で…

書きかけだった正規表現のページを書き始めた

はっきり言って、正規表現は苦手。正規表現は、日常的に使うけれど、他人に正確に説明するほどの自身はない。特に覚えられないのが、ここ。 ^ …… 行頭。文字列の先頭や改行文字の直後の位置にマッチします。 $ …… 行末。文字列の末尾や改行文字の直前の位置…

プログラムを知らない人にRubyについて、Rubyの魅力、Rubyを取り巻く状況を伝えるとしたら

どんなのがいいだろう。 コードがわかりやすい シンプルに書ける 少ない文字数で書ける 無駄なことは書かなくていい 仕事に集中できる。ややこしい作業に煩わされない プログラミングが楽しい 比較的新しい言語。C/C++, Java, Perlよりも 言語設計がすばらし…

開発版では登録された要素の順序が記憶されるように

最新の開発版のRubyでは、ハッシュは登録した順序を記憶するようになりました。次のような処理を試してみると、登録した順序の通り処理が行われていることが確認できます。 # ruby 1.9.0 (2007-12-13 patchlevel 0) [i686-linux] a = { "tomato" => 120, "po…

疲れる小人さん

class Kobito def initialize(tree, basket) @tree = tree @basket = basket @tiredness = 0 end def work unless @tree.empty? if tired? eat else carry end end end def tired? @tiredness >= 3 end def eat @tree.shift @tiredness = 0 end def carry @b…

プリントアウトして直し

赤ペンを持って校正。でも、それをPCに向かってフィードバックするのがめんどくさい。でも印刷して読み直すといろいろ見えてくるから仕方がない。昨日はフィードバックの日だった。今日はまた新しいところを書く日。メソッド定義が終わったから、次は配列ま…

Rails 2.0もうでたのか

気がつけばもう出ていた。出たとわかれば対策がうてるので、この時期で良かったといえば良かったのかな。

次はメソッドを書こう

中盤の残りは、 配列の一部 メソッド クラスの一部 メソッドが手付かずなので、メソッドを書き進めてみよう。

3/4が書けた

あとはsubとブロックつきメソッドを使った文字列操作を残すのみ。 - ブロックつきメソッドを使った例、つまりscanやeach_lineは正規表現や配列の知識が必要なので、文字列のパートに書くのはやめた。文字列はひとまず終了。

オブジェクトとメソッド

ボツにした下書き。 オブジェクトとメソッド オブジェクトはいくつかのメソッドを持っています。たとえば文字列オブジェクトはupcaseというメソッドを持っています。文字列オブジェクトのupcaseメソッドを呼び出すには次のようにします。 "abc".upcase upcas…

オブジェクトの節には何を書くべきか

文字列のところにレシーバやら、破壊的・非破壊的メソッドの話が入ってしまったので、内容がかぶってしまった。 クラスとオブジェクトの関係 classメソッド クラス、代表的なクラス オブジェクトとメソッド to_i to_s chomp 非破壊的である旨 a = a.to_i 以…

オブジェクトの説明

オブジェクトとクラスに関する話が、文字列の中にも結構出てきたので、オブジェクト単体の章が微妙になってきた。その前後の章をどう構成するか。ちょっと調整する必要が出てきたぞ。リテラルを変数の前に入れて、オブジェクトはその後ろにしてみよう。 変数…

章の位置づけ

「文字列」の前後は……。えっと、前は変数とリテラル、後は配列か。とすると、直前は基礎的なウンチク、その後は、いよいよ本格的なプログラミングの話になってくる配列と。とわいえ、配列はそれほど複雑な話ではない(最後のブロックつきメソッドの話を除け…

変数について書いた

変数について書きました。あとは印刷して修正というのを数回繰り返せばよいでしょう。次は、メソッド定義か文字列です。