2013年12月5日木曜日

Googleスプレッドシートのグローバル変数

Googleスプレッドシートで、スクリプトを書くとき
どこからでも参照できるグローバル変数を
使いたいと思い、試してみましたが、

今現在の結論は、グローバル変数は、使ってはいけない。
という感じに思いました。

関数の外で定義すれば、グローバル変数自体は
定義できますが、1つの関数の処理が終わると、
グローバル変数も、初期の状態に戻されるようです。
(実際に試してみた結果)



1つの関数内で、いろいろな関数が呼ばれている間は、
どこの関数から参照しても、グローバル変数をちゃんと
参照できました。

マイクロソフトのVBみたいに、プロジェクトの中で
グローバル変数を定義して、プロジェクトが動いて
いる間は、グローバル変数を保持するというのとは
ちょっと違う動きのようです。


Googleスプレッドシートなど、使う側からすれば
アクセスが終了したら、プログラムが終了するイメージですが、

それらは、サーバにあって、常に動いています。
時刻起動で、処理が動かせるので、1分単位に
何かの処理を行うことも可能です。

サーバ側から見たら、グローバル変数などは
開放のタイミングがない?ってことになる。

だから、1つの関数の動きが終了したら、
すぐ、領域を開放している。

そんな感じじゃないかなと思いました。







0 件のコメント:

コメントを投稿