2017年4月4日火曜日

開発環境

メタプログラミングRuby 第2版(Paolo Perrotta (著)、角 征典 (翻訳)、オライリージャパン)の1部(メタプログラミング Ruby)、6章(金曜日: コードを記述するコード)、6.3(クイズ: アトリビュートのチェック (手順1))を取り組んでみる。

コード(Emacs)

#!/usr/bin/env ruby2.4
# -*- coding: utf-8 -*-

require './eval.rb'

def add_checked_attribute(klass, attribute)
  eval "
class #{klass.name}
  def #{attribute}
    @#{attribute}
  end
  def #{attribute}=(value)
    raise 'Invalid attribute' unless value
    @#{attribute} = value
  end
end
"
end

入出力結果(Terminal)

$ ./sample1.rb
Loaded suite ./sample1
Started
...

Finished in 0.000752 seconds.
----------------------------------------------------------------------------------------
3 tests, 3 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
----------------------------------------------------------------------------------------
3989.36 tests/s, 3989.36 assertions/s
$

0 コメント:

コメントを投稿