<type>[] Array(...)
vector v[] = vector[](array( 1, {1,2,3}, 3, s, t, Cl, P, N));
float f[] = float[](array(1, 2, s, t, length(P-L), length(N)));
v[]@v_array=array(set(0,1,0)); //no problem
v[]@v_array2=array({0,1,0}); //no problem
v[]@v_array3={set(0,1,0)}; //bad code
vector a = {0,0,0};
vector b = {1,1,1};
vector c = {2,2,2};
v[]@vecs = array(a,b,c);
v[]@v=array(@N,@N,@N);
// この書式は通過しない ※{}は変数を受け付けないから・・・
//v[]@v={v@N,v@N,v@N};
//変数を使う場合はSet()を利用しそうでない場合は{}を許容する
vector e = set(a[0],b[1],c[2]);
float f = 2.5;
v[]@vec3Array3 = array({0,1,2},e,set(f,1.2,2.2));
vector4 v = set(1.0, 2.0, 3.0, 4.0);
matrix3 m = set(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
float[] nums = {1.0, 2.0, 3.0, 4.0};
vector4 v = set(nums);
//おそらくこの二つに違いはないが、ベクターやマトリクスの場合はSetを使う方がメリットがある
matrix3 m = set(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
matrix3 m = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0};
//これは通らないので () {} は使い分ける必要がある。
//matrix3 m = (1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
float x=0.5
matrix3 m = set(x, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);//通る
matrix3 m = {x, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0};//通らない
//おそらくこの二つに違いはない
vector4 v = set(1.0, 2.0, 3.0, 4.0);
vector4 v = {1.0, 2.0, 3.0, 4.0};
float x=0.5
vector4 v = set(x, 2.0, 3.0, 4.0);//通る
vector4 v = {x, 2.0, 3.0, 4.0};//通らない