こどもてるびぃ

2006-05-26

[]1問目答え

Q1解答 - bongoleのRubyを楽しむ日記 - Rubyist

長いから3つ目のだけ見る。ラベルを勘違いしてた。テンプレートの方についてるのね。あーそうだよなー恥ずかしい。あと Hash が便利。

[]1問目(2)

回答を求める文を人力検索ポストするスクリプトを書くっていうネタは思いついた。

[]1問目

Quiz1: Mad Libs - bongoleのRubyを楽しむ日記 - Rubyist

words = []
vars = {}
while word = ARGV.shift
  if var = vars[word]
    words.push(var)
  elsif word.match(/^([^:]+):(.*)$/)
    words.push($2)
    vars[$1] = $2
  else
    words.push(word)
  end
end
while line = gets
  puts line.gsub(/\(\([^)]*\)\)/) { words.shift }
end

ふつー。もう少し考える。

[]

Quiz1: Mad Libs - bongoleのRubyを楽しむ日記 - Rubyist

楽しそう!僕もやろう。えーと、まず入出力のやり方を調べて今日は寝よう。

json

ruby-json じゃなくて json を使おう。require するとエラーが出たけど

require 'rubygems'

と書いたら動いた。gem install .. とインストールしたものにはこうする必要がある、のかな

[]モデルに直接値を入れない時の validation をどうやるべきかよくわからない

http://rubyforge.org/projects/validator はなんかいまいちだった

セッターではまる

class TV
  def channel=(num)
    @channel = num
  end

  def set_for_me
    channel = 3
  end
end

set_for_me を呼んでも教育テレビは見られない。Rubyローカル変数かメソッド呼び出しかどちらなのかがわからないとき、そのシンボルに対して代入が行われたかどうかで決める。この状況でメソッドを呼ぶには明示的に

  def set_for_me
    self.channel = 3
  end

とすればいいんだね。

文字列からクラスオブジェクトを得たい

Object.const_get 'Dog'

とやるらしい。定義してできた Class オブジェクトはグローバル定数になって、でグローバル定数というは Objectクラス変数。グローバルな空間は Object クラスの定義内、みたいに考えるといいのかな。

気を抜くと contentLength みたいに大文字で単語を区切りがち

あと行末にセミコロン

はじめまして

wanpark こと草野です。よろしくお願いします。Webアプリケーションをさらさら書けるようになるのが目標です。「Web」と「アプリケーション」の間にスペースを入れるかどうか迷います。