アットウィキロゴ

変数

変数

変数っていうのは中に何かを入れられる箱だと思うといいと思う

数字を入れたり文字を入れたり・・・
色んな情報を入れることが出来るし
その情報を計算に使ったりも出来る

この変数は何型として作られたか? によって
入れられるものには制限が出来るんだ

整数型だったら整数の数字しか入れられないし
文字列型だったら文字としての情報しか入れられない

変数を使うには使う前に変数を作らないといけないぞ

めんどいから例を見てくれ
integer oiu;
これでoiuって名前の整数が入れられる変数が出来たんだ

この変数を作る作業を変数宣言といって
この宣言が済まされて初めてその変数を使うことができる

変数宣言の書き方
宣言型 変数名;

次にこの変数に整数を入れてみよう
oiu = 500;
こんだけ

これで変数oiuに500って数が入った
integerが付いてないのは変数は作り終わったから
2度もoiuって変数を作る意味は無いってことだな

代入演算子

oiu = 500;
oiuと500の間にある=の記号は代入演算子って言うやつだな
左の変数に右の値を入れることが出来るぞ

500 = oiu;
こんな感じになった場合は順序が逆なのでエラー

oiu = 3.1415;
こんな感じに整数型として作られた変数なのに
整数しか入れられないはずのoiuに3.1415っていう実数を入れたら
「なに実数入れてるんだ(゚Д゚#)ゴルァ!!」って怒られます><;

integer oisu = 5;
こんなふうに書くと変数を作るのと同時に値を入れることもできるぞ

それと変数の中に別の変数の値を入れることだってできる
integer oisu = 5;
integer insitao = oisu;
insitaoの中には5が入るお


次に文字列を入れられる変数を作ってみよう
string yaranaika;
stringという宣言の型は文字列型なので
これで文字列が入れられるyaranaikaという変数ができたことになる

次にこの変数に文字を入れてみようと思う
yaranaika = "uholtuiiotoko...";
これで変数yaranaikaの中にuholtuiiotoko...という文字列が入った

ここで入れる文字列が""で囲われてるのを見てほしい
整数に数値を入れるのに使われなかったのが何で文字列だと使われるのか

実はこの""が無いと何処から何処までが入れる文字列かコンピュータが判断できないからなんだ

もしも文字列の挿入時に文字列を""で囲う必要が無かった時に
yaranaika = ;;;;;;
こんなふうに書かれたら
yaranaikaには;が入るの?;;が入るの?;;;が入るの?;;;;;が入るの?;;;;;が入るの?
ってわけわかんなくなるから

yaranaika = ";;;;;";
こう書くことでyaranaikaの中に;;;;;を入れるってのがわかる

「変数に " って文字を入れたい場合はどうすりゃいいんだよ!」

たしかにyaranaikaの中に"""と入れたいのに
yaranaika = """"";
なんて書いたらわけわからんけど
こういう状態になる文字にはそれを回避する決まりがあって

中に入れたい"の前に\を置くことで
「これはちゃんと入れる文字だ」ってのをコンピュータが判断してくれる
yaranaika = "\"\"\"";
こんなかんじ
これで変数の中に"""って文字としてちゃんと入れられる

\を入れたい時も同じ
yaranaika = "\\\\\\";
これでyaranaikaの中には\\\が入る


変数には次の種類がある
作るための文字 初期値 入る内容
整数 integer 0 整数
実数 float 0.000000 小数点以下を含む内容
ベクター vector <0.000000, 0.000000, 0.000000> 3つの実数が入る
ローテーション rotation <0.000000, 0.000000, 0.000000, 1.000000> 4つの実数が入る
キー key "000000-0000-0000-0000-000000000000" UUID
文字列 string "" 文字列
リスト list [] いろいろ

それぞれの変数の作り方、値の入れ方はこんなかんじ
integer a = 1;
整数型

float b = 3.14;
実数型

vector c = <1,2,3>;
ベクター
上みたいにcという変数に<1,2,3>という値を入れると
c.x c.y c.z と書くことで1 2 3 の値を参照できる
rotation d = <4,5,6,7>;
key e = "000000-0000-0000-0000-000000000000";
string f = "aiueo";
list = [1,2,3,"a","b","c"];

配列
そのうちこれの項目作る

知っておきたい知識

string a = "1";
integer b;
こんな感じで文字列が入る変数aに1を入れた

この後に
b = a;
って感じでbの中に1を入れようと思うとエラーが出る

なんでエラーが出るかというと
この1という数字は数字に見えて数字のフリした文字列なんだ

文字列用の変数(string)に 文字列として(""で囲んだ1を)入れてるわけだから
人には数字に見えてもコンピュータにとってはそれは文字列なんだ

これをちゃんとbに入れたいときは
b = (integer)a;
ってかんじで(integer)をつけることで
コンピュータに「これは整数で扱え」って命令しないといけない

string a = "1";
integer b;
b = (integer)a;
これで正常にbの中に1が入ってることになる
この(integer)のことをキャストって言うんだけど
それの説明はまた別の項目で

タグ:

+ タグ編集
  • タグ:
最終更新:2008年02月29日 01:08
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。