なでしこを使って,日本語でバッチを書こう!

第5回 なでしこでバッチ「変数の定義」

この記事を読むのに必要な時間:およそ 2 分

基本その5:グローバルとローカル

変数は非常に便利なものですが,普通に使っているとどんどん増えてしまいます。ですが,プログラムの途中で変数の中身を入れ替えたり,初期化する事も多く,そこで間違うと結果的にプログラムが自分の意図と違う動きをしてしまうケースがよくあります。そこで,変数のスコープ(範囲)を利用して,変数の管理をわかりやすくしようと言うのが目的です。

ただそう言っても,ピンと来ないと思いますので例文で理解してください。

リスト5 変数の実践的な使い方

僕とは文字列
僕に2を代入
僕を言う
私処理
私変数を言う
終わる。

●私処理
 私変数とは整数
 僕を表示
 私変数に3を代入
 私変数を言う

図5 リスト5の実行結果1(左上)⁠リスト5の実行結果2(右上)⁠リスト5の実行結果3(左下)

画像 画像

画像

まず,僕と言う変数に数字の「2」を代入しています。次に僕と言う変数の中身を表示します。それがリスト5の実行結果1のように「2」が表示されます。

ここからが重要なのですが,私処理に注目してください。●が先頭に記述されてますよね? なでしこでは●を先頭に記述する事で,それ以降を関数として扱う事ができます。

●オレ処理
●あなた

基本的に関数名は何でもOKです(例外は,なでしこ側で持っている定数等を指定するとエラーで返されます)⁠私処理の中では,私変数を宣言しています。これがローカル変数となります(リスト5の実行結果2がその結果になります)⁠

関数の中で宣言した変数は,関数の外に出る事はできません。よって5行目の「私変数を表示」では,ローカル変数である「私変数」が普通に考えるとリスト5の実行結果2のように3が表示されるのですが,3を持っている11行目の「私変数」は関数の外に出れないため,5行目の「私変数」は名前は同じですが全く違う別の変数として生成されています(リスト5の実行結果3のように変数内部に何も値を持っていないため,変数名がそのまま表示されています)⁠

逆に関数の外で宣言している変数はグローバル変数であるため,関数の中でも外でも使う事ができます。

簡単なようで,色々な使い方のある変数。まだまだ紹介しきれませんが,基本だけでも抑えられればと思います。

今回,変数の定義について説明しましたが,いかがでしたでしょうか? なでしこについて基本文法は今回でいったん終わります。次回以降は,いよいよ実務に特化した実例(RDBのバックアップやスケジューリングによる各種バッチ)をご紹介して行きますので楽しみにしていてください。

著者プロフィール

choco

東京情報システム株式会社 システム営業部IxDグループに所属。社内ではプロジェクトマネージャーとして日々奔走中。

4年ほど前に「なでしこ」に出会い,その魅力に取り付かれて外販用資産管理ソフトを「なでしこ」で作成。現在は,なでしこ友の会でDB接続に関するプログラムをブログで紹介中。

URLhttp://www.choco.org.uk/chocodb/

コメント

コメントの記入