開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- ruby 2.4 (プログラミング言語)
- 初めてのRuby(その他の参考書籍)
メタプログラミング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 コメント:
コメントを投稿