« C4D C.O.F.F.E.E. 列挙? enum | トップページ | C4D C.O.F.F.E.E. 変数の寿命 »

C4D C.O.F.F.E.E. 定数 const

定数ね。
enumは自動でグローバルな整数の連番を割り振りしてくれる機能でした。

constもグローバルですね。実数も文字列も整数も扱えます。

では、いきなりテストです。

/*
グローバル定数constテスト
2009.7.3
*/


const var LONGS = 103;
const var FLOATS = 3025.56;
const var STRINGS = "ABCD";


functionA()
{
  println("--funA--");
  println(LONGS);
  println(FLOATS);
  println(STRINGS);
}


main(doc , op)
{
  println("--main--");
  println(LONGS);
  println(FLOATS);
  println(STRINGS);

  functionA();
}

実行すると、

--main--
103
3025.560059
ABCD
--funcA--
103
3025.560059
ABCD

グローバルな定数なので、どの関数でも使用できますね。

使えるのは、整数、浮動小数点、文字列のみで、ベクトルやクラス等は使えません。

/*
グローバル定数constテスト
2009.7.3
*/


const var LONGS = 103;
const var FLOATS = 3025.56;
const var STRINGS = "ABCD";

const var VECTORS = vector(100.0 , 100.0 , 100.0);


functionA()
{
  println("--funA--");
  println(LONGS);
  println(FLOATS);
  println(STRINGS);
}


main(doc , op)
{
  println("--main--");
  println(LONGS);
  println(FLOATS);
  println(STRINGS);

  functionA();
}

実行すると、もちろんエラーが出ます。

[FAIL] Script 'xxxx' Line 10 Pos 28 : Syntax error

定数にオブジェクトを指定してみます。

const var SP_OBJ = new(SplineObject);

main(doc , op)
{

}

これもエラーです。

[FAIL] Script 'xxxx' Line 1 Pos 24 : Syntax error

では、計算式はどうだろう?

const var VALUE = 300.0 + 200.0 / 5;

main(doc , op)
{

}

計算式の結果は浮動小数点ですが、これもエラーです。

[FAIL] Script 'xxxx' Line 1 Pos 27 : Syntax error [Expected: ';',found: '+' ]

では、関数を試してみます。

const var VALUE = sin(Radians(45.0));

main(doc , op)
{

}

関数の結果は浮動小数点ですが、これもエラーです。

[FAIL] Script 'xxxx' Line 1 Pos 23 : Syntax error

計算式や関数からの数値が必要ならば、先に計算してから結果の数値を記述することですね。

では、最後に定数に代入。

const var VALUE = 100.0;

main(doc , op)
{
  VALUE = 300;
}

定数に代入すると、結果はエラーが出ます。

[FAIL] Script 'test' Line 5 Pos 15 : Object is protectid

名前の通り、「定数」は「変数」ではないからですね。

今回も、間抜けなテストでした。

|

« C4D C.O.F.F.E.E. 列挙? enum | トップページ | C4D C.O.F.F.E.E. 変数の寿命 »