- 682 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 17:24:59 ]
- >>670-672
ありがとうございます >>671 関数の引数はjavaのように、 実体を指すポインタのコピーが渡ると考えれば良いですよね set!だとコピーしたポインタ自体を変更しても元データには全く影響がないが set-car!だと、コピーしたポインタの指す先を変更するので 引数にset-car!しても破壊的変更が可能 だとすれば、参照渡しで実現出来る 関数の実引数の実体を直接書き換えるような 関数の作成は不可能ですね >>672 >そもそも scheme では、クォートされたリストに set-car!、set-cdr! しちゃいけない これは初めて知りました。これが原因ですね コードはGaucheとGuileで試したのですが どちらもクォートされたリストは共有されるような実装ってことですね
|

|