Loading [MathJax]/jax/output/HTML-CSS/jax.js

4.3.3 Object

主にノードのプロパティで用いられるデータ型である. HARK  では,ChannelSelector などで用いられている. 基本的には,事前に用意されている int , float , string , bool , subnet_param 以外のデータ型をプロパティとして設定する際に用いるデータ型である. 4.3.2 節で述べたように,基本データ型を含めて Object 型として利用可能なため, 原理的には,すべてのデータ型を Object として指定できることになるが, 実際に入力できるのはテキストでの入出力が実装されているデータ型に限られる. Vector や, Matrix も指定できるように実装されているが,Map はテキスト入出力を 実装していないため,Object として入力することは現時点ではできない.

入力のフォーマットについては以下の表4.1, 4.2, 4.3を参照してください.


Table 4.1: Primitive Object Sample

入力

備考

Char

a

<Char a>

通常Char型は使用しない

   

<Char a >

 

Int 

1

<Int 1>

int 型入力 = 1

   

<Int 1 >

 

Float 

1.0

<Float 1.0>

float 型入力 = 1.0

   

<Float 1.0 >

 

Double

1.0

<Double 1.0>

通常Double型は使用しない

   

<Double 1.0 >

 

Complex <float >

1.0 + 2.0i

<Complex<float> (1.0, 2.0)>

 
   

<Complex<float> (1.0, 2.0) >

 

Complex<double>

1.0 + 2.0i

<Complex<double> (1.0, 2.0)>

通常 Complex<double> 型は

   

<Complex<double> (1.0, 2.0) >

使用しない

Bool 

false

<Bool 0>

bool 型入力 = false

   

<Bool 0 >

 
 

true

<Bool 1>

bool 型入力 = true

   

<Bool 1 >

 

String 

"Hello World!"

<String Hello World!>

string 型入力 = "Hello World!"

 

"Hello World! "

<String Hello World! >

スペースは無視しない

nilObject 

 

<NilObject >

 


Table 4.2: Vector Object Sample

入力

備考

Vector<int> 

[1,2,3,4,5,6]

<Vector<int> 1 2 3 4 5 6>

 
   

<Vector<int> 1 2 3 4 5 6 >

 

Vector<float> 

[1.1,2.2,3.3

<Vector<float> 1.1 2.2 3.3 4.4 5.5 6.6>

<float>入力不要

 

4.4,5.5,6.6]

<Vector<float> 1.1 2.2 3.3 4.4 5.5 6.6 >

 
   

<Vector 1.1 2.2 3.3 4.4 5.5 6.6>

 
   

<Vector 1.1 2.2 3.3 4.4 5.5 6.6 >

 

Vector<Char>

[’a’, ’b’]

<Vector<ObjectRef> <Char a >

 
   

<Char b > >

 

Vector<Int>

[1, 2, 3]

<Vector<ObjectRef> <Int 1> <Int 2>

 
   

<Int 3> >

 

Vector<Float>

[1.1,2.2,3.3]

<Vector<ObjectRef> <Float 1.1>

 
   

<Float 2.2> <Float 3.3> >

 

Vector<Double>

[1.1,2.2,3.3]

<Vector<ObjectRef> <Double 1.1>

 
   

<Double 2.2> <Double 3.3> >

 

Vector<Complex<float> >

[1.0 + 2.0i + 3.0

<Vector<ObjectRef>

 
 

+ 4.0i + 5.0 + 6.0i]

<Complex<float> (1.0,2.0)>

 
   

<Complex<float> (3.0,4.0)>

 
   

<Complex<float> (5.0,6.0)> >

 

Vector<Bool>

[false, true

<Vector<ObjectRef> <Bool 0>

 
 

false, true]

<Bool 1> <Bool 0> <Bool 1> >

 



Table 4.3: Matrix Object Sample

Class

Value

Input

Remarks

Matrix<int> 

[[1, 2, 3], [4, 5, 6]]

<Matrix<int> <rows 2> <col 3>

 
   

<data 1 2 3 4 5 6 > >

 

Matrix<float> 

[[1.1, 2.2, 3.3],

<Matrix<float> <rows 2> <col 3>

<float>入力不要

 

[4.4, 5.5, 6.6]]

<data 1.1 2.2 3.3 4.4 5.5 6.6 > >

 
   

<Matrix <rows 2> <col 3>

 
   

<data 1.1 2.2 3.3 4.4 5.5 6.6 > >

 

Matrix<Char>

[[’a’,’b’], [’c’,’d’]]

<Matrix<ObjectRef> <rows 2> <col 2>

 
   

<data <Char a> <Char b> <Char c> <Char d> > >

 

Matrix<Int>

[[1, 2, 3], [4, 5, 6]]

<Matrix<ObjectRef> <rows 2> <col 3>

 
   

<data <Int 1> <Int 2> <Int 3> <Int 4> <Int 5>

 
   

<Int 6> > >

 

Matrix<Float>

[[1.1, 2.2, 3.3],

<Matrix<ObjectRef> <rows 2> <col 3>

 
 

[4.4, 5.5, 6.6]]

<data <Float 1.1> <Float 2.2> <Float 3.3>

 
   

<Float 4.4> <Float 5.5> <Float 6.6> > >

 

Matrix<Double>

[[1.1, 2.2, 3.3],

<Matrix<ObjectRef> <rows 2> <col 3>

 
 

[4.4, 5.5, 6.6]]

<data <Double 1.1> <Double 2.2> <Double 3.3>

 
   

<Double 4.4> <Double 5.5> <Double 6.6> > >

 

Matrix<Complex<float> >

[[1.1, 2.2i, 3.3, 4.4i],

<Matrix<ObjectRef> <rows 2> <col 3>

 
 

[5.5, 6.6i, 7.7, 8.8i]]

<data <Complex<Float> (1.1, 2.2)>

 
   

<Complex<Float> (3.3, 4.4)>

 
   

<Complex<Float> (5.5, 6.6)>

 
   

<Complex<Float> (7.7, 8.8)> > >