作者: 機械伯爵
日時: 2008/5/23(09:36)
 このあたりの話なら、一応大丈夫だな(笑)

 機械す。

※最近、自分の知識に自信が持てなくなってる……

> 別に変数でも何でもいいですが、BASIC時代(Cでも?)に使われた、変数 == 箱
> モデルで説明するのは勘弁といったところでしょうか。そんなものにたとえて
> 覚えさせるから、関数(メソッド)の引数としてどのように振舞うかで混乱が起
> きてしまう。

 まぁ実際、Cは箱でしたからねぇ(だから入れ物のサイズ指定が必要)

 BASICはしばらく使ってないんで忘れましたが、確か文字と数値では、変数の
書き方が違うんじゃなかったでしたっけ?

 えっと、BASICって配列もつかえたんだっけ(あかん、完璧に忘れてる。あと
でポケコンのマニュアル読みなおそう……)

 だから「変数じゃねーってばっ!」と言う方が早いかな、と思ったんですが。

> 要は、オブジェクトの「実体」というのがあって、「変数」というのは
> それを見つけるための(見分けるための)ラベルのようなもの。という。
> ラベルが指している先の内容を書き換えるのと、ラベルに書かれている
> 内容を書き換えるというのは別物ですよ。と。

 そうですね。
 でもって、名札が一枚も貼ってないか、あるいは指定表(リストの中からとか)
がないモノはごみ箱行き、と。
 
> って、Pythonの短整数もポインタの先にあるんでしたっけ?

 一応そうですよ。
 だから(1).__add__(1)とかいう、あやしい書き方もできる☆。
 ちなみに現在は、長整数と短整数の区別はなくなりつつありますし、Py3kでは
(ユーザ側からは)完全に区別がなくなります。
 まぁ、実装の面から言えば、メモリ節約のため、変えてるみたいですが、
オブジェクトポインタであることにはかわりません。

※文字列も、短いモノはシンボルとして登録されますし……

 /機械伯爵/