Osamu NAKAMURA
naka****@hasak*****
2004年 9月 17日 (金) 15:08:26 JST
中村といいます。 ちょっとわからなくなってしまったので、御教示 いただきたく。 これ #!/usr/bin/env gosh (define tbl (make-hash-table)) ((lambda (tbl key value) (hash-table-push! tbl key value)) tbl 1 "a") ((lambda (key value) (hash-table-push! tbl key value)) 2 "b") (print (hash-table-keys tbl)) (print (hash-table-values tbl)) を走らせた場合、 (1 2) ((a) (b)) が出力されるのですが、 (2) ((b)) となるべきのように思えて、悩んでいます。 (値渡しだから、初めの lambda に渡された tbl と その tbl への変更はその lambda の中でだけ有効、との理解。) 私の理解は、どこがおかしいんでしょうか。 --