blog.fuktommy.com

割と汎用のメソッドチェインツール

Smarty テンプレートでは {$foo|default:"HOGE"|escape} みたいにメソッドチェイン風に書けるわけですが、 これをヒントに、 なんでもメソッドチェイン風にできるライブラリを作ってみました。

Pythonで作りましたが、言語の機能に依存するので、 どの言語でも応用できますよ、とはいかないよなあ: methodchain.py

こんな感じで使います。

>>> import methodchain

# 例でmathモジュールを使うためです。
>>> import math 

# メソッドチェインの例
>>> methodchain.pack(9).pipe(math.pow, 6).pipe(math.sqrt).unpack()
729.0

# パックした中身の属性も使えます
>>> methodchain.pack('spam').upper()
'SPAM'

# 中身の属性を利用した型変換の例
>>> int(methodchain.pack(9))
9

ちなみに doctestunittest を両方使った贅沢なモジュールです。

Copyright© 1998-2014 Fuktommy. All Rights Reserved.
webmaster@fuktommy.com (Legal Notices)