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)$>$ $>$ $>$