はじめに
移植やってます
@property (Python)
class IndexedReaderMixin(NoOpBaseReader):
@property
def index(self):
return self._offset_index
Pythonのデコレーター
は、関数に機能を追加するための仕組み。
ややこしい仕組みですが、@property
は比較的簡単で、所謂セッターゲッターの様なもの。
attr_reader (Ruby)
class A
attr_reader :index
def initialize
@index = 0
end
def add
@index += 1
end
end
a = A.new
puts a.index
puts a.add
puts a.index += 1 # error
皆さん大好きattr_reader
module A
def reset
@index = 0
end
def add(value)
@index += value
end
end
class B
include A
end
a = B.new
puts a.reset
puts a.add(2)
puts a.index # error
ちょっと格好悪いですが、セッターゲッター入れましょうか。
メモ
- Python の @property を学習した
- 道のりは遠そう