読者です 読者をやめる 読者になる 読者になる

第17回 Yokohamarb

Ruby

毎月おなじみの Yokohamarb に行ってきました。

今回はいつもと形を変えて、和室スタイルではなく、会議卓スタイル。ものすごく新鮮です。

自己紹介タイムにて、@さんが

でつぶやかれていたとおり、HHK開封の儀が執り行なわれました。

また、そろそろこういう本も発売されるらしいので、試験受ける人は見てみては良いかと思いますよという話をさせていただきました。

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

セッション内容は、いつものようにRubyレシピブックの読書会と、後半は各自思い思いの話を。

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技

Rubyレシピブック

Rubyレシピブックは、今日から第2章の文字列。Ruby1.8系統と1.9系統で大きく変わったところの一つですよね。Windowsで開発していたときは、-Kuオプションとか-Ksオプションとかをよく使っていたものです。

Ruby1.9系からはマジックコメントを書く癖を身につけたのですが、いろいろ種類があるんですね。参考は、例えば、1.9.2のるりまの「多言語化」のページ。下のコードもそのページから引用させていただきました。

# coding: euc-jp
# encoding: euc-jp
# -*- coding: euc-jp -*-
# vim:set fileencoding=euc-jp:

私は文字数タイプが少ない

# coding: euc-jp

タイプかな。これ、毎回手で打ってんだけど、何とかならないかな。Vimとかなら何とかなりそうな気がする。あとで調べてみよう。

Ruby1.9では文字列オブジェクトにその文字のエンコード情報を持つようになったんだけど、そのことに関して@さんが呟かれていた


がまさしくそうだよなぁとものすごく納得したのが今日の収穫。

AWDwR4th

個人的には、

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

を読んでいてソースコードの写経をしていたんですが、おもいっきりはまってました。

第12章の「12.1 イテレーション G1: 注文情報の取得」のところで、rake testが通らない。

な、なんでだぁ〜!と色々見返して分かったのがP153の「test/fixtures/orders.yml」に対する修正。

one:
  name: Dave Thomas
  address: MyTest
  email: deve@example.org
  pay_type: Check

これを、次のように修正すればよい。

one:
  name: Dave Thomas
  address: MyTest
  email: deve@example.org
  pay_type: 現金

P152の先頭で、

PAYMENT_TYPES = ["現金", "クレジットカード", "注文書"]

としていて、P153のapp/models/order.rbに対するvalidationの追加の部分で、

validates :pay_type, inclusion: PAYMENT_TYPES

としているので、fixtureに設定するpay_typeも日本語のものを設定せんとあかんよね・・・

これで3時間ほど大ハマリした。orz

いつのとおりtogetterです。

いつものとおり、togetterです。