-
Notifications
You must be signed in to change notification settings - Fork 0
API Host ScriptDatum
宿主可见的脚本值
Host-visible script value
Overview
ScriptDatum 是宿主与脚本边界上的轻量值类型。优先使用 From... 工厂创建它,使用 Kind 和 TryGet... 检查它;不要假定任意脚本结果都是 CLR 原生类型。
ScriptDatumis the lightweight value type at the host/script boundary. PreferFrom...factories to create it, and useKindandTryGet...to inspect it; do not assume arbitrary script results are native CLR values.
Constants
-
Null
脚本null。Script
null.
var value = ScriptDatum.Null; -
NaN
脚本非数字。Script NaN.
var value = ScriptDatum.NaN; -
True/False
布尔常量。Boolean constants.
var value = ScriptDatum.True;
用途
检查当前有效负载;只有与 Kind 相符时才读取对应字段。
Inspect the current payload; read a corresponding field only when
Kindmatches.
var value = ScriptDatum.FromNumber(42);
if (value.Kind == ValueKind.Number)
{
Console.WriteLine(value.Number);
}
FromBoolean / FromNumber / FromString / FromArray / FromDate / FromRegex / FromObject / FromError / FromBonding
Parameters:
- 各工厂接收对应 CLR 或 AuroraScript 值。
Each factory takes its matching CLR or AuroraScript value.
Returns
对应种类的 ScriptDatum。
ScriptDatumof the corresponding kind.
var number = ScriptDatum.FromNumber(42);
var text = ScriptDatum.FromString("Aurora");
var enabled = ScriptDatum.FromBoolean(true);Parameters:
-
d
要转换或检查的 Datum。Datum to convert or inspect.
Returns
分别为对象包装、文本、类型名和脚本 typeof 值。
Object wrapper, text, type name, and script
typeofvalue.
var value = ScriptDatum.FromString("Aurora");
Console.WriteLine(ScriptDatum.ToString(value));
Console.WriteLine(ScriptDatum.GetTypeName(value));Parameters:
-
d
要检查或转换的 Datum。Datum to inspect or convert.
-
out value
接收转换结果。Receives converted result.
Returns
布尔检查结果或转换是否成功。
Boolean check result or conversion success.
var value = ScriptDatum.FromString("42");
if (ScriptDatum.TryToNumber(value, out var number))
{
Console.WriteLine(number);
}
TryGetAnyObject / TryGetObject / TryGetArray / TryGetString / TryGetDate / TryGetRegex / TryGetFunction / TryGetError
Parameters:
-
d
要匹配的 Datum。Datum to match.
-
out value
接收强类型值。Receives typed value.
Returns
Datum 是否具有请求类型。
Whether the datum has the requested type.
var value = ScriptDatum.FromString("Aurora");
if (ScriptDatum.TryGetString(value, out var text))
{
Console.WriteLine(text.Value);
}Parameters:
-
d
待克隆值。Datum to clone.
-
deepth
是否深度克隆。Whether to clone deeply.
Returns
克隆后的 Datum。
Cloned datum.
var copy = ScriptDatum.Clone(ScriptDatum.FromString("Aurora"));Implicit conversions
用途
bool、string 和常见数值可直接赋给 ScriptDatum。
bool,string, and common numbers can be assigned directly toScriptDatum.
ScriptDatum count = 42;
ScriptDatum title = "Aurora";
ScriptDatum enabled = true;AuroraScript.JIT 4.0.0 · 仓库 · MIT 许可
AuroraScript.JIT 4.0.0 · Repository · MIT License