
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
状態とふるまいを持つモデルを実装する (3) - デコレータによる実装例 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
状態とふるまいを持つモデルを実装する (3) - デコレータによる実装例 - Qiita
from enum import auto def transit(state): def decorator(func): def inner(self, *args, **kwargs): ... from enum import auto def transit(state): def decorator(func): def inner(self, *args, **kwargs): self.start_stop, self.reset = self._TRANSIT[state] func(self, *args, **kwargs) return inner return decorator class StopWatch: WAIT, PAUSE, MEASURE = auto(), auto(), auto() def __init__(self): self._TRANSIT = {StopWatch.WAIT: (self.start, lambda *args: None), StopWatch.PAUSE: (self.start, self.reset_tim