R6RS:翻訳:Rationale:Control structures

R6RS:翻訳:Rationale:Control structures

17 章 制御構造

17.1 when と unless

when と unless は one-armed if の糖衣構文である。両者ともに暗黙の begin を導入するため、one-armed if を使うよりも便利なことがある。one-armed の条件分岐が使われていることを明確にするために、常に one-armed if の代わりに when や unless を使うプログラマもいる。

17.2 case-lambda

case-lambda を使うことにより、引数の個数を区別する手続きを構築することができるようになる。これは、省略可能引数の格納したリストを分解するよりもずっと容易である。またさらに、処理系は case-lambda を使って表現されたものを、引数の個数に応じて分岐を最適化することができる可能性もある。このようなコードを書くのは引数リストを分解するコードを書くよりもずっと困難である。


Last modified : 2008/03/21 20:48:35 UTC