From: gotoken@... (GOTO Kentaro) Date: 1999-04-23T01:04:31+09:00 Subject: [ruby-list:14025] Re: What is Object in Ruby? (Re: Ruby and LISP) ごとけんです In message "[ruby-list:14019] Re: What is Object in Ruby? (Re: Ruby and LISP)" on 99/04/22, 中村暁史 writes: >副作用って、プログラムが「関数」とかいうもので作れる!という >幻想(少なくともoopな言語を前にすれば)が作り出した語なんじゃないかと >勘ぐっています。 そうだと思います。僕が最初に副作用という言葉をみたのは LISPの教科書でなのですが(N88BASICの次がLISPだったもので)、 LISPの文脈だと副作用という言葉は非常に的確に思えました。 Ruby でも例えば gets の結果が $_ に代入されているのも副 作用ということばが似合うような気がします。正規表現マッチ とかもそうかも。 ただ、副作用なしで書けるかどうかというのは書きやすさとは 分けて考えるべき問題で、Ruby の場合は案外副作用と呼ばれ るものを排除できるのでは無いかと直観しています。とくに I/O などの OS とのやりとりはオブジェクトとして扱うのは理 にかなっています。ちょっと怪しいのは制御がからむ例外と代 入やメソッド定義などメタな操作を可能にする eval 系のメソッ ドくらいかな。 -- gotoken