中村 のりつぐ です。
In article <200203250149.g2P1nlU10752@...>
kikwai@... (機械伯爵) wrote:
> Rubyと異なり、C++は独立した関数が定義できます(つまり、完全なオブジェクト
> 指向言語ではない)ので、考え方としてはRubyよりシンプルです。
>
> 問題は、どの教科書も、インスタンスフィールドは基本的にプライベートであり
> 外からアクセスするには、フレンド関数として定義しておかなければならない、な
> んて話がくっつくので、一気にややこしくなるだけです。
確かに説明のされ方の問題も大いにあるみたいです。
# ひだかさんの例を見ていると結構ややこしい話もありそうですが。
Ruby の場合は「演算子もメソッドだよ」みたいな説明があるので、
とりあえず coerce とか難しいことは考えず、「簡単じゃん!」
とごまかされているだけかも。
(私は Ruby 本の面倒なところの説明は読んでいないし)
> ひるがえってSmalltalkあたりから出てくるオブジェクト指向言語は、どち
> らかといえば言語的です。
>
> Smalltalkにはそも、演算子の優先順位さえないですし、2項演算子も、
> なんかやむをえず入れたような雰囲気があります。
「ウィンストンの Smalltalk」をちょっとだけ読んで、
演算子の優先順位がないと書いてあったのには驚きました。
6 + 3 * 2 --> (6 + 3) * 2 と解釈されると書いてあったので。
中村 典嗣 E-mail: nnakamur@...