変数
変数とは、数値や文字を入れるための箱で、型により箱に入れられるデータの種類が決まります。
そしてその箱の意味が分かるように名前を付けます。
変数を作ってその変数に名前を付けることを変数宣言と言います。
名前はアルファベットまたは「_」で始まるように名付け、すべて大文字である必要はありません。
HSPでは変数宣言をしなくても自動的に代入されたデータを元に型を自動判断して宣言する仕組みがあります。
以下の説明は、HSP言語の公式においては配列変数を作成と書かれていますが、CAOSでは他の言語の風習に沿って変数宣言として入れております。
整数型変数
整数型変数とは、整数値を入れるための箱です。
整数型変数を作ったとき、最初の整数型変数の中身は0です。
dim(space)新しい変数名
dim atai //整数を入れる変数
命令名:dim「整数が入る変数作る」
新しい変数名:atai「ataiという名前で」
整数値の代入
代入とは変数に値や文字列を入れることです。
代入は、代入演算子「=」を使い、"="の右側に書いた値が"="の左側に書いた変数に入ります。
変数名(space)=(space)値
atai = 5 //5をataiに代入する
変数名:atai=ataiという名前の変数
=:は(代入)
値:5「5です」
実数型変数
実数型変数とは、実数値を入れるための箱です。
実数型変数を作ったとき、最初の実数型変数の中身は0.000000です。
ddim(space)新しい変数名
ddim pi //実数を入れる変数
命令名:ddim「実数が入る変数を作る」
新しい変数名:pi「piという名前で」
実数値の代入
実数値の代入は、代入演算子「=」を使い、"="の右側の値を"="の左側に書いた変数に入れます。
実数型は値に必ず小数点と小数点以下の数値を入れておく必要があります。
変数名(space)=(space)値※小数点以下を忘れずに
pi = 3.14 //3.14をpiに代入する
pi = 3.0 //3をpiに代入する(小数点以下が0のとき)
変数名:pi=piという名前の変数
=:は(代入)
値:3.14「3.14です」
文字列型変数
文字列型変数とは、文字列を入れるための箱です。
文字列型変数を作ったとき、最初の文字列型変数の中身は””(文字が入っていない状態、すなわち0文字)です。
sdim(space)新しい変数名
sdim name //文字列を入れる変数
命令名:sdim「文字列が入る変数を作る」
新しい変数名:name「nameという名前で」
文字列の代入
文字列の代入も代入演算子「=」を使い、"="の右側の文字列を"="の左側に書いた変数に入れます。
文字列は文字列であることを区別するために、「"」を文字列の両端に付けます。
変数名(space)=(space)"文字列"
name = "Drakuji" //「Drakuji」をnameに代入する
変数名:name=nameという名前の変数
=:は(代入)
文字列:"Drakuji"「Drakujiです」
変数を作った後に同じ変数名の変数を作ったらどうなるの?
nameという文字列型変数を作った後に、nameに文字列を代入します。
その後、nameという同じ変数名の文字列型変数を作ったとき、nameという文字列型変数の中身は
最初の状態「""(文字が入っていない状態、すなわち0文字)」に初期化されてしまいます。
同じく整数型変数も、ataiという整数型変数を作った後にataiに5を代入し、
その後ataiという同じ変数名の整数型変数を作ったとき、ataiという整数型変数の中身は0になります。
実数型変数も同様です。
【注意】型に当てはまらない異なるデータを代入するとどうなるの?
一般的なプログラム言語では、型と異なるデータを代入しようとするとエラーになります。
しかし、HSPでは一見どの型にどんなデータを入れても代入できてしまいます。
これは、代入時に代入されるデータがどの型なのかを自動で判断して気を利かしてに変数の型を変えています(暗黙的な型変換)。型の意味や概念を考えることなく直感的に容易に扱えるようにしている反面、型についてのエラーが出たときは困ってしまいます。
最初のうち、または小規模なプログラムでは、変数の数も少なくある程度どういった値を入れる変数なのかは頭の中で整理して覚えているかもしれませんが、間違ったデータを代入したり、代入するデータの書き方を誤っていたりするとエラーや思うように動かないことがあるので注意しましょう。
Copyright © 2002-2025 team.Dakuji All Rights Reserved.