連鎖性言語/キーワードパラメータCommon Lisp や Smalltalk をはじめ、多くの言語は、呼び出し側での名前付きパラメータをサポートしています。 (send-email :from "jack@aol.com" :to (list "jill@aol.com") :subject "Hello there" :body body) Factor でこれに最も近いものを実現するには、タプルを定義して、タプルのスロットを設定し、このタプルをほかのワードに渡します。Factor ではこの方法は非常に都合がよいのですが、それはタプルスロットのセッターがタプルをスタックに置くので、スタックを操作しなくてもセッターを次々にチェインさせることができるからです。 <email>
"jack@aol.com" >>from
{ "jill@aol.com" } >>to
"Hello there" >>subject
body >>body
send-emailこの語法を使ううえで、付加的な言語機能は一切必要ありません。また、セッターの呼び出しを新しいワードとしてまとめることができるので、柔軟な使い方が可能です。実際、email オブジェクトをすぐに送信せずに、ワード間で受け渡しすることもできます。 This revision created on Fri, 2 Jan 2009 19:55:35 by slava |
|
|
All content is © 2008 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license. |
|