改めて前回の内容をおさらいをしておくと、
ということをお伝えしました。
今回は前回の記事で解説した、ブール型のちょっとした補足です。
ブール型についての補足
↓前回の記事の中で、使ったサンプルコードです。
//varBoolという名前のブール型変数を用意する
bool varBool;
//varBoolに「true(=正しい)」という結果を代入する
varBool=true;
//もしvarBoolにtrueが入っていたら、チャートにコメント表示する
if(varBool==true)Comment("varBoolにはtrueが格納されています");
この中の、
varBool=true;
という記述を見たとき、こう思った人はいたでしょうか?
「trueって、数字なの?文字なの?」
・・・確かに「true」ってアルファベットだし、でも文字だとしたらダブルクォーテーションで挟まなきゃいけないし、データ型だってstringのはずだし・・・。
と、モヤモヤしますよね。
実は、bool型というのはプログラム内部的には整数型の1種なんです。
どういうことか、ピンとこないと思います。
↓のコードを見てください。
最初に載せたサンプルコードから変更したのはif文を削除したのと、コメント関数の()の中身だけです。
void OnStart()
{
//varBoolという名前のブール型変数を用意する
bool varBool;
//varBoolに「true(=正しい)」という結果を代入する
varBool=true;
//チャートにコメント表示する
Comment(varBool);
}
(“varBoolにはtrueが格納されています”)
↓
(varBool)
に変えた形ですね。シンプルに格納した変数をチャートに表示する、というだけの記述です
このプログラムを実行すると

trueとでました。
varBool=false;に変えると・・・

falseと表示されました。予想通りですね。
では、Comment関数の記述を以下のように変更するとどうでしょう?
Comment((int)varBool);
という処理になります。今後の講座記事で別途取り上げますが、
今はbool型変数の値がプログラム内部的にはどうなっているかを確認するための記述だと思ってください。
※型変換(=キャスト)についてもし先に、「詳しく知りたい!」という方がいらっしゃいましたら↓の記事をご覧ください。
改めてプログラムファイルをチャートに挿入してみましょう。
varBool=true;の場合↓

varBool=false;の場合↓

trueの時は、1
falseの時は、0
と表示されていますね!
冒頭に、
といったことが少しはおわかりいただけたのではないでしょうか?
つまり我々人間には「正しい」、「正しくない」という情報を視覚的に伝わりやすくするために、Comment関数やPrint関数で出力する際は「true」「false」という文字情報になっていますが、実際は
true=1(厳密には1以上)
false=0
という切り分けを行っている、ということです。
※(厳密には1以上)→例えば
varBool=5;
という記述をしたとします。これをComment関数で表示すると

trueになっていますね。
まとめ
今回は、前回に引き続きブール型について解説しました。
今回の記事では以下のことを学びました↓
- プログラム内部では、true=1(厳密には1以上)、false=0 というデータの切り分けを行っている
最後までお読みいただきありがとうございました。<m(__)m>
コメント