Bruce.です。
機械伯爵 writes:
> このあたりの話なら、一応大丈夫だな(笑)
>
> 機械す。
>
> ※最近、自分の知識に自信が持てなくなってる……
>
> > 別に変数でも何でもいいですが、BASIC時代(Cでも?)に使われた、変数 == 箱
> > モデルで説明するのは勘弁といったところでしょうか。そんなものにたとえて
> > 覚えさせるから、関数(メソッド)の引数としてどのように振舞うかで混乱が起
> > きてしまう。
>
> まぁ実際、Cは箱でしたからねぇ(だから入れ物のサイズ指定が必要)
>
> BASICはしばらく使ってないんで忘れましたが、確か文字と数値では、変数の
> 書き方が違うんじゃなかったでしたっけ?
えーとですね、型を明示すると処理速度が上がるとかいう特典があるんですが
特になくてもかまわないです。型を明示している変数に別の型の値を代入しよう
とすると当然エラーになりますが、型の明示がない場合には、代入する値の
型の変数に「化ける」ことになります。
んで、型の明示にはPerlの変数の頭についてるアレみたいなのが、変数名の
「尻尾」につきます。
処理系によって多少違いがあるかもしれませんが、
$ → 文字列
! → 単精度実数
& → 倍精度実数
% → 整数
こんなんだったかなあ。
VBなんかだと通貨型(Currency)なんてのもあったはず。
> えっと、BASICって配列もつかえたんだっけ(あかん、完璧に忘れてる。あと
> でポケコンのマニュアル読みなおそう……)
いくらなんでもそりではBASICが可哀想でありまする。>配列が使えない
> だから「変数じゃねーってばっ!」と言う方が早いかな、と思ったんですが。
あい。
まあそういう言い方もありということで。
> > って、Pythonの短整数もポインタの先にあるんでしたっけ?
>
> 一応そうですよ。
> だから(1).__add__(1)とかいう、あやしい書き方もできる☆。
へー。
整数演算時にオーバーヘッドがでかくなりそうな気がするんですが、
なにかワザを駆使してたりするんでしょうか。
あと、最後のアヤシイワザですが、ポインタとしては短整数を持っていない
Rubyでも 1.__send__(:+, 2) とかできますが?(笑)
いじょ。