10
http://www.erlang.org/news/35に記載されていますが、ドキュメントには記載されていません。Erlangのタプルモジュールとは何ですか?
http://www.erlang.org/news/35に記載されていますが、ドキュメントには記載されていません。Erlangのタプルモジュールとは何ですか?
"タプルモジュール"は、モジュール名と余分な引数のリストという2つの要素を持つタプルです。例えば:
{my_module, [foo, bar]}
このようなタプルは、関数呼び出し、モジュール名の代わりに使用することができます。この場合、呼び出される関数は、引数リストの最後に追加の引数として問題のタプルを取得します:
3> Module = {lists, [[foo]]}.
{lists,[[foo]]}
4> Module:append([bar]).
[bar|{lists,[[foo]]}]
この呼び出しは同等です:
7> lists:append([bar], {lists, [[foo]]}).
[bar|{lists,[[foo]]}]
タプルモジュールが保存されています下位互換性のために、R16の言語から削除されたparameterised modulesの実装メカニズムであったためです。
ハム、私は最終結果として[foo、bar]を期待していた – Isac
私もテストのための機能の私の選択:) – legoscia
注意の例!最後の引数は、モジュールの修飾を持つタプル全体を覚えているので、標準ライブラリはこの呼び出しには適していません。これは、stdモジュールが 'リスト 'として期待していないものです。これは、次のような新しいモジュールで役に立ちます:https://github.com/comtihon/mongodb-erlang。 – DenisKolodin