Skip to content

Instantly share code, notes, and snippets.

@IrhAyaka
Created March 25, 2011 12:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save IrhAyaka/886778 to your computer and use it in GitHub Desktop.
Save IrhAyaka/886778 to your computer and use it in GitHub Desktop.
記録:Kたくさん
* 変数とは
- 定数、引数
- グローバル
* 変数と定数の違いはなんですか?
** まずは定数
定数は中身を変更できない。
いつ、どういった場面でつかうのよくかわからない。
枠がきまっているような場面(サイズとか)、定数になるんじゃないかな。
型のサイズとか、決まっているよね。
#+beign_src text
// こんなイメージじゃないかな?: 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]; // おきかえなくてもよくて、楽
#+end_src
#+begin_src text
' こんなイメージじゃないかな? 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
#+end_src
他の人が修正するときに、その定数を使うかわからないじゃ
ないですか。なら、変数でいいじゃないですか。
定数は、ほかの場所でかってに宣言することは少ない。
(使われてない可能性が高い)
使いたい値が変数に入れちゃってると、後で変わってしまう。
値を使うときに変わってないことを調べてあげないといけない。
変数がどれだけ変化するのかってのを出してみる。
みんなコーディング規約をちゃんと守りましょう。
変数名をみた瞬間に定数か変数かわかるようにしよう。
一人でプログラムを書くときは、定数とかあんまり意識しない。
多人数でプログラムするときに、
はじめて意味がでるものじゃないかなと。
** 定数のまとめ
- 僕にだっていみがあるんですという主張
- 絶対に書き換わらない、プログラム側での保障
- 変数はどっかで書き換わる可能性がある
- 多人数で書くときへの気使い
** 次は?
引数は、ちょっと飛ばして。次はグローバル変数。
* VBでのグローバル変数の宣言いろいろ
#+begin_src text
Global Var as integer
#+end_SRC
Global はつけないことが多い。
惑星では、変数は上にまとめることが多い。
Global ってつけて書いても、上に書いてもあんまかわりはない。
共通バス? hoge.bas <= こういうファイルによくつかうものをまとめる
上で宣言するとのと、バスで宣言するのはどう違う?
;; 会長は hoge 好き。
バスファイルは、あんま編集しちゃだめ。
触るんなら、声かけてね!って言われる。 <= 社内のルール!
バスの中でしか Global できない?
Global って使ったことないから、よくわからない。
フォームファイルの中で、 Global は使ったことがない。
* 配列
配列のイメージ
#+begin_src text
Dim a(5) as Int
Redim a(5) <= 配列サイズを再指定
#+end_src
変数を宣言して、その変数
#+begin_src text
Dim v as Int
v = 4
Dim a(v) as Int <= こうするとエラー <= 定数だとどうなる
#+end_src
#+begin_src text
Dim a() as Int
Dim v as Int
v = 4
Redim a(v) as Int <= こうするとできる
#+end_src
#+begin_src text
Private const c as Int = 4
Dim a(c) as Int <= これは、なんだかできそう?
#+end_src
- Redim は、配列初期化に使うことが多い。
- ループでまわるときの前に使っていることが多い。
- 業務によってかわるみたいw
配列は好きです!
他に配列で注意すること。インデックスが 0 始まりか 1 始まりかなど。
定数の配列ってあるの? python にはある!
#+begin_src text
>>> 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]
#+end_src
* 次回はこんな感じ
- 配列の続き
- 二次元、三次元
- 関数
- 引数
- 戻り値
- 戻り値の型
* R行さんの発表
** 地球最後の日 ~ 地球が破滅する日を算出してみよう~
- 階乗を計算するプログラムを作成
- フィナボッチ数列を計算するプログラムを作成
- ハノイの塔を計算するプログラムを作成
* 今日は、ここまで!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment