開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- ruby 2.4 (プログラミング言語)
- 初めてのRuby(その他の参考書籍)
メタプログラミングRuby 第2版(Paolo Perrotta (著)、角 征典 (翻訳)、オライリージャパン)の1部(メタプログラミング Ruby)、5章(木曜日: クラスの定義)、5.7(クイズ: 壊れた計算)を取り組んでみる。
コード(Emacs)
#!/usr/bin/env ruby2.4 # -*- coding: utf-8 -*- class Fixnum alias_method :real_add, :+ def +(value) self.real_add(value).real_add(1) end end puts 1 + 1 puts 1 + 1 == 3 class Integer alias_method :real_sub, :- def -(value) self.real_sub(value).real_sub(1) end end puts 1 - 1 puts 1 - 1 == -1
入出力結果(Terminal)
$ ./sample3.rb ./sample3.rb:4: warning: constant ::Fixnum is deprecated 3 true -1 true $
0 コメント:
コメントを投稿