2007-01-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 以…

オブジェクトの説明

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

章の位置づけ

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

変数について書いた

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

Rails 2.0 RC2

Rails 2.0のRC2がリリースされましたね。正式リリースも間近のようです。 http://blog.s21g.com/articles/233な、なにっ!もう来るのか。早い、予想よりだいぶ早い。以下考えられる組み合わせ。 Ruby1.8系 × Rails1.2系 …… 安定志向 Ruby1.8系 × Rails2.0系 …

その他のリテラル

`date` %x{ date } 1 .. 20 # 範囲オブジェクト ヒアドキュメント レンジ memo:※これらをどの程度解説するかは全体のバランス次第

オブジェクトとクラス

オブジェクトについて軽く触れておきたい。 オブジェクトとクラスの関係 .class クラスの概要 オブジェクトとメソッド オブジェクトを破壊するメソッド、と非破壊的 to_i, to_s

for

forはカットしたいんだけど、Railsだとrhtmlの中で使ってたりするんだよな。前半の純Ruby編では解説せずに、Rails編で登場したときに、必要に応じて解説するのがいいかな。最初は配列とか厄介だし。カット for name in ["リンゴ", "バナナ", "スイカ"] puts …

pメソッドと #=> 記法

久々に一番初めから読み返してみる。まだ抜けが多いので、書きつつ直しつつ進めていく。もう少し続けよういつも悩むのがpメソッドの紹介。pは便宜上できるだけ早く紹介したいのだけど、pの便利さをわかってもらうには、いくつかの種類のオブジェクトを知って…

todo

プログラムの実行をさらに細かく 実行→ソースファイル 実行しながら読み進めてほしい旨 文字コードオプションについては実行のところでも言及しておくこと

String#... の取捨選択

「文字列」は、ただStringクラスの解説をするだけではなく、基礎編と応用編の中間に位置するので、前後の内容を踏まえたバランスが必要。以前に書いた基礎編を読み返して、スムーズな流れを作らないと。Stringクラスの持つメソッドで紹介すべきものはどれか…

次に書くべきもの

Webアクセスはネタが出ないので、後回しにしよう。あと手を付けていない、というか方針もよく決まっていないところは、文字列とメソッド定義。メソッド定義は、まあなんとなくできそうではある。文字列はちょっと厄介だなあ。コンセプトからしてよく考えない…

open-uri

標準添付されているライブラリでWebアクセスを行うならば「open-uri」が便利なのかな。open-uriってほとんど使ったことがないんだよなあ。 http://www.ruby-lang.org/ja/man/?cmd=view;name=open-uri …… Rubyリファレンスマニュアル - open-uri http://doc.l…

るびまの「標準添付ライブラリ紹介 【第 10 回】 ERB」

ERB

http://jp.rubyist.net/magazine/?0017-BundledLibraries 西山さんによるERBの紹介記事。ほんとすばらしい。標準添付ライブラリ紹介はすばらしい連載だと思います。最初にこれを読めばよかった……。