多値の便利さが分かってきた

Gauche本では使えることは分かったけど、便利さがいまいちよく分かっていなかった。
土日にちょっと弄っていてやっと便利さが分かってきた。


使い方は、戻り値として複数の値を渡したいときならリストにして返せばいい、と今までならば考える。
けどわざわざリストを作るのはメモリ的にも時間的にも無駄。
さらに受け取った側でまたリストにcar,cdrとかの操作が必要なのでさらに無駄。
しかし多値ならば、戻り値を変数に直接渡せるし、リストとしても受け取ることが出来る、と。
あとは、let1とかもお気に入り。
けどcall/ccとかマクロとか使っていない。


Schemeプログラマのレベル10だとレベル4からレベル5に足を踏み出したと言った辺りかな?
レベル5まで行ったらとりあえずSchemeプログラマと名乗っても問題無しとか。


On Lispはまだ5章なのでまだまだか。
これが終わったらSICPに再挑戦したいけど、そのまえにC#もなんとかしないと。