割と汎用のメソッドチェインツール
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
ちなみに doctest と unittest を両方使った贅沢なモジュールです。