記録:Kたくさん
- 定数、引数
- グローバル
定数は中身を変更できない。 いつ、どういった場面でつかうのよくかわからない。 枠がきまっているような場面(サイズとか)、定数になるんじゃないかな。 型のサイズとか、決まっているよね。
// こんなイメージじゃないかな?: C っぽく
String a[128]; // 数字が直書きされていると
String b[128]; // 書かれている場所を、全部おきかえる
String c[128]; // のが面倒
const int BUFFER_SIZE = 128;
String a[BUFFER_SIZE]; // 定数をつかうと
String b[BUFFER_SIZE]; // 他の場所にある数字を
String c[BUFFER_SIZE]; // おきかえなくてもよくて、楽
' こんなイメージじゃないかな? VB っぽく
Dim YEAR_STRING_SIZE as Integer
YEAR_STRING_SIZE = 4
Private const YEAR_STRING_SIZE as Integer = 4
year_s AS String * YEAR_STRING_SIZE
他の人が修正するときに、その定数を使うかわからないじゃ ないですか。なら、変数でいいじゃないですか。
定数は、ほかの場所でかってに宣言することは少ない。 (使われてない可能性が高い)
使いたい値が変数に入れちゃってると、後で変わってしまう。 値を使うときに変わってないことを調べてあげないといけない。
変数がどれだけ変化するのかってのを出してみる。
みんなコーディング規約をちゃんと守りましょう。
変数名をみた瞬間に定数か変数かわかるようにしよう。
一人でプログラムを書くときは、定数とかあんまり意識しない。 多人数でプログラムするときに、 はじめて意味がでるものじゃないかなと。
- 僕にだっていみがあるんですという主張
- 絶対に書き換わらない、プログラム側での保障
- 変数はどっかで書き換わる可能性がある
- 多人数で書くときへの気使い
引数は、ちょっと飛ばして。次はグローバル変数。
Global Var as integer
Global はつけないことが多い。 惑星では、変数は上にまとめることが多い。 Global ってつけて書いても、上に書いてもあんまかわりはない。
共通バス? hoge.bas <= こういうファイルによくつかうものをまとめる
上で宣言するとのと、バスで宣言するのはどう違う?
;; 会長は hoge 好き。
バスファイルは、あんま編集しちゃだめ。 触るんなら、声かけてね!って言われる。 <= 社内のルール!
バスの中でしか Global できない? Global って使ったことないから、よくわからない。 フォームファイルの中で、 Global は使ったことがない。
配列のイメージ
Dim a(5) as Int
Redim a(5) ' <= 配列サイズを再指定
変数を宣言して、その変数
Dim v as Int
v = 4
Dim a(v) as Int ' <= こうするとエラー <= 定数だとどうなる
Dim a() as Int
Dim v as Int
v = 4
Redim a(v) as Int ' <= こうするとできる
Private const c as Int = 4
Dim a(c) as Int ' <= これは、なんだかできそう?
- Redim は、配列初期化に使うことが多い。
- ループでまわるときの前に使っていることが多い。
- 業務によってかわるみたいw
配列は好きです!
他に配列で注意すること。インデックスが 0 始まりか 1 始まりかなど。
定数の配列ってあるの? python にはある!
>>> a = (1, 2, 3) <= python にはタプルがある
>>> a[0]
1
>>> a[0]=2
Traceback (most recent call last): <= タプルは読み込み専用なので、エラーになる!
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> a = [1, 2, 3]
>>> a[0]
1
>>> a[0] = 2
>>> a
[2, 2, 3]
- 配列の続き
- 二次元、三次元
- 関数
- 引数
- 戻り値
- 戻り値の型
- 階乗を計算するプログラムを作成
- フィナボッチ数列を計算するプログラムを作成
- ハノイの塔を計算するプログラムを作成