したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

2277簡易バル:2014/11/23(日) 08:46:37
(無題)
はじめまして。
プチコン3号の自作関数の仕様はとてもわかりづらいと思います。
そこで、自分なりに実験してみたのですが、

A=1
B=2
PRINT FUNC(3)
PRINT A
PRINT B

DEF FUNC(B)
A=B
RETURN A
END

のようなプログラムを実行すると、結果は、

3
3
2

になり、グローバル変数Aの内容が破壊されてしまいます。
それに、御茶目菜子さんが言ったように、自作関数内で"VAR A"と書くとエラーになります。
しかし、自作関数の場所を変えて、

DEF FUNC(B)
A=B
RETURN A
END

A=1
B=2
PRINT FUNC(3)
PRINT A
PRINT B

とすると結果は、

3
1
2

になり、自作関数の中の変数Aとグローバル変数Aが区別されるようになります。
自作関数内で"VAR A"と書いても大丈夫です。
しかし、なぜこうなるのか・・・僕にはわかりません。(プチコンが初プログラミングです)




掲示板管理者へ連絡 無料レンタル掲示板