獲取 類型
typeof( c#里的東西 ) 只能獲取 c#的東西,對于 腳本里的 表/數(shù)組/變量等使用它是會出錯誤的
例如腳本里寫
var t = GameObject( "測試" );
typeof( t );//是 GameObject 類型
var e = 65;
typeof( e );//錯誤
type( 目標(biāo) ) 可以獲取 腳本里的 表 數(shù)組 變量 方法 等的東西的類型,對于 c# 的東西也能獲取,但只能知道c#的東西是 c#類的
例如腳本里寫
//獲取腳本的
var t1 = [];
var t2 = {};
var t3 = function(){};
type( t1 );//是5
type( t2 );//是6
type( t3 );//是4
//可以獲取c#的
type( new GameObject() );//是8
這是返回的數(shù)字 代表的意思
0 意思是 Null, //Null
1 意思是 Boolean, //布爾
2 意思是 Number, //數(shù)字
3 意思是 String, //字符串,函數(shù)
4 意思是 Function, //函數(shù)
5 意思是 Array, //數(shù)組
6 意思是 Table, //MAP
7 意思是 Enum, //枚舉
8 意思是 UserData, //c#的普通類
typeof 和 type 不同的是,typeof 能夠獲取 c#的詳細(xì),而type只能給出它是普通類
如果不知道一個變量是什么來的,可以先type獲取,如果是c#類,那就再typeof 獲取詳細(xì)
//腳本里:
var 未知 = GameObject();
//現(xiàn)假設(shè)不知道 未知 變量 里是什么來的
//如果是c#的普通類
if( type( 未知 ) == 8 ){
//這會獲取到想詳細(xì),例如這例子是 GameObject類型
if( typeof( 未知 ) == GameObject ){
//...
}
}
轉(zhuǎn)換 變量 的 值類型
//腳本里使用:
//將變量轉(zhuǎn)為 特定類型值,
var ct;
//可以從數(shù)字格式的字符串獲得數(shù)字,非數(shù)字內(nèi)容雜在里面是會執(zhí)行失敗的
ct = toint( "15" );
ct = tosbyte( t )
ct = tobyte( t )
ct = toshort( t );
ct = toushort( t );
ct = touint( t );
ct = tolong( t );
ct = toulong( t );
ct = tofloat( t );
ct = tonumber( t );
//ct = toenum( t );
ct = tostring( t );
獲取 變量 的 值類型
//腳本里使用:
//注意的問題,腳本里的默認(rèn)值不是Int32是double,所以必須轉(zhuǎn)成對應(yīng)類型才能判斷對的,否則就會得到false
is_int( toint( 65 ) );//返回true
is_int( 65 );//返回false
//下面也都是一樣的使用方式
is_null( ? )
is_bool( ? )
is_number( 任何的數(shù)值類型,例如65.3 )
is_double( ? )
is_long( ? )
is_string( ? )
is_function( ? )
is_array( ? )
is_table( ? )
is_enum( ? )
is_userdata( ? )
更多建議: