====== Null ======
ヌル値です。
オブジェクトの生成に失敗したときに返ってきたりします。また、C++でAnyPtrを引数なしで生成したときにはnullが入っています。
if文の条件式、三項演算子でfalse扱いになる値の一つです。
nullかどうかをチェックするときは、"=="や"!="ではなく、そのまま条件式にするか"==="や"!==="を使うことが推奨されています。
===== Example =====
==== C++ ====
xtal::NullPtr returnNull(){
return xtal::null;
}
void exec_xtal(){
if (returnNull()){
xtal::stdout_stream()->println("not null!");
}
else {
xtal::stdout_stream()->println("null!");
}
if (returnNull() == xtal::null){
xtal::stdout_stream()->println("null!");
}
else {
xtal::stdout_stream()->println("not null!");
}
}
==== Xtal ====
fun returnNull(){
return null;
}
if (returnNull()){
"not null!".p;
}
else {
"null!".p;
}
if (returnNull() === null){
"null!".p;
}
else {
"not null!".p;
}