跳转至

Appendix - Primitive, Operator, and Unit References(中文)

按字母顺序排列的所有原语、运算符和单位

abs

绝对值(复数的模)

类别 说明
格式 abs(z)
参数 {num} z 任意实数或复数
返回 {unit} z 的绝对值或正值
备注 如果 z 是复数,其实部为 zx,虚部为 zy,则 abs 返回使用以下公式计算得到的 z 的模
示例
另请参阅 argrealimagI

Accumulate

运算符 x->y,将某个值加到全局累加器

类别 说明
格式 x -> y
参数 (real) x 要加到全局累加器的任意实数值 [any] y 任意有效表达式
返回 [any] y 或全局累加器的值
说明 此运算符专门用于构建期望值决策树。它允许在树节点中输入增量值或成本数字,然后在末端节点中计算累计的总成本。该运算符的工作方式是:首先对 x 求值并将其值加到全局累加器变量上。然后对 y 求值,将累加器重置为其原始值,并返回 y 的值。y 中引用的其他节点很可能使用 Accumulate 运算符并向累加器变量添加更多值。在末端节点中,省略 y 的表达式,以使 Accumulate 运算符返回累加器变量中的值。
示例
另请参阅 emvmax

acos

反余弦

类别 说明
格式 acos(x)
参数 {comp} x 任意实数或复数
返回 {comp} x 的反余弦,以弧度表示
说明 x 的反余弦定义为余弦为 x 的角度(以弧度表示)。
示例
另请参阅 asinatanatan2sincostanPI

acre

英亩,面积计量单位

类别 说明
格式 acre
定义 acre=43560*ft^2
另请参阅 ft预定义单位基本单位

activenode

当前正在执行的节点的名称

类别 说明
格式 activenode
参数
返回 (text) 当前正在执行的节点的名称
另请参阅 this

Add

运算符 x+y,数值或矩阵加法

类别 说明
格式 A + B
参数 [any] AB 要相加的任意实数、复数、向量或矩阵,或要拼接的文本字符串
返回 [num] 如果 AB 均为数字、向量或矩阵,则返回 AB 之和 (text) 如果其中任一为文本字符串,则返回将 AB 拼接在一起的字符串
说明 此运算符有两种用途:如果两个参数均为数字、向量或矩阵,则进行数值加法;如果其中任一参数为字符串,则进行文本拼接。当字符串与数字拼接时,数字会先使用默认数字格式转换为字符串。加法根据输入数据的适用情况,采用以下方法之一执行:如果 A 是数组而 B 是数字,则将 B 加到 A 中的每个元素上:如果 A 是数字而 B 是数组,则将 A 加到 B 中的每个元素上:如果 AB 都是具有相同维度的数组,则将 AB 中对应的元素相加:在所有情况下,元素在适用时均使用复数加法进行相加:
示例
另请参阅 PlusSubtract

alert

显示一条消息

类别 说明
格式 alert(query)
参数 [any] query
说明 显示一条消息

all

所有节点名称的列表

类别 说明
格式 all(namespec)
参数 {node} namespec 可选节点规范;默认 ="*"
返回 [text] 名称与 namespec 规范匹配的所有节点的列表
说明 All 返回一个文本字符串列表,其中包含系统中名称与 namespec 规范匹配的所有节点的名称。namespec 中可以使用通配符 *(任意一组字符)和 ?(任意单个字符)。
另请参阅 treelistrootnodeselectednodeendnodesinputsoutputschildren

amp

安培,电流计量单位

类别 说明
格式 amp
定义 基本单位
另请参阅 预定义单位基本单位

angstrom

埃,长度计量单位

类别 说明
格式 angstrom
定义 angstrom=1e-10*m
另请参阅 m预定义单位基本单位

append

追加到文本文件

类别 说明
格式 append(data, file)
参数 [any] data 任意数值或文本值,包括列表 (text) file 要写入的文件名
返回 [any] data 的值
说明 data 的值被写入 file。如果 file 已存在,则将 data 追加到 file 的末尾。否则,创建 file。如果 data 是数值,则按其显示方式转换为文本字符串。如果 data 是列表,则写入列表中的所有元素,并以逗号分隔每个元素。追加操作之间不会自动插入换行符 (\n)。如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须键入两次(例如 "c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 appendcsvappendtxtwriteread

appendcsv

追加到逗号分隔的数据文件

类别 说明
格式 appendcsv(data, file)
参数 [any] data 数值或文本值的矩阵 (text) file 要写入的文件名
返回 [any] data 的值
说明 以逗号分隔值(CSV)格式将矩阵 data 的值追加到 file。CSV 格式文件是包含由逗号分隔的一维或二维值数组的文本文件。文件中的每条记录都是一个列向量。所有文本字符串在输出文件中都用引号括起来。如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须键入两次(例如 "c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 appendappendtxtwritecsvreadcsv

appendtxt

追加到制表符分隔的数据文件

类别 说明
格式 appendtxt(data, file)
参数 [any] data 数值或文本值的矩阵 (text) file 要写入的文件名
返回 [any] data 的值
说明 以制表符分隔格式将矩阵 data 的值追加到 file。制表符分隔文件是包含由制表符分隔的一维或二维值数组的文本文件。文件中的每条记录都是一个列向量。如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须键入两次(例如 "c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 appendappendcsvwritetxtreadtxt

appname

在对话框或屏幕中显示程序名称

类别 说明
格式 appname
返回 [text] 正在运行脚本的程序名称:"Studio" 或 "DsRun"
说明 如果脚本在 CCH Tagetik Supply Chain Planning Studio 中运行,则 appname 返回 "Studio";如果脚本作为托管应用程序在 Vanguard 服务器上运行,则 appname 返回 "DsRun"。如果要在对话框或屏幕中显示程序名称,此原语很有用。要在应用程序同时以本地和 Web 模式运行时以不同方式显示表单,请使用 isweb。
示例
另请参阅 isweb

arg

复数的辐角或角度

类别 说明
格式 arg(z)
参数 {num} z 复数
返回 {real} 以极坐标表示时复数 z 的辐角或角度
说明 复数 x+yi 的辐角是笛卡尔坐标平面中正 x 轴与从原点 (0,0) 到点 (x,y) 的连线之间的角度(以弧度表示)。
示例
另请参阅 absrealimagIatan2

argdef

检索函数参数的定义

类别 说明
格式 argdef(arg)
参数 (text) arg 要保留的参数名称
返回 Null
说明 argdef 允许检索函数参数(而非局部变量)的定义
示例
另请参阅 argarguments

arguments

活动函数中所有参数值的列表

类别 说明
格式 arguments
参数
返回 [any] 活动函数中所有参数值的列表
说明 此原语通常用于接受未定义数量输入参数的函数。arguments 和 argval 类似,区别在于 arguments 返回所有参数值的列表,而 argval 返回单个参数值。
示例
另请参阅 argval

argval

活动函数中特定参数的值

类别 说明
格式 argval(n)
参数 (int) n 所需参数的编号(第一个参数为 1,而非 0)
返回 [any] 活动函数中第 n 个参数的值
说明 此原语通常用于在 <%%> 字段中引用参数值。arguments 和 argval 类似,区别在于 arguments 返回所有参数值的列表,而 argval 返回单个参数值。表单字段 <%argval(n)%> 的执行效率高于 <%arguments[n]%>。
示例
另请参阅 arguments

Array

Array 对象构造函数

类别 说明
格式 Array(…)
参数 [any] ...
说明 Array 对象构造函数

asc

字符的 ASCII 码

类别 说明
格式 asc(chr)
参数 (text) chr 任意单字符文本字符串
返回 (int) 字符 chr 的 ASCII 或扩展 ASCII 码
示例
另请参阅 chr

asin

反正弦

类别 说明
格式 asin(x)
参数 {comp} x 任意实数或复数
返回 {comp} x 的反正弦,以弧度表示
说明 x 的反正弦定义为正弦为 x 的角度(以弧度表示)。
示例
另请参阅 acosatanatan2sincostanPI

askmultitext

要求用户输入多行文本字符串

类别 说明
格式 askmultitext(message,default,title,buttons)
参数
返回 (text) 用户输入的文本
说明 askmultitext 通过显示包含 message 和滚动文本框的对话框或 HTML 表单来要求用户输入。用户的响应以文本字符串形式返回。asktext 和 askmultitext 类似,区别在于 askmultitext 显示滚动文本框,而 asktext 显示单行文本框。当逻辑前瞻处于活动状态时,此函数会被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 asktextasknumberdialogdialogtemplate逻辑与、[逻辑或](#logical_or "运算符 x

asknumber

要求用户输入数字

类别 说明
格式 asknumber(message,default,title,buttons)
参数
返回 (real) 用户输入的响应值
说明 asknumber 通过显示包含 message 的屏幕或 HTML 表单并等待响应来提示用户输入。asktext 和 asknumber 类似,区别在于 asknumber 会将用户的响应转换为数字,而 asktext 不会。当逻辑前瞻处于活动状态时,此函数会被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 askyesnoasktextaskmultitextchoosedialogdialogtemplate逻辑与、[逻辑或](#logical_or "运算符 x

asktext

要求用户输入文本字符串

类别 说明
格式 asktext(message,default,title,buttons)
参数
返回 (text) 用户输入的文本
说明 asktext 通过显示包含 message 和单行文本框的屏幕或 HTML 表单来要求用户输入。用户的响应以文本字符串形式返回。asktext 和 asknumber 类似,区别在于 asknumber 会将用户的响应转换为数字,而 asktext 不会。asktext 和 askmultitext 类似,区别在于 askmultitext 显示滚动文本框,而 asktext 显示单行文本框。当逻辑前瞻处于活动状态时,此函数会被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 askmultitextasknumberaskyesnochoosedialogdialogtemplate逻辑与、[逻辑或](#logical_or "运算符 x

askyesno

向用户提出是/否问题

类别 说明
格式 askyesno(message,default,title)
参数 [any] message 可选,要显示的消息;默认=节点 Form 窗口的内容(dialogtemplate) (bool) default 可选,初始选择状态;true=是,false=否;默认=true (text) title 可选,对话框框架上显示的标题;默认=""
返回 (bool) True 或 false
说明 askyesno 通过显示包含 message 的屏幕或 HTML 表单并等待响应来提示用户输入。该屏幕包含"是"和"否"单选按钮,用户可选择以指示正确的响应。当逻辑前瞻处于活动状态时,此函数会被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 asknumberasktextchoosedialogdialogtemplate逻辑与、[逻辑或](#logical_or "运算符 x

Assign

运算符 x=y,将变量 x 设置为等于值 y

类别 说明
格式 x = y
参数 (node) x 现有节点、变量、对象属性或列表元素的名称 [any] y 要赋给 x 的值
返回 [any] y 的值
说明 赋值运算符用于将值赋给现有节点、变量、对象属性或列表元素。Define 运算符 (:=) 会创建一个名为 x 的新节点;但由于 y 的求值被延迟,不会立即将值赋给 x。相比之下,Assign 运算符 (=) 不会创建新节点,而只是将值赋给现有节点 x,同时保持其定义不变。
示例
另请参阅 复合赋值DefineEqualdim

Assumption

用于访问 Assumptions 对象功能的快捷表示法

注意:此原语只能在 Report Writer 中使用。

请参阅使用 Report Writer 创建自定义接口。

类别 说明
格式 Assumption
参数
返回 [any] 名称与当前活动节点匹配的记录的值。
说明 用于访问 Assumptions 对象功能的快捷表示法;它们在功能上完全相同,但 Assumption 使用根定义。如果记录名称与根定义不相同,则使用 Assumptions 对象。例如:SKU 100 APAC:=Assumption 等同于 SKU 100 APAC:=Assumptions.SKU100 APAC。Assumption 通常用于公式中,而 Assumptions 用于终端节点。
示例 SKU100 APAC:=Assumption
另请参阅 AssumptionsMixedRollupRollupWhere

atan

二象限反正切

类别 说明
格式 atan(x)
参数 {comp} x 任意实数或复数
返回 {comp} x 的反正切,以弧度表示
说明 x 的反正切定义为正切为 x 的角度(以弧度表示)。
示例
另请参阅 atan2asinacossincostanPI

atan2

四象限反正切

类别 说明
格式 atan2(x,y)
参数 (real) xy 输入值;xy 不能同时为 0
返回 (real) y/x 的四象限反正切,以弧度表示
说明 y/x 的反正切定义为正切为 y/x 的角度(以弧度表示)。更具体地说,atan2 返回笛卡尔坐标平面中正 x 轴与从原点 (0,0) 到点 (x,y) 的连线之间的角度。结果始终介于 -PI 和 PI 之间。
示例
另请参阅 atanasinacossincostanPIarg

atm

大气压,压力计量单位

类别 说明
格式 atm
定义 atm=1.01325e5*pa
另请参阅 pa预定义单位基本单位

authorid

返回指定模型文件的作者 ID

类别 说明
格式 authorid(file)
参数 (text) file CCH Tagetik Supply Chain Planning 模型文件的完整路径
返回 (text) 最后保存该模型文件的人员的 ID
说明 用户的唯一作者 ID;用户创建的所有文件都会标记该 ID。
示例

avg

列表中所有数字的平均值

类别 说明
格式 avg(list) avg(x1,x2,...)
参数 [num] list 输入列表 (num) x1, x2, ... 输入数字;可包含实数和复数
返回 (num) 如果只提供一个参数,则返回 list 中所有元素的数值平均值(均值);如果提供多个参数,则返回所有参数的平均值
示例
另请参阅 countsumprodstdvariancemaxminmed

bar

巴,压力计量单位

类别 说明
格式 bar
定义 bar=1e6*dyne/cm^2
另请参阅 cmdyne预定义单位基本单位

beep

发出可听见的音调

类别 说明
格式 beep
参数
返回 null
说明 beep 发出可听见的音调。
另请参阅 saydialog

best

列表中最大元素的值和名称

类别 说明
格式 best(a,b,...)
参数 [any] ab、... 任意有效表达式
返回 [any] 包含两个元素的列表,其中第一个元素是最大值(即最佳输入表达式)的值,第二个元素是该表达式本身
说明 best 适用于在多个备选方案中寻找最佳方案,此时不仅需要最大值,还需要导致该最大值的表达式。
示例
另请参阅 firsttruemax

betarand

来自 Beta 分布的伪随机数

类别 说明
格式 betarand(a,b,...)
参数 (real) a, b 可选形状参数;默认 = 1
返回 (real) 从 Beta 分布中抽取的伪随机数
示例
另请参阅 randdrandtrandnrandlrandbrandprandgrandwrandcrandsetrandcorrelate

bin

将数据分组并统计每组中的项数

类别 说明
格式 bin(list,x1,x2,n)
参数 [unit] list 输入数据列表 (unit) x1 下限 (unit) x2 上限 (int) n 箱数
返回 [int] 包含 n 个元素的列表,表示输入列表中落入 n 个等间距范围中每个范围的项数
说明 bin 将 x1x2 之间的范围划分为 n 个等间距范围。然后 bin 统计输入列表中落入这些范围中每个范围的元素数量。可以使用 bin 创建的信息来生成显示输入数据分散情况的直方图。
示例
另请参阅 pct

Bitwise And

运算符 x&y,x 和 y 中所有位的 AND

类别 说明
格式 x & y
参数 (int) x 任意整数 (int) y 任意整数
返回 (int) 按位 x AND y
说明 此运算符将 xy 从浮点数转换为 32 位整数,比较 xy 中所有对应的位,并返回一个数字,其中 x AND y 中对应位均为 1 的每个位都为 1。
示例
另请参阅 逻辑与、[按位或](#bitwise_or "运算符 x

Bitwise Exclusive Or

运算符 x~y,x 和 y 中所有位的异或

类别 说明
格式 x ~ y
参数 (int) x 任意整数 (int) y 任意整数
返回 (int) 按位 x 异或 y
说明 此运算符将 xy 从浮点数转换为 32 位整数,比较 xy 中所有对应的位,并返回一个数字,其中 xy 中对应位不同的每个位都为 1。
示例
另请参阅 [按位或](#bitwise_or "运算符 x

Bitwise Not

运算符 ~x,反转 x 中的所有位

类别 说明
格式 ~ x
参数 (int) x 任意整数
返回 (int) x 的按位补码
说明 此运算符将 x 从浮点数转换为 32 位整数,反转所有位,并将结果作为浮点数返回。
示例
另请参阅 逻辑非按位与、[按位或](#bitwise_or "运算符 x

Bitwise Or

运算符 x|y,x 和 y 中所有位的 OR

类别 说明
格式 x
参数 (int) x 任意整数 (int) y 任意整数
返回 (int) 按位 x OR y
说明 此运算符将 xy 从浮点数转换为 32 位整数,比较 xy 中所有对应的位,并返回一个数字,其中 x OR y 中对应位为 1 的每个位都为 1。
示例
另请参阅 [逻辑或](#logical_or "运算符 x

Boolean

Boolean 对象构造函数

类别 说明
格式 Boolean(value)
参数 [any] value
说明 Boolean 对象构造函数

both

将函数应用于两个列表中各组对应元素

类别 说明
格式 both(f(x,y),x,y,listx,listy*,n)*
参数 [any] f(x,y) 转换函数 (node) xy f(x,y) 中输入变量的名称 [any] listxlisty 要转换的元素列表 (int) n 可选,每次求值 f(x,y) 时要在 listxlisty 中分组在一起的连续元素数量;默认=1
返回 [any] f(x,y) 的列表,其中 xy 等于 listxlisty 中每一对连续的元素
说明 both 创建两个名为 xy 的临时变量,然后通过将这些变量设置为等于 listxlisty 中每一对对应的元素并反复求值 f(x,y) 来构造列表。即:both(f(x,y),x,y,listx,listy) = [f(listx[0],listy[0]),f(listx[1],listy[1]),f(listx[2],listy[2]), ... ] 如果 listxlisty 包含的元素数量不相同,则较短的列表会用尾随 null 填充。如果名为 xy 的节点已存在,则在 f(x,y) 的所有求值中它会被替换,然后恢复到其原始状态。
注意 如果表达式 f(x,y) 是基于 xy 的树节点而非函数,则必须使用 reset 原语使树在每次迭代时重新计算。常量会保留其首次求值时的值,并在所有后续求值中返回该值。要使常量重新求值,请使用类似 both({reset,f},x,y,listx,listy) 的表达式,而不是:both(f,x,y,listx,listy)
示例
另请参阅 Dolist 和 Domatrixeacheachnmakelist

branch

创建决策树分支节点

类别 说明
格式 branch(choice,branch1,branch2,...)
参数 (text,logic) choice 通常是对 choose 或 askyesno 的调用 [any] branchN 任意节点
返回 [any] 所选分支的值
说明 此函数用于创建交互式决策树节点。branch 首先生成一个列表,其中包含附加到活动节点每个子节点的注释文本,然后将此列表赋给 branchoptions 原语。接着,branch 执行 choice。通常,choice 包含对输入函数(如 choose)的调用,该函数使用 branchoptions 构造其查询。然后将此输入函数的结果与注释文本列表进行比较,以找出哪个子节点包含所选文本。最后,对注释与所选文本匹配的节点进行求值。
另请参阅 branchoptionschooseaskyesno

branchoptions

活动分支节点的子节点列表

类别 说明
格式 branchoptions
参数
返回 [text] 分支注释列表
说明 branchoptions 返回一个列表,其中包含附加到活动节点的每个子节点的注释文本。branchoptions 函数仅在 branch 原语执行时存在。
另请参阅 branchchoose

brand

来自二项分布的伪随机数

类别 说明
格式 brand(probability,trials)
参数 (real) probability 可选的每次试验成功概率;默认值=0.5 (int) trials 可选的试验次数;默认值=1
返回 (int) 从二项分布中抽取的伪随机数
说明 brand 原语返回的数字表示在给定单次成功概率和试验次数的情况下,实验中成功的次数。例如,抛硬币 10 次时正面朝上的次数。brand 返回的结果始终是介于 0 和试验次数之间的整数。当 trials = 1 时,brand 返回来自伯努利分布的数字。
示例
另请参阅 randdrandtrandnrandlrandprandgrandwrandbetarandcrandsetrandcorrelate

break

终止 for 或 while 循环

break 语句使 switch、while、do/while、for 或 for/in 语句中的执行立即终止。break 的语法非常简单。

break ;

以下示例将列表中的所有数字相加,直到遇到第一个负值。当遇到负值时,循环执行被 break 终止。

var total=0,n;
for(n=0; list[n]!=null; n++) {
  if(list[n]<0)
    break;
  total+=list[n];
}

如果有嵌套循环,只有直接包含 break 语句的循环会被终止。例如,以下代码中的 break 语句仅终止最内层的循环。

for(col=0; list[col]!=null; col++) {
  for(row=0; list[col][row]!=null; row++) {
    if(list[col][row]<0)
      break;
    // execute other statements
  }
}

btu

英热单位,能量计量单位

类别 说明
格式 btu
定义 btu=1055.05585262*joule
另请参阅 joule预定义单位基本单位

buffer_append

将文本追加到命名数据存储缓冲区

类别 说明
格式 buffer_append(name,data)
参数 (text) name 数据存储缓冲区的名称 (text) data 要写入存储缓冲区的数据
返回 (text) 写入数据存储缓冲区的数据
说明 将文本追加到命名数据存储缓冲区
示例
另请参阅 buffer_readbuffer_write

buffer_read

读取命名数据存储缓冲区的内容

类别 说明
格式 buffer_read(name)
参数 (text) name 数据存储缓冲区的名称
返回 (text) 从数据存储缓冲区读取的数据
说明 读取命名数据存储缓冲区的内容
示例
另请参阅 buffer_appendbuffer_write

buffer_write

将文本写入命名数据存储缓冲区

类别 说明
格式 buffer_write(name,data)
参数 (text) name 数据存储缓冲区的名称 (text) data 要写入存储缓冲区的数据
返回 写入数据存储缓冲区的数据
说明 将文本写入命名数据存储缓冲区
示例
另请参阅 buffer_appendbuffer_read

cal

卡路里,能量计量单位

类别 说明
格式 cal
定义 cal=4.1868*joule
另请参阅 joule预定义单位基本单位

case

关键字 - 标识 switch 语句中的一个 case

类别 说明
格式 case: code
说明 关键字 - 标识 switch 语句中的一个 case
另请参阅 switch

cd

坎德拉,发光强度计量单位

类别 说明
格式 cd
定义 基本单位
另请参阅 预定义单位基本单位

ceil

向上舍入后的整数值

类别 说明
格式 ceil(x)
参数 {num} x 任意实数或复数
返回 {num} x 向上舍入到最接近整数的值
说明 ceil 将数字向上舍入。如果 x 是复数,则实部和虚部分别舍入。
示例
另请参阅 floorintegerround

cf

term/rate/pv/pmt/fv 现金流量计算

类别 说明
格式 cf(term,rate,pv,pmt,fv,begin,compound)
参数 (real) term 期数 (real) rate 每期利率 (real) pv 现值 (real) pmt 每期付款额 (real) fv 终值 (bool) begin 可选标志,指示付款发生在每期的期初还是期末;默认值=false(期末) (bool) compound 可选标志,指示在首个不完整期间应计复利还是单利;默认值=false(单利)
返回 (real) 与值为 null 的输入参数相对应的未知量
说明 给定定义现金流量序列的五个项(termratepvpmtfv)中的四个,cf 求解第五个。通过为相应的输入参数输入值 null 来指定要求解的项。下图说明了 termpvpmtfv 所代表的现金流量序列。此图中的所有现金流量均显示为正;但通常一个或多个现金流量为负。指定现金流量值时务必使用正确的符号。按照惯例,流入的现金为正,流出的现金为负。在上图中,所有每期付款均假定发生在每期的期末。这意味着第一个现金流量是 pv,最后一个是 fv + pmt。可以使用 begin 参数使所有付款发生在每期的期末或期初。当 begintrue 时,第一个现金流量是 pv + pmt,最后一个是 fvbegin = truebegin = false:如果 term 包含小数部分,则假定该小数部分代表一个不完整的首个期间。例如,如果 term 为 6.50,则有 6 个期间,且第一个期间比其余 5 个期间长。在不完整期间计算中,不完整期间的利息可以使用单利或复利累计。如果 compound 参数为 true,则使用复利,否则使用单利
示例
另请参阅 npvirrpvpmtfvrateterm

children

由某节点直接调用的所有节点的列表

类别 说明
格式 children(namespec,all,hidden)
参数 (node) namespec 节点的名称 (bool) allTrue 表示在列表中包含未定义的节点,false 表示仅返回已定义的节点;默认值 = false (bool) hiddenTrue 表示在列表中包含隐藏节点,false 表示仅返回非隐藏节点;默认值 = false
返回 [text] 由该节点直接调用的子节点列表
说明 children 返回由该节点直接调用的所有节点的列表
示例 假设已创建以下节点:
另请参阅 alltreelistbranchoptionsrootnodeendnodesinputsoutputs

choose

要求用户从列表中选择一项

类别 说明
格式 choose(message,list,default,title,buttons)
参数
返回 (any) 用户选择的 list 中的项目
说明 choose 通过显示包含 message 的对话框或 HTML 表单以及以 list 中每个项目命名的单选按钮列表来要求用户输入。choose 返回用户所选项目的值。当逻辑前瞻处于活动状态时,此函数会被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 asktextasknumberaskyesnodialogbranchbranchoptionsdialogtemplate逻辑与、[逻辑或](#logical_or "运算符 x

chr

ASCII 码的字符值

类别 说明
格式 chr(code)
参数 (int) code 单个字符的 ASCII 或扩展 ASCII 码(0-255)
返回 (text) ASCII 值为 code 的单个字符
示例
另请参阅 asc

clear

将节点的值设置为 null

类别 说明
格式 clear(namespec)
参数 {node} namespec 可选的节点名称列表;默认值=all
返回 [text] 如果提供了 namespec,则为其值,否则为 null
说明 namespec 中指定的所有常量标记为未求值,并将其值设置为 null。使用 reset 可在不移除其值的情况下重置所有常量。如果未提供 namespec,则重置所有节点。
示例
另请参阅 resetremove

close

关闭活动文档

类别 说明
格式 close
参数
返回 null
说明 此原语关闭活动文档(模型或脚本),但不会导致主应用程序关闭。close 在通过 dde 接收的命令中很有用。
另请参阅 openexit

cm

厘米,长度计量单位

类别 说明
格式 cm
定义 cm=m/100
另请参阅 m预定义单位基本单位

cnorm

累积正态分布

类别 说明
格式 cnorm(x)
参数 {real} x
返回 {real} 从均值为零、标准差为一的正态分布中抽取时,值小于 x 的概率
说明 累积正态分布
另请参阅 nrand

comment

附加到节点的注释文本

类别 说明
格式 comment(namespec)
参数 {node} namespec 可选的节点名称;默认值 = activenode
返回 [text] 附加到 namespec 中每个节点的注释文本
另请参阅 activenodedialogtemplate

compare

比较两个列表

类别 说明
格式 compare(x,y,tolerance)
参数 [any] xy 要比较的值 (real) tolerance 可选的数值测试中的最大容差;默认值=0
返回 (int) 如果两个列表相等则为 0,如果 x<y 则为 -1,如果 x>y 则为 1
说明 compare 比较两个包含任意类型元素的列表,并返回 -1、0 或 1,指示列表是否相同。如果列表不相同,compare 返回前两个不匹配的对应元素的比较结果。在比较数字时,实部和虚部之差小于 tolerance 的两个数字被视为相等。此功能允许在考虑浮点舍入误差的情况下比较数字。在数据类型之间进行比较时,例如将字符串与数字进行比较,使用以下层次结构:null < false = 零 < true = 所有非零数字 < 所有字符串 < 所有列表和对象 < 所有函数指针。
示例
另请参阅 等于大于小于

component

加载库组件

类别 说明
格式 component(path,shared)
参数 (text) path 所需组件文件的位置 (bool) shared 可选标志,指示组件实例是唯一的还是应共享;默认值=false(不共享)
返回 (any) 表示指定组件实例的对象
说明 component 用于在基于组件的模型中加载子组件。如果 path 是绝对地址,则仅从指定的位置加载组件。如果 path 是相对地址,则系统在所有库中搜索指定的组件并加载找到的第一个。搜索的具体库取决于 Library.txt 文件中定义的库配置。如果 shared 为 true,则即使组件在多个位置或多个子组件中使用,也只加载该组件的一个实例。
示例 component("C:\\My Components\\Data\\Rates") component("Data\\Rates")
另请参阅 include

componentdir

组件所在的文件目录

类别 说明
格式 componentdir
参数
返回 (text) 组件所在目录的名称
示例
另请参阅 programdirscriptdir

复合赋值

运算符 x??=y,算术运算与赋值

类别 说明
格式 x^=y x*=y x/=y x%=y x+=y x-=y x<<=y x>>=y x>>>=y x&=y x~=y x
参数 (node) x 现有节点、变量、对象属性或列表元素的名称 [any] y 任意有效表达式
返回 [any] 执行所请求操作后 x 的值
说明 复合赋值运算符用于执行基本算术运算之一并将结果赋给节点。例如,x+=y 与 x=x+y 相同。类似地,x-=y 与 x=x-y 相同。
示例
另请参阅 乘法除法取余加法减法左移右移零填充右移按位与按位异或、[按位或](#bitwise_or "运算符 x

条件运算符

运算符 x?y:z,if...then...else 条件

类别 说明
格式 x?y:z
参数 (bool) x 任意布尔表达式 [any] yxtrue 时的结果 [any] zxfalse 时的结果
返回 [any] 如果 xtrue,则为 y 的值,否则为 z 的值
说明 此运算符实现 if...then...else 结构。首先对 x 求值,如果为 true(返回非零数值),则对表达式 y 求值并返回其结果。否则,对表达式 z 求值并返回其值。在任何情况下都不会同时求值 yz
示例
另请参阅 truefalse

consolidate

将库组件对象合并为单个合并对象

类别 说明
格式 consolidate(comp1,comp2,...)
参数 (object) comp 要合并的 N 个组件
返回 (object) 具有与输入组件相同属性的单个聚合对象
说明 使用 consolidate 将具有一组公共属性的组件合并为单个对象。例如,可以将多个部门模型合并为公司范围的模型。当请求合并对象属性的值时,consolidate 函数从每个输入组件请求该属性的值,然后将这些值求和。输入组件公开的所有属性在合并对象中都可用。需要注意的是,consolidate 不会验证所有输入组件是否都具有特定属性的值。如果某个组件未定义在父对象上调用的属性,则它对总计的贡献为零,例如,在下面的示例中,如果 Dept1 没有 Profit 的值,则 Company.Profit 忽略 Dept1,仅返回 Dept2.Profit + Dept3.Profit 的值。
示例
另请参阅 partslistcomponent属性

continue

跳过 for 或 while 循环的一部分

continue 语句与 break 类似,因为它会终止循环一部分的执行。但是,与 break 不同,continue 仅跳过当前迭代中剩余步骤的执行,而不是终止整个循环。

例如,以下代码将列表中的所有正数相加:

var total=0,n;
for(n=0; list[n]!=null; n++) {
  if(list[n]<0)
    continue;
  total+=list[n];
}

此示例与使用 break 的第一个示例完全相同,只是用 continue 替换了 break。在此示例中,每次遇到负数时,都会跳过当前循环中的剩余步骤。由于语句块中只有一个剩余步骤 total+=list[n];,因此该循环实际上只是对正数列表元素求和。

copyfile

复制磁盘文件

类别 说明
格式 copyfile(source,dest)
参数 (text) source 要复制的源文件的路径 (text) dest 复制目标的路径
返回 (text) 复制文件的目标位置
说明 复制磁盘文件。
示例 copyfile("c:\\data1.dat","c:\\data2.dat")
另请参阅 deletefilecreatedirectoryremovedirectorydir

copyproperties

将源对象中的所有属性复制到目标对象

类别 说明
格式 copyproperties(source,dest)
参数 (obj) source 要复制其属性的对象 (obj) dest 要将源属性复制到的对象
返回 (obj) 源对象
说明 将源对象中的所有属性复制到目标对象。如果源对象属性已存在于目标对象中,则 copyproperties 会覆盖目标对象属性。如果源对象属性不存在于目标对象中,则 copyproperties 会创建它。如果目标对象具有源对象没有的属性,则目标对象属性不会更改。对象与列表非常相似。关键区别在于对象具有命名元素而不是数字索引元素。命名元素称为属性。
示例
另请参阅 复制对象创建对象属性union

correlate

使随机输入相互关联

类别 说明
格式 correlate(rand,index,cormat)
参数 (real) rand 对某个随机数生成器的调用 (int) index 随机输入在相关矩阵中的位置 [real] cormat 可选的相关矩阵
返回 (real) 具有 rand 的分布但与其他随机输入相关的随机数
说明 要使用 correlate 原语,模型必须包含名为 Cormat 的 Data Table 工作表(字符大小写很重要),或者必须使用第三个参数提供相关矩阵。此表为每个与其他输入相关的随机输入包含一行和一列。每行和每列的交集必须包含相应输入对的相关性系数。例如,在下表中,Bonds 和 Large Cap 之间的相关性为 0.60。参数 rand 是用于生成无相关性随机数的任意语句,index 指示包含特定随机输入相关性数据的行/列。
示例 无相关性随机输入的定义可能如下所示:Cash:=lrand(1.01,0.01) Bonds:=lrand(1.02,0.04) Large Cap:=lrand(1.05,0.08) Small Cap:=lrand(1.06,0.11) International:=lrand(1.08,0.17) 使用相关性后,相同的节点如下所示:Cash:=correlate(lrand(1.01,0.01),1) Bonds:=correlate(lrand(1.02,0.04),2) Large Cap:=correlate(lrand(1.05,0.08),3) Small Cap:=correlate(lrand(1.06,0.11),4) International:=correlate(lrand(1.08,0.17),5)
另请参阅 randdrandtrandnrandlrandbrandprandgrandwrandbetarandcrandsetrand

correlatenext

清除相关蒙特卡洛过程中的缓存数据

类别 说明
格式 correlatenext
参数
说明 清除相关蒙特卡洛过程中的缓存数据

correlation

一对数据集的相关性系数

类别 说明
格式 correlation(list1,list2)
参数 [real] list1, list2 输入列表
返回 (real) 两个列表的相关性系数
说明 相关性系数是衡量两个数字序列相关程度的指标。系数为 1.0 表示 100% 正相关,-1.0 表示 100% 负相关。
示例
另请参阅 variancestdrsquared

cos

余弦

类别 说明
格式 cos(x)
参数 {comp} x 以弧度表示的角度,可以是任意实数或复数
返回 {comp} 角度 x 的余弦
示例
另请参阅 sintanasinacosatanatan2PI

coul

库仑,静电荷计量单位

类别 说明
格式 coul
定义 coul=amp*sec
另请参阅 ampsec预定义单位基本单位

count

列表中的元素数量

类别 说明
格式 count(list) count(x1,x2,...)
参数 [any] list 输入列表 (any) x1, x2, ... 输入值;可以包含任意类型的元素
返回 (int) 如果只提供一个参数,则为 list 中的元素数量;如果提供多个参数,则为参数的数量
示例
另请参阅 sumprodavgstdvariancemaxminmed

crand

来自自定义分布的伪随机数

类别 说明
格式 crand(f(x),x,x1,x2,max)
参数 (unit) f(x) 概率密度函数 (node) x f(x) 中输入变量的名称 unit) x1 下限 (unit) x2 上限 (unit) max f(x)x1x2 范围内的最大值
返回 (unit) 来自由 f(x) 定义的自定义分布的伪随机数
说明 crand 生成从自定义分布中抽取的随机数。crand 返回的数字在 x1x2 范围内。成为此范围内任何特定数字的可能性由函数 f(x) 定义。
示例
另请参阅 randdrandtrandnrandlrandbrandprandgrandwrandbetarandsetrandcorrelate

crc32

返回给定文本的 32 位 CRC 值

类别 说明
格式 crc32(text)
参数 (text) text 输入文本
返回 (text) 文本的 32 位 CRC 值(十六进制格式)
说明 crc32 生成给定文本的 32 位循环冗余校验(CRC)值。
示例

createdirectory

创建文件目录或文件夹

类别 说明
格式 createdirectory(directory)
参数 (text) directory 要创建的目录的路径
返回 (text) 新创建的目录的名称
说明 在用户文件系统中创建目录。
示例 createdirectory("C:\\New Directory")
另请参阅 removedirectorycopyfiledeletefile

createhtmltable

矩阵数据的 HTML 表格呈现

类别 说明
格式 createhtmltable(data,format,tablestyle,rowstyle,colstyle)
参数 [any] data 要呈现为表格的数据矩阵 (real) format 可选的数字格式代码;默认值=0 (text) tablestyle 可选的 HTML 表格样式代码;默认值=null [text] rowstyle 可选的 HTML 行样式代码列表;默认值=null [text] colstyle 可选的 HTML 列样式代码列表;默认值=null
返回 (text) 数据表的 HTML 表述
说明 createhtmltable 从矩阵数据生成 HTML 表格。例如,表达式 createhtmltable([[1,2],[3,4]]) 返回文本 <table> <tr><td>1</td><td>3</td></tr> <tr><td>2</td><td>4</td></tr> </table> 表达式 dialog(createhtmltable([[1,2],[3,4]])) 输出上述 HTML 文本以显示表格。format 参数用于指定数字表格项如何转换为文本。有关格式代码列表,请参阅 tostring。tablestyle 参数用于在输出文本的 <table> 部分插入 HTML 格式选项。类似地,rowstylecolstyle 参数用于在 <tr> 和 <td> 字段中插入格式选项。例如,表达式 createhtmltable([[1,2],[3,4]],0,"width=\"200\"", "bgcolor=\"#ffffc0\"","align=\"right\"") 返回文本 <table width="200"> <tr bgcolor="#ffffc0"><td align="right">1</td> <td align="right">3</td></tr> <tr bgcolor="#ffffc0"><td align="right">2</td> <td align="right">4</td></tr> </table> rowstylecolstyle 参数可以包含值列表。例如,如果 rowstyle["bgcolor=\"ffffc0\"","bgcolor=\"#ffffff\""] 则行背景颜色在黄色(#ffffc0)和白色(#ffffff)之间交替。rowstyle 列表中的第一个元素应用于第一行,第二个元素应用于第二行。如果有超过两行,则重复该列表(第一个元素应用于第三行,第二个元素应用于第四行,依此类推)。如果 rowstylecolstyle 中的最后一个元素是文本 "repeat",则仅重复样式列表中的最后一个元素。例如,如果 rowstyle["bgcolor=\"ffffc0\"","bgcolor=\"#ffffff\"","repeat"] 则第一行的背景颜色为黄色,所有其余行为白色。
另请参阅 parsehtmltabledialogtostring

da

天,时间计量单位

类别 说明
格式 da
说明 天,时间计量单位。例如,365*da 或 365da 等于 365 天。
另请参阅 halfhrmnmoqtrwkyr

date

从日期时间序列号导出的日期文本表示

类别 说明
格式 date(style,sernum)
参数 (int) style 可选的样式说明符;默认值=0 (unit) sernum 可选的日期和时间序列号;默认值=now
返回 (text) 按指定格式由 sernum 隐含的日期
说明 date 将日期和时间序列号转换为隐含日期的文本描述。如果未提供 sernum,则假定为当前日期和时间。样式说明符可以是 0 到 10 之间的值,含义如下。
示例
另请参阅 datetimedatenumnowtimeyearmonthdayhourminutesecondweekday

Date

日期对象构造函数

类别 说明
格式 date(style,sernum)
参数 (int) style 可选样式说明符;默认值 = 0 (unit) sernum 可选日期和时间序列号;默认值 = now
返回 (text) 按指定格式由 sernum 隐含的日期
说明 date 将日期和时间序列号转换为隐含日期的文本描述。如果未提供 sernum,则假定为当前日期和时间。样式说明符可以是 0 到 10 之间的值,含义如下。
示例
另请参阅 datetimedatenumnowtimeyearmonthdayhourminutesecondtodateweekday

datenum

特定日期和时间的序列号

类别 说明
格式 datenum(year,month,day,hr,min,sec)
参数 (int) year 年份(例如 1991) (int) month 可选月份(1-12);默认值=1 (int) day 可选月内日期(1-31);默认值=1 (int) hr 可选小时(0-23);默认值=0 (int) min 可选分钟(0-59);默认值=0 (int) sec 可选秒(0-59);默认值=0
返回 (unit) 指定日期和时间的序列号
说明 所有日期和时间原语使用的序列号是从任意基准日期到指定日期和时间之间经过的秒数。1584 年之前的日期无效。 datenum 和 now 原语返回的序列号包含时间度量单位。使用包含 yr、mo、wk、da、hr、mn 和 sec 单位的公式来修改日期序列号。 可以按需指定任意数量的日期和时间参数,datenum 会对其余组成部分使用默认值。例如,datenum(1993,5,21) 等价于 datenum(1993,5,21,0,0,0)。
示例
另请参阅 datenumdatetimenowdatetimeyearmonthdayhourminutesecondweekday

datetime

由序列号派生的日期和时间的文本表示

类别 说明
格式 datetime(style,sernum)
参数 (text) style 文本形式的样式说明符 (unit) sernum 可选日期和时间序列号;默认值=now
返回 (text) 按指定格式由 sernum 隐含的日期/时间
说明 datetime 将日期和时间序列号转换为隐含日期和时间的文本描述。如果未提供 sernum,则假定为当前日期和时间。style 参数是一个文本值,使用以下代码的任意组合来指定所需的日期/时间格式:
示例
另请参阅 datetime

day

由日期时间序列号派生的月内日期

类别 说明
格式 day(sernum)
参数 (unit) sernum 可选日期和时间序列号;默认值=now
返回 (int) 由 sernum 隐含的月内日期(1-31)
注意 所有日期和时间原语使用的序列号是从任意基准日期到指定日期和时间之间经过的秒数。1584 年之前的日期无效。 datenum 和 now 原语返回的序列号包含时间度量单位。使用包含 yr、mo、wk、da、hr、mn 和 sec 单位的公式来修改日期序列号。
示例
另请参阅 datenumnowdatetimeyearmonthdayhourminutesecondweekday

dbcreate

创建数据库文件

类别 说明
格式 dbcreate(file)
参数 (text) file 数据库文件的名称
返回 (text) 数据库文件的名称
说明 创建以 file 中指定的名称命名的数据库文件。如果已存在同名数据库文件,dbcreate 将重新初始化该数据库文件,所有现有数据将被删除。 空白数据库文件为 4 千字节(一个磁盘扇区)。 建议使用 CCH Tagetik Supply Chain Planning 数据库文件扩展名 .vdb 来命名数据库文件。
示例
另请参阅 dbdeletedbdirdbpackdbreaddbwrite

dbdelete

删除数据库文件记录

类别 说明
格式 dbdelete(file,recordName)
参数 (text) file 数据库文件的名称 (text) recordName 由 file 指定的数据库文件中的数据库记录名称
返回 null
说明 删除数据库记录。 recordName 不能包含通配符 * 和 ?
示例
另请参阅 dbcreatedbdirdbpackdbreaddbwrite

dbdir

返回记录列表或数据库文件中的记录数

类别 说明
格式 dbdir(file,recordName,searchConditions)
参数 (text) file 数据库文件的名称 (text) recordName 数据库中记录的可选名称 (object) searchConditions 可选对象,指定匹配记录所需的值
返回 [text] 匹配记录名称的列表,即使只返回一条记录
说明 在数据库文件中搜索与 recordName 指定的名称匹配的记录。 recordName 可以是名称列表,在这种情况下,dbread 将返回值列表。 recordName 可以包含通配符 *(从零到任意数量的字符)或 ?(单个字符)。 如果省略 recordName,则 dbdir 返回数据库文件中的记录数。
示例
另请参阅 dbcreatedbdeletedbpackdbreaddbwrite

dbpack

移除数据库文件中未使用的空间

类别 说明
格式 dbpack(file)
参数 (text) file 数据库文件的名称
返回 (text) 数据库文件的名称
说明 移除数据库文件中未使用的空间以减小其大小
示例
另请参阅 dbcreatedbdeletedbdirdbreaddbwrite

dbread

返回数据库记录列表

类别 说明
格式 dbread(file,recordName,searchConditions,selectList)
参数 (text) file 数据库文件的名称 (text) recordName 记录的名称 (object) searchConditions 可选对象,指定匹配记录所需的值 (object) selectList 可选对象,指定要返回哪些对象属性
返回 [any] 匹配记录名称的列表,即使只返回一条记录
说明 在数据库文件中搜索与 searchConditions 和 selectList 指定的对象匹配的记录。该搜索类似于 SQL 查询: SELECT selectList FROM file WHERE recordName AND searchConditions recordName 可以是名称列表,在这种情况下,dbread 将返回值列表。 recordName 可以包含通配符 *(从零到任意数量的字符)或 ?(单个字符)。
示例
另请参阅 dbcreatedbdeletedbdirdbpackdbwrite

dbwrite

创建数据库文件和记录并将数据写入记录

类别 说明
格式 dbwrite(file,recordName,data,append)
参数 (text) file 数据库文件的名称 (text) recordName 记录的名称 [any] data 要写入 recordName 指定记录的数据 (bool) append 可选参数,用于追加 recordName 指定的记录而不检查重复记录
返回 [any] 写入记录的数据
说明 将数据写入数据库文件中的记录。如果 file 指定的文件不存在,则 dbwrite 创建该文件。如果 file 指定的文件已存在,则向该文件添加新记录。 recordName 可以包含除 * 和 ? 之外的任何字符 recordName 最多可包含 1024 个字符,但 22 个字符或更少的长度可提高性能。 布尔值如 true、false、yes、no、1、0 可用于 append。
示例
另请参阅 dbcreatedbdeletedbdirdbpackdbreadtruefalseyesno

dde

原始动态数据交换链接

类别 说明
格式 dde(service,topic,item,cache,timeout)
参数 (text) service 提供 DDE 数据的应用程序名称 (text) topic 数据主题的名称。在基于文档的 DDE 服务器中,这通常是服务器应用程序中要加载的文档名称 (text) item 所请求的特定数据项名称 (bool) cache 可选标志,指示连接是否应保持打开;默认值=true(保持打开) (unit) timeout 可选,等待 DDE 服务器响应的最长时间;默认值=10sec
返回 (text) DDE 服务器以文本格式提供的数据
说明 dde 原语用于从可作为动态数据交换服务器的 Windows 应用程序请求数据。 使用 dde 原语检索的数据始终为文本格式。要将其转换为数值数据、列表、矩阵或其他有用的形式,必须对文本进行解析和求值。
示例
另请参阅 ddelink

已求值的动态数据交换链接

类别 说明
格式 ddelink(service,topic,item)
参数 (text) service 提供 DDE 数据的应用程序名称 (text) topic 数据主题的名称;在基于文档的 DDE 服务器中,这通常是服务器应用程序中要加载的文档名称 (text) item 所请求的特定数据项名称
返回 [any] DDE 服务器提供的数据
说明 ddelink 原语与 dde 类似,不同之处在于从服务器应用程序接收的数据会被求值并转换为数值或文本数据。
示例
另请参阅 dde

Decrement

运算符 x--、--x,递减存储的值

类别 说明
格式 --x x--
参数 (node) x 现有节点、变量、对象属性或列表元素的名称
返回 (num) x-- 返回 x 的值 --x 返回 x 的值减一
说明 x-- 和 --x 都将 x 的值减一。但是,x-- 返回 x 递减之前的值,而 --x 返回递减之后的值。
示例
另请参阅 IncrementSubtract

default

关键字 - 标识 switch 语句中的默认分支

类别 说明
格式 default: code
说明 关键字 - 标识 switch 语句中的默认分支
另请参阅 switch

Define

运算符 x:=y,创建新节点

类别 说明
格式 x(args):=y
参数 (node) x 节点名称;必须以 下划线、$ 或字母 a-z 或 A-Z 开头 (args) 可选的输入参数列表 [any] y 节点公式
返回 null
说明 创建新节点。Define 通常用于在公式栏中创建节点。但是,它也可以在节点公式内部使用,使该节点在求值时创建新节点。
示例
另请参阅 AssignEqual

deg

度,角度度量单位

类别 说明
格式 deg
定义为 def=PI/180
另请参阅 PI预定义单位基本单位

Delete

运算符 delete x.y,删除对象属性

类别 说明
格式 delete x.y
参数 (object) x 对象名称 (node) y 属性名称
返回 null
说明 此运算符从名为 x 的对象中删除名为 y 的属性。
示例
另请参阅 newProperty

deletefile

删除磁盘文件

类别 说明
格式 deletefile(file)
参数 {text} file 要删除的文件的名称
返回 {text} file
说明 此原语删除一个或多个文件。 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住反斜杠字符在文本字面量中必须输入两次(例如 "c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 copyfilecreatedirectorydirremovedirectory

derivative

函数的偏导数

类别 说明
格式 derivative(f(x),x,x0)
参数 (num) f(x) 要求导的函数或表达式 (node) x f(x) 中输入变量的名称 (num) x0 计算导数的点
返回 (num) f(x)x=x0 处沿实方向的导数
说明 derivative 等价于标准数学表达式 f(x) 可以是任意数量变量的函数。derivative 仅计算 f(x) 关于 x 的偏导数。 derivative 是近似函数,不受 precision 设置的容差约束。此原语创建名为 x 的临时变量。如果已存在名为 x 的节点,则在 f(x) 的所有求值中将其替换,然后恢复其原始状态。
注意 如果表达式 f(x) 是基于 x 的树节点而非函数,则必须使用 reset 原语使树在每次迭代时重新计算。常量保留其首次求值时的值,并在所有后续求值中返回该值。要使常量重新求值,请使用类似以下的表达式 derivative({reset,f},x,x0) 而不是 derivative(f,x,x0)
示例
另请参阅 integralprecisionreset

determinant

矩阵的行列式

类别 说明
格式 determinant(a)
参数 [num] a 输入矩阵
返回 (num) 矩阵 a 的行列式
注意 矩阵 a 的行数必须与列数相同。
示例
另请参阅 tableformtransAddSubtractMultiplyDividePower

dialog

创建自定义对话框或 HTML 表单用于用户输入/输出

类别 说明
格式 dialog(template,buttons,values,title,fill,envelope) _dialog(template,buttons,values,title,fill,envelope)
参数
返回 [any] 按 template 参数指定的顺序为每个输入字段返回的值列表
说明 dialog 使用本地对话框或远程 HTML 表单提供用户输入和输出。这是所有其他用户输入和输出函数(如 say、asknumber、asktext 等)所使用的基础函数,也就是说,所有这些函数都是使用 dialog 定义的软原语。请查看文件 Default IO.dsb 以了解这些函数使用的确切定义。 此原语有两个版本:dialog 和 _dialog。两个版本的行为方式相同,只是 dialog 会在历史文件中记录活动,而 _dialog 不会。除显式将自己的数据写入历史文件的情况外,应始终使用 dialog。 输入表单的布局在 template 参数中定义。此参数包含表单中显示的所有文本,以及在应显示输入字段的位置放置的一串填充字符(例如 ^^^^)。 values 参数是一个列表,按从左到右、从上到下的顺序为 template 中的每个输入字段提供默认值。 如果使用 Yes/No/Cancel 按钮,dialog 仅在选择 Yes 时返回 true,选择 No 时返回 false,选择 Cancel 时终止脚本。如果使用 OK/Cancel 按钮(默认),则返回与每个输入字段对应的值列表。可以使用列表元素运算符 x[y] 从该列表中选取特定值。 当逻辑前瞻处于活动状态时,此函数会被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。 表单可以包含八种输入字段类型:单行文本框、滚动文本框、复选框、单选按钮、下拉菜单、列表框、按钮和文件请求。还可以包含表格、屏幕图像、隐藏字段和自定义提交按钮。下面描述每种表单元素。 单行文本框 ^code=value;^^^^^^^^^^^ 在模板中应显示文本框的位置输入一串填充字符(例如 ^^^^^^^)即可创建文本框。框的长度由填充字符串的长度决定。 默认情况下,文本框返回用户输入的完全相同文本。但是,可以在第一个填充字符后使用类型代码来验证用户输入并将此文本转换为其他类型。例如,^(int)^^^^^^^^ 会验证用户输入并将其转换为整数。如果用户输入无效,则显示错误消息,表单保持打开状态,直到用户输入适当的值。数据类型代码可以是以下任意值:
N2: ^(Real)^^^^^^^^
C1: ^(Chr)="Text";^^^^^^ **滚动文本框** ^EDIT width height=value; 滚动文本框通过输入单个填充字符后跟 EDIT 和框大小来创建。 width 和 height 参数后面应分别跟 c、r 或 p 度量单位字符。使用 c 表示列,r 表示行,p 表示像素。例如,^EDIT 40c 3r 创建一个宽 40 列、高 3 行的滚动文本框。 可以使用 values 参数或在 height 参数后放置 =value; 来指定文本框中放置的初始文本。 示例: Notes: ^EDIT 10c 3r
Notes: ^EDIT 10c 3r="Text"; **复选框** ^{option name}=value; 复选框通过放置单个填充字符后跟用大括号 { } 括起的复选框名称来创建。可以使用 *values* 参数或在尾随大括号后放置 =1; 或 =0; 来设置初始复选框状态。复选框始终返回 **true** 或 **false**,其中 **true** 表示框已选中。 示例: ^{Option 1}
^{Option 2}=1;
^{Option 3} **单选按钮** ^\*option name\*=value; 单选按钮通过放置单个填充字符后跟用星号 \* \* 括起的单选按钮名称来创建。如果按钮之间没有其他字段分隔,则一系列单选按钮被视为一个组(即组中一次只能选择一个按钮)。可以使用 *values* 参数或在尾随星号后放置 =1; 或 =0; 来设置初始单选按钮状态。单选按钮返回 **true** 或 **false**,其中 **true** 表示选项已选中。 示例: ^Option 1
^Option 2=1;
^Option 3 **下拉菜单** **^MENU**=\[index,selectionlist\]; 要创建下拉菜单,请输入单个填充字符后跟 MENU 和可选的输入值列表。例如,^MENU=\[1,\[&quot;Option1&quot;,&quot;Option2&quot;,&quot;Option3&quot;\]\]; 显示一个包含三个项目(Option 1、Option 2 和 Option 3)的菜单,其中第一个项目初始为选中状态。 下拉菜单返回形式为 \[*Index,SelectionList*\] 的列表,其中 *Index* 是用户选择的项目编号。*SelectionList* 保持不变。使用函数 selecteditem 从结果列表中提取用户的选择。 示例: ^MENU=[1,[
"Option1",
"Option2",
"Option3"
]]; **列表框** **^SELECT height**=\[index,selectionlist\]; 列表框的行为与下拉菜单类似,只是框高于一行,因此可以一次显示多个项目。通过输入单个填充字符后跟 SELECT 和可选的输入值列表来创建列表框。例如,^SELECT&nbsp;5r=\[3,1..10\]; 显示一个高五行、包含 10 个项目(数字 1 到 10)的框,其中第三个项目初始为选中状态。 列表框返回形式为 \[Index,SelectionList\] 的列表,其中 Index 是用户选择的项目编号。SelectionList 保持不变。使用函数 selecteditem 从结果列表中提取用户的选择。 示例: ^SELECT 5r=[3,1..10]; **按钮** ^/ button name / 按钮的外观和行为与标准提交按钮相同,只有一个例外。如果用户使用按钮提交表单,则按钮名称会附加到结果列表中。只需查看结果列表中的最后一项即可确定用户使用哪个按钮提交了表单。按钮通过放置单个填充字符后跟用正斜杠字符括起的按钮名称来创建。 示例: ^/Help/ **文件请求** **^GETFILE**^^^^^^^^^^ 此输入字段用于上传用户计算机上文件的内容。该字段显示为单行文本框后跟一个 Browse 按钮。提示用户在文本框中输入文件名或使用 Browse 按钮选择。此元素返回所选文件的内容。 如果在 HTML 表单中使用此输入字段,则必须更改信封以使用多部分编码发送数据。方法是将以下行
替换为 <form action="dscript" method="post"
enctype="multipart/form-data"> 示例: ^GETFILE^^^^^^^^^^ **表格** **^t**column 1 text **^t**column 2 text ...^T 表格对于垂直对齐输入字段和数据项非常有用。只需在表格中的每个项目前放置 ^t 即可创建表格。例如, ^tCell1 ^tCell2
^tCell3 ^tCell4^T 注意 ^t 与制表符不同,^t 代码必须放在每行第一个项目之前以及每列项目之间。 要结束表格,请插入空行或在最后一个表格项目后放置大写 ^T。开始表格不需要特殊代码。表格只需从第一次出现 ^t 开始。 示例: ^tName: ^t^(Chr)^^^^^^^^^^
^tAddress: ^t^(Chr)^^^^^^^^^^
^tPhone: ^t^(chr)^^^^^^^^^^ ^T **屏幕图像** ^SHOW sheetname width height 除了标准输入控件外,表单还可以包含脚本中任何树、图形或表格的图像。Sheetname 是要显示的工作表名称。Width 和 height 定义图像的大小。 示例: ^SHOW Graph1 40c 10r ``` 隐藏字段 ^% 隐藏字段用于在输出列表中插入虚拟值。这允许在结果列表中留出值的位置,以便于处理结果。隐藏字段的行为与输入字段相同,只是它不会显示在输出表单中。隐藏字段在结果列表中返回空字符串 ""。 自定义提交按钮 除了 buttons 参数中用于指定显示哪些提交按钮的四个样式代码外,还可以创建自定义样式代码,单独指定要包含的按钮。通过将要包含的每个按钮的代码值相加来创建此代码。例如,使用代码 BTN_BACK+BTN_DONE 包含 Back 和 Done 按钮。 按钮
另请参阅 sayasknumberaskyesnoasktextaskmultitextasknumberchoosedialogrootformList ElementLogical And、[Logical Or](#logical_or "运算符 x

dialogbuttons

指示显示哪些 dialog() 按钮的数字代码

类别 说明
格式 dialogbuttons
参数
说明 指示显示哪些 dialog() 按钮的数字代码

dialogparam

为对话框和表单提供默认值的全局对象

类别 说明
格式 _dialogparam.parameter
参数 (text) title 默认窗口标题的可选文本;默认值 = ""。 (text) header 默认对话框页眉的可选文本;默认值 = ""。 (text) footer 默认对话框页脚的可选文本;默认值 = ""。 (text) fill 用于定义默认输入字段的可选文本;默认值 = "^"。 (text) envelopeName HTML 表单信封名称的可选文本;默认值 = "Standard.htm"。(仅包含文件名,不包含文件的完整路径。该文件必须与应用程序文件位于同一目录,或位于 Envelopes 目录中。) (text) backName 默认对话框“返回”按钮的可选文本;默认值 = " Back "。 (text) okName 默认对话框“确定”按钮的可选文本;默认值 = " OK "。 (text) nextName 默认对话框“下一步”按钮的可选文本;默认值 = " Next "。 (text) finishName 默认对话框“完成”按钮的可选文本;默认值 = " Finish "。 (text) cancelName 默认对话框“取消”按钮的可选文本;默认值 = " Cancel "。 (text) yesName 默认对话框“是”按钮的可选文本;默认值 = " Yes "。 (text) noName 默认对话框“否”按钮的可选文本;默认值 = " No "。 (text) helpName 默认对话框“帮助”按钮的可选文本;默认值 = " Help "。 (text) sequenceMessage 默认对话框序列文本的可选文本块;默认值 = "Important:
\n
\nDo not use the Back button on your browser's toolbar to navigate. Instead, use only those buttons found inside the document window.
\n
\nClick OK to continue."。
返回值 [text] 对象,包含按参数列表中顺序排列的每个参数的默认值列表
说明 _dialogparam 是一个全局对象,为所有本地对话框或远程 HTML 表单提供默认值。其中大多数属性可在 Studio 的“工具”菜单中的“脚本选项”中设置。_dialogparam 通常用于为特殊目的修改默认对话框参数,例如将按钮文本更改为其他语言。要创建对话框,请使用 dialog 参数
示例 ``` Set Dialogparam():={
_dialogparam.envelopeName="NewEnvelope.htm";
_dialogparam.title="Today's Weather";
_dialogparam.header="Local Weather";
_dialogparam.footer="The Weather Service 2009";
_dialogparam.sequenceMessage="Click the Last page button on the Web page to return to the last page";
_dialogparam.yesName="Yes";
_dialogparam.noName="No";
_dialogparam.backName="Last page";
_dialogparam.nextName="Next page";
_dialogparam.okName="OK";
_dialogparam.cancelName="Cancel";
_dialogparam.finishName="Done";
} ```
另请参阅 dialogdialogrootdialogtemplateformsetlanguage

dialogroot

为对话框输入表单添加“返回”按钮

类别 说明
格式 dialogroot(node,historyfile,initialize)
参数 [any] node 任意有效表达式或节点名称 (text) historyfile 用于存储会话历史记录的文件的可选名称;默认值=不存储历史记录 (bool) initialize 可选标志,指示是否应重放历史文件;如果 historyfile 存在,默认值=true
返回值 [any] 对 command 求值的结果
说明 dialogroot 原语用于在提示用户输入的脚本中为输入表单添加返回按钮。返回按钮允许正在执行脚本的用户返回到上一个表单,以更改其提供的数据。此功能对于创建向导式专家系统非常有用。 将 dialogroot 放在脚本中的根节点周围。例如,如果您的根节点定义为 Root:=Run Script 请将其更改为 Root:=dialogroot(Run Script) 当用户选择表单上的“返回”按钮时,脚本会重置,并从包含 dialogroot 原语的节点开始重新执行。dialogroot 会保留对先前表单请求的所有响应的历史记录,以便可以自动重放。从用户的角度来看,脚本似乎只是回退到了上一个表单。实际上,整个脚本执行会重复进行,直到到达上一个表单。 如果 historyfile 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住反斜杠字符在文本字面量中必须输入两次(例如,使用 "c:\temp.txt" 而不是 "c:\temp.txt")。
另请参阅 dialog

dialogtemplate

附加到节点的 HTML 表单文本

类别 说明
格式 dialogtemplate(namespec)
参数 {node} namespec 可选节点名称;默认值=activenode
返回值 {text} 附加到 namespec 中每个节点的表单窗口文本
说明 每个节点都有一个附加表单,用于输入格式化文本。通常,您使用此表单输入通过某个输入和输出函数向用户显示的文本。如果您的应用程序通过 Web 运行,则 dialogtemplate 的结果是包含所有格式代码的 HTML 文本。如果您的应用程序在本地运行,则会移除所有 HTML 格式代码,仅返回纯文本。
另请参阅 activenodedialogcomment

different

仅属于多个输入列表中任意一个列表的所有元素

类别 说明
格式 different(set1,set2,...)
参数 [any] set1set2、... 输入集合
返回值 [any] 仅属于任意单个集合的所有元素列表,不含重复项
示例
另请参阅 unionintersect

dim

带维度的变量数组

类别 说明
格式 dim(n1,n2,...)
参数 (int) n1n2、… 每个维度中的元素数量
返回值 [int] 由 n1n2、... 指定维度的零数组
说明 dim 原语用于初始化一个变量数组,稍后使用 Assign 运算符为其赋值。如果仅提供一个参数,例如 dim( n1 ),则创建一个包含 n1 个零的列表。如果提供两个参数,例如 dim( n1, n2 ),则创建一个 n1 行 n2 列的矩阵。此模式适用于任意维度的数组。
示例
另请参阅 Assignmakelist

dir

与指定规范匹配的文件列表

类别 说明
格式 dir(filespec,folders,sort,hidden)
参数 (text) filespec 可选文件规范;默认值="*.*" (bool) folders 可选标志,用于包含文件夹;默认值=false (bool) sort 可选标志,用于按日期对文件排序;默认值=false (bool) hidden 可选标志,用于包含隐藏文件和文件夹;默认值=true
返回值 [text] 文件名列表
说明 dir 返回磁盘上与您提供的规范匹配的文件列表。
示例
另请参阅 getfileprogramdirwinexec

Discount Rate

pvx 原语使用的保留节点名称

类别 说明
格式 Discount Rate
参数
说明 pvx 原语使用的保留节点名称

Divide

运算符 x/y,数值除法

类别 说明
格式 A/B
参数 [num] AB 要相除的任意实数、复数、向量或矩阵
返回值 [num] A 除以 B
说明 根据输入数据的适用情况,使用以下方法之一执行除法: 如果 A 是数组且 B 是单个数字,则 A 中的每个元素都除以 B: 如果 A 是单个数字且 B 是数组,则 A 除以 B 中的每个元素: 如果 AB 都是长度相同的列表,则 AB 中对应的元素相除: 如果 AB 是矩阵,且 A 的列数等于 B 的行数,并且 B 是方阵: 在所有情况下,元素在适用时使用复数除法相除:
示例
另请参阅 Multiply

Do Primitive

运算符 @x,执行原语

类别 说明
格式 @x
参数 (node) x 原语的名称
返回值 [any] x 的值
说明 每个原语都可以通过创建同名节点来取代。运算符 @ 可用于公式中,以明确指定要计算的是原语,而不是同名的用户定义节点。
示例
另请参阅 primitive

do/while

关键字 - 定义 do()..while() 循环

do/while 语句与 while 非常相似。唯一的区别在于 expression 和 statement 的求值顺序。此语句的格式为

do
                statement
        while( expression );

do/while 语句首先执行 statement,然后对 expression 求值。如果 expression 为 true,则重复该过程。如果 expression 为 false,则循环终止。

do/while 将始终至少执行一次 statement,即使 expression 在第一次求值时即为 false。相比之下,while 仅在 expression 求值为 true 后才执行该语句。

前面的示例(将 1 到 10 之间所有整数的平方相加)可以修改为使用 do/while 语句,如下所示:

var total=0,n=1;
                do {
                total+=n*n;
                n++;
        } while(n<=10);

docname

活动模型或脚本的完整路径和文件名

类别 说明
格式 docname
参数
返回值 (text) 活动文档(模型或脚本)的完整路径和文件名
另请参阅: programdir

document

用于以编程方式控制模型的主文档对象

类别 说明
格式 document
参数
返回值 (object) 对文档对象的引用
说明 document 用于读取和修改现有工作表的内容。您可以通过以下任一方式引用现有文档: var x="sheetname"; document[x].property=value; 或者, document.sheetname.property=value;
另请参阅 insertdatasheetinsertdiagramsheetinsertgraph3insertreportsheetinserttableinserttextsheetinserttreesheettopsheet

dolist

关键字 - 将函数应用于并行的输入数据列表

类别 说明
格式 dolist code
说明 关键字 - 将函数应用于并行的输入数据列表
另请参阅 dolist and domatrix

dolist and domatrix

关键字 - 将函数应用于输入数据列表

函数定义后,即使该函数未针对列表定义,也可以将其应用于参数值列表。这 通过 dolist 和 domatrix 关键字实现。这些语句的格式为

dolist f(x,y)
domatrix f(x,y)

例如,假设您已定义函数

Quad(x):=x*x+5x+3

接下来,假设您要将此函数应用于名为 Points 的列表中的每个元素:

Points:=[1,2,3,4,5]

您可以使用以下表达式完成此操作

dolist Quad(Points)

这将产生结果 [9,17,27,39,53]。

如果您提供的函数仅接受一个参数 f(x),则 dolist 和 domatrix 的作用相同。即,

dolist f(a) = [f(a[0]),f(a[1]),f(a[2]),...]
domatrix f(a) = [f(a[0]),f(a[1]),f(a[2]),...]

例如,

dolist F(1..4) = [F(1),F(2),F(3),F(4)]

如果您提供的函数接受多个参数 f(x,y),则 domatrix 会导致应用所有参数的所有排列, 而 dolist 将参数列表视为并行的。即,

dolist f(a,b) = [
  f(a[0],b[0]),
  f(a[1],b[1]),
  f(a[2],b[2]),
  ...
]
domatrix f(a,b) = [
  [f(a[0],b[0]),f(a[0],b[1]),f(a[0],b[2]),...],
  [f(a[1],b[0]),f(a[1],b[1]),f(a[1],b[2]),...],
  [f(a[2],b[0]),f(a[2],b[1]),f(a[2],b[2]),...],
  ...
]

例如,如果您将 f(x,y) 定义为

Multiply(x,y):=x*y

那么,表达式

dolist Multiply(1..10,1..10)

产生 10 个元素的向量

1
4
9
25
36
49
64
81
100

然而,表达式

domatrix Multiply(1..10,1..10)

产生 100 个元素的矩阵

1  2  3  4  5  6  7  8  9  10
 2  4  6  8 10 12 14 16 18  20 
 3  6  9 12 15 18 21 24 27  30 
 4  8 12 16 20 24 28 32 36  40 
 5 10 15 20 25 30 35 40 45  50 
 6 12 18 24 30 36 42 48 54  60 
 7 14 21 28 35 42 49 56 63  70 
 8 16 24 32 40 48 56 64 72  80 
 9 18 27 36 45 54 63 72 81  90 
10 20 30 40 50 60 70 80 90 100

dolist 和 domatrix 关键字可用于任何函数,包括原语和用户定义函数。此外, 列表参数可以包含其他列表或矩阵作为元素。即,dolist F([A,B,C]) = [F(A),F(B),F(C)],即使 A、B 和 C 本身是列表或矩阵。

Dollar

美元,货币计量单位

类别 说明
格式 $
定义为 基本单位
另请参阅 Predefined UnitsBase Units

domatrix

关键字 - 将函数应用于独立的输入数据列表

类别 说明
格式 domatrix code
说明 关键字 - 将函数应用于独立的输入数据列表
另请参阅 dolist and domatrix

drand

来自离散分布的伪随机数

类别 说明
格式 drand(x1,x2)
参数 (int) x1 可选下限;默认值=0 (int) x2 可选上限;默认值=1
返回值 (int) 介于 x1x2 之间(含端点)的伪随机整数
说明 drand 生成一个随机数,其取值为下限和上限之间任意整数的可能性相等。 drand 生成的数字序列的周期实际上是无限的。此外,不存在明显的顺序相关性。
示例
另请参阅 brandbetarandcorrelatecrandgrandlrandnrandprandrandsetrandtrandwrand

dt

基于时间的模型中的期间长度

类别 说明
格式 dt
参数
返回值 (unit) 基于时间的模型中的期间长度
说明 在动态预测分析中,使用 t 返回当前期间编号,或使用 tx 返回当前期间的日期和时间序列号。t0dt 分别返回起始期间和期间长度。
示例
另请参阅 Time AssignmentTime Valuepvxtt0tx

dtype

数据类型标识符(数字、文本等)

类别 说明
格式 dtype(data)
参数 [any] data 输入数据
返回值 (int) 标识输入数据类型的代码
说明 返回的代码可以是以下任意值:
示例
另请参阅 Value Ofexists

dyne

达因,力的计量单位

类别 说明
格式 dyne
定义为 dyne=cm*gm/sec^2
另请参阅 cmgmsecPredefined UnitsBase Units

E

2.71828

类别 说明
格式 E
参数
返回值 (real) 2.718281828459045
示例
另请参阅 explog

each

将函数应用于列表中的每个元素

类别 说明
格式 each(f(x),x,list,groupn)
参数 [any] f(x) 转换函数 (node) x f(x) 中输入变量的名称 [any] list 要转换的元素列表 (int) groupn 可选,在每次对 f(x) 求值时,将 list 中连续元素分组在一起的数量;默认值=1
返回值 [any] f(x) 的列表,其中 x 等于 list 中每个连续元素或元素组
说明 each 创建一个名为 x 的临时变量,然后通过将 x 设置为等于 list 中的每个元素并重复对 f(x) 求值来构造列表。即:
注意 如果表达式 f(x) 是树节点而不是基于 x 的函数,则必须使用 reset 原语使树在每次迭代时重新计算。常量会保留其第一次求值时的值,并在所有后续求值中返回该值。要使常量重新求值,请使用类似于 each({reset,f},x,list) 的表达式,而不是 each(f,x,list)
示例
另请参阅 Dolist and Domatrixbothmakelisteachnreset

eachn

将函数应用于列表中带递增索引的每个元素

类别 说明
格式 eachn(f(x,n),x,n,list)
参数 [any] f(x,n) 转换函数 (node) x f(x,n) 中输入变量 x 的名称 (node) n f(x,n) 中输入变量 n 的名称 [any] list 要转换的元素列表
返回值 [any] f(x,n) 的列表,其中 x 等于 list 中的每个连续元素,n 等于迭代编号(从 1 开始)
说明 eachn 创建名为 xn 的临时变量,然后通过将 x 设置为等于 list 中的每个元素、将 n 设置为等于迭代编号(1,2,...),并重复对 f(x,n) 求值来构造列表。即:
注意 如果表达式 f(x,n) 是树节点而不是函数,则必须使用 reset 原语使树在每次迭代时重新计算。常量会保留其第一次求值时的值,并在所有后续求值中返回该值。要使常量重新求值,请使用类似于 eachn({reset,f},x,n,list) 的表达式,而不是 eachn(f,x,n,list)
示例
另请参阅 Dolist and Domatrixbothmakelisteach

elapsedtime

当前模型已打开的时间量

类别 说明
格式 elapsedtime
参数
返回值 (real) 当前模型已打开的秒数
说明 返回当前模型已打开的秒数
示例
另请参阅 now

emv

期望货币值

类别 说明
格式 emv(p1,v1,p2,v2,...)
参数 (real) p1p2、... 配对值实现的概率 (real) v1v2、... 配对值
返回值 (real) 某个不确定事件的期望货币值
说明 期望货币值使用以下公式计算 其中 如果未应用风险厌恶,或者 如果应用了风险厌恶。
示例
另请参阅 maxAccumulatemkvnoriskaversion

endnodes

树或分支中所有结束节点的名称

类别 说明
格式 endnodes(root,all)
参数 (text) root 要返回其结束节点的分支中根节点的名称 (bool) all 可选标志,指示是否应将未定义节点包含在列表中;默认值=false
返回值 (text) 指定分支中所有结束节点的列表
说明 endnodes 返回一个文本字符串列表,其中包含从 root 开始的分支中所有结束节点的名称。如果节点没有附加子节点,则该节点为结束节点。
另请参阅 alltreelistrootnodeselectednodeinputsoutputs

env

从 Web 服务器获取 HTML 请求标头数据

类别 说明
格式 env(name)
参数 (text) name 所需请求标头字段的名称
返回值 (text) 名为 name 的请求标头字段的值(如果该字段存在),否则为 null
说明 从 Web 服务器获取 HTML 请求标头数据。将 name 设为 "*" 可请求整个标头。以下是 name 的其他一些常见值: - Accept - Accept-Encoding - Accept-Language - Connection - Content-Length - Content-Type - Cookie - Host - IP Address - Query - String - Referer - User-Agent
示例
另请参阅 readcookiehostipaddress

Equal

运算符 x==y,比较是否相等

类别 说明
格式 x==y
参数 [any] xy 要比较的值
返回值 (bool) 如果 x 等于 y,则为 True,否则为 false
注意 True 等于所有非零数字。文本字符串必须完全匹配(包括大小写)才相等。列表和矩阵按元素逐一比较。
示例
另请参阅 comparetruefalseDefineAssignNot EqualGreater thanGreater than or equalLess ThanLess Than or Equal

erg

尔格,能量计量单位

类别 说明
格式 erg
定义为 erg=dyne*cm
另请参阅 dynecmPredefined UnitsBase Units

err

设置错误标志并终止计算

类别 说明
格式 err
参数
返回值 错误
说明 设置错误标志并终止当前应用程序的执行。
另请参阅 mask

escape

将文本字符串中的保留字符替换为 %nn 代码

类别 说明
格式 escape(text)
参数 (text) text 输入文本
返回值 (text) 特殊字符已替换为 %nn 代码的 Text
说明 将字母、数字和符号以外的字符替换为 %nn 代码
示例
另请参阅 unescapehtmlencodestriphtml

ev

电子伏特,能量计量单位

类别 说明
格式 ev
定义为 ev=1.6021892e-19*joule
另请参阅 joulePredefined UnitsBase Units

eval

编译并求值文本字符串

类别 说明
格式 eval(text,intl)
参数 {text} text 包含任意有效 DScript 表达式的文本字符串 (bool) intl 可选标志,用于将 text 从国际格式转换为所需的内部格式;默认值=true
返回值 {any} 对表达式 text 求值的结果
说明 Eval 将文本字符串作为 DScript 命令进行编译和求值。如果 text 包含字符串列表,则返回求值结果列表。
示例
另请参阅 tonumbertolist

ExecInitLog

清除会话历史记录(ExecLog)的内容

类别 说明
格式 ExecInitLog
参数
说明 清除会话历史记录(ExecLog)的内容

ExecLog

会话历史记录

类别 说明
格式 ExecLog
参数
说明 会话历史记录

ExecQuery

获取传递给脚本的参数值

类别 说明
格式 ExecQuery
参数
返回值 包含传递给脚本的参数的对象
说明 如果向脚本传递命名参数,则可以使用 ExecQuery 对象读取参数值。例如,如果使用以下 URL 启动脚本: myscript.dsb?A=23&B=45 则 ExecQuery.A 为 23。类似地,ExecQuery.B 为 45
另请参阅 env

ExecWriteLog

将新文本追加到会话历史记录(ExecLog)

类别 说明
格式 ExecWriteLog(query,response,node)
参数 [any] query [any] response [any] node
说明 将新文本追加到会话历史记录(ExecLog)

exists

测试节点是否存在

类别 说明
格式 exists(name,evaluate)
参数 (node) name 节点名称 (bool) 可选标志,用于执行 name;默认值 = false
返回值 (int) 指示节点 name 是否存在的代码
说明 此原语用于测试特定节点是否存在。返回的代码指示该节点是原语、用户定义节点还是其他类型。以下是可能的代码值列表:
示例
另请参阅 showdtypetypeof

exit

关闭所有文档并终止主应用程序

类别 说明
格式 exit
参数
返回值 null
说明 此原语关闭所有活动文档(模型或脚本)并终止主应用程序。exit 在通过 DDE 接收的命令中很有用。
另请参阅 closeopen

exp

指数(E^x)

类别 说明
格式 exp(x)
参数 {comp} x 任意实数或复数
返回值 {comp} x 的指数(E 的 x 次幂)
示例
另请参阅 ElogPowersafeexp

expandbranch

为其所在节点创建子节点

类别 说明
格式 expandbranch(node)
参数 [any] node 要创建的子节点的名称
返回值 (text) 节点名称
说明 expandbranch 为其所在节点创建子节点
示例
另请参阅 rootdocumentProgrammatic Control

Factorial

运算符 x!,数字的阶乘

类别 说明
格式 x!
参数 [int] x 介于 0 和 170 之间的输入值
返回值 [int] x 的阶乘
说明 数字 x 的阶乘是 1 到 x 之间所有整数的乘积。例如,5! 等于 1*2*3*4*5。0 的阶乘定义为 1。
示例
另请参阅 Logical Not

false

逻辑假

类别 说明
格式 false
参数
返回值 (bool) false
说明 false 在数值和逻辑上等于 0。
示例
另请参阅 trueyesno

farad

法拉,电容计量单位

类别 说明
格式 farad
定义为 farad=coul/volt
另请参阅 coulvoltPredefined UnitsBase Units

fft

快速傅里叶变换

类别 说明
格式 fft(list)
参数 [num] list 时域中的输入数据点
返回值 [num] list 中数据的快速傅里叶变换
说明 fft 使用快速傅里叶变换算法将 list 中的时间序列数据转换为其频谱分量。结果是一个复数列表,表示每个频谱分量的幅度和相位。 为获得最佳性能,list 中的数据点数量应为 2 的幂(例如 2、4、8、16、32、64、128、256 等)。如果数据点数量不是 2 的幂,则 fft 使用快速傅里叶变换和离散傅里叶变换算法的组合。
示例
另请参阅 invfft

file_close

关闭由 file_open 或 file_create 打开的文件

类别 说明
格式 file_close(hfile)
参数 (int) hfilefile_openfile_create 创建的文件的句柄
返回值 null
说明 关闭由 file_open 或 file_create 打开的文件。
示例 var hfile=file_create("c:\\test\\data.txt"); file_write(hfile,"Line1\r\n"); file_write(hfile,"Line2\r\n"); file_close(hfile);
另请参阅 file_createfile_openfile_writefile_readreadwriteappend

file_crreate

创建并打开新文件

类别 说明
格式 file_create(file)
参数 (text) file 要创建的文件的文件路径和名称
返回值 (int) 由 file_readfile_writefile_close 函数使用的文件句柄
说明 创建文件(如果文件已存在则覆盖)并返回可用于操作该文件的文件句柄。
示例 var hfile=file_create("c:\\test\\data.txt"); file_write(hfile,"Line1\r\n"); file_write(hfile,"Line2"); file_close(hfile);
另请参阅 file_closefile_openfile_writefile_readreadwriteappend

file_open

打开现有文件

类别 说明
格式 file_open(file)
参数 (text) file 要打开的文件的文件路径和名称
返回值 (int) 由 file_readfile_writefile_close 函数使用的文件句柄
说明 打开文件(如果文件不存在则创建)并返回可用于操作该文件的文件句柄。
示例
另请参阅 file_closefile_createfile_writefile_readreadwriteappend

file_read

从文件读取数据

类别 说明
格式 file_read(hfile,bytes)
参数 (int) hfilefile_openfile_create 创建的文件的句柄 (int) bytes 要从文件中读取的字节数
返回值 (text) 从文件中读取的文本
说明 从已打开或新建的文件中读取文本。
示例
另请参阅 file_closefile_createfile_writefile_openreadwriteappend

file_write

将数据写入文件

类别 说明
格式 file_write(hfile,data)
参数 (int) hfilefile_openfile_create 创建的文件的句柄 (text) data 要写入文件的数据
返回 (text) 写入文件的文本
描述 将文本写入已打开或新建的文件
示例 var hfile=file_create("c:\\test\\data.txt"); file_write(hfile,"Line1\r\n"); file_write(hfile,"Line2"); file_close(hfile);
另请参阅 file_closefile_createfile_readfile_openreadwriteappend

filedate

返回文件的最后修改日期

类别 说明
格式 filedate(file)
参数 (text) file 文件名(与所有文本字符串一样,反斜杠字符 () 必须输入两次 (\),以表示字面反斜杠,而非控制代码的开头)
返回 (unit) 文件的最后修改日期,以日期序列号表示
示例
另请参阅 filesizedatedatetimetime

filesize

返回文件的大小,以字节为单位

类别 说明
格式 filesize(file)
参数 (text) file 文件名(与所有文本字符串一样,反斜杠字符 () 必须输入两次 (\),以表示字面反斜杠,而非控制代码的开头)
返回 (int) 文件的大小,以字节为单位
示例
另请参阅 filedate

find

子字符串在字符串中的位置

类别 说明
格式 find(text,substring,start)
参数 (text) text 输入文本字符串 (text) substring 要查找的目标子字符串 (int) start 可选的搜索起始位置;默认值=0
返回 (int) substringtext 中的位置
描述 定位 substringtext 中首次出现的位置。如果指定了 start,则搜索从该字符位置开始。如果未找到匹配项,find 返回 -1。
示例
另请参阅 substring

findlast

子字符串在字符串中最后一次出现的位置

类别 说明
格式 findlast(text,substring,start)
参数 (text) text 输入文本字符串 (text) substring 要查找的目标子字符串 (int) start 可选的搜索起始位置;默认值=text 的长度 - 1
返回 (int) substringtext 中最后出现的位置
描述 定位文本片段在字符串中最后一次出现的位置
示例
另请参阅 find

firsttrue

列表中第一个求值为 true 的参数名称

类别 说明
格式 firsttrue(a,b,...)
参数 (bool) ab、… 任意有效的布尔表达式
返回 (text) 返回第一个 true 值的参数的文本
描述 Firsttrue 按顺序对表达式 a, b, ... 求值,并在某个参数返回 true 布尔值时立即停止对参数的求值。Firsttrue 返回结果为 true 值的表达式。 此原语在构建基于规则的应用程序的根节点时很有用。通常,基于规则的应用程序的根节点形式为 Root:=firsttrue(Option1,Option2,...) Option1Option2、… 是分支的名称,这些分支使用规则集分别测试相互竞争的选项的有效性。
示例
另请参阅 bestmaxLogical And、[Logical Or](#logical_or "运算符 x

fl_oz

液量盎司,体积计量单位

类别 说明
格式 fl_oz
定义 fl_oz=231/128*in^3
另请参阅 inPredefined UnitsBase Units

flatten

从矩阵或列表的列表创建扁平列表

类别 说明
格式 flatten(a)
参数 [any] a 分层列表或矩阵
返回 [any] 展平为一层的输入列表
描述 在 DScript 中,可以指定包含子列表作为元素的列表。例如,这就是指定二维矩阵的方式。flatten 原语将所有子列表合并,创建一个单一的扁平列表。如果列表已经只包含一个维度,则不会更改。
示例
另请参阅 List Literalgroup

floor

向下舍入后的数字整数值

类别 说明
格式 floor(x)
参数 {num} x 任意实数或复数
返回 {num} x 向下舍入到最接近整数的值
描述 floor 将数字向下舍入。如果 x 是复数,则实部和虚部分别舍入。
示例
另请参阅 ceilintegerround

flush

显示输出缓冲区的内容

类别 说明
格式 flush(buttons,values,title,fill,envelope)
参数 (int) buttons 可选代码,指示显示的按钮类型:BTN_DEFAULT = OK/Cancel 或 Back/Next/Cancel(默认) BTN_YESNOCANCEL = Yes/No/Cancel 或 Back/Yes/No/Cancel BTN_NONE = 无按钮 其他 = 参见 dialog [any] values 可选的每个输入字段的默认值列表;默认值=null (text) title 可选窗口标题;默认值="" (text) fill 可选字符,用于定义输入字段;默认值="^" (text) envelope 可选文件名,包含 HTML 表单信封(仅包含文件名,不包含完整路径。该文件必须位于应用程序文件所在目录或 Envelopes 目录中。)
返回 [any] 使用 HTML 输出缓冲区内容作为模板调用 dialog 的结果
描述 将 HTML 输出缓冲区的内容发送到用户的 Web 浏览器
示例
另请参阅 printdialog

for

For...next 循环

whiledo/while 一样,for 语句用于创建执行循环。循环通常包含一个初始化表达式(设置计数器的初始值)、一个测试计数器值的表达式,以及一个改变计数器的递增表达式。 使用 while 时,初始化和递增表达式不是基本语句语法的一部分。相反,它们是单独的语句。for 语句只是将这些附加语句整合为一个复合语句。For 的格式为

for( initialize; test; increment )
  statement

这与 while 语句相同

initialize ;
  while( test ) {
    statement
    increment ;
}

例如,对 1 到 10 之间所有整数的平方求和的代码可以使用 for 创建如下:

var total=0,n;
for(n=1; n<=10; n++)
  total+=n*n;

for 语句不提供任何无法使用 while 实现的功能;它只是允许创建结构更清晰的代码。因此,for 是创建程序循环时最常使用的语句。

另请参阅 Loop Primitives

form

从值列表创建输出表单

类别 说明
格式 form(template,values,fill)
参数 (text) template 描述输出文本格式的文本块 [any] values 每个填充字段的值列表 (text) fill 可选字符,用于定义填充字段;默认值="^"
返回 (text) 与 template 参数类似的文本块,其中所有填充字段均被 values 中对应的元素替换
描述 form 用于创建格式化输出。template 参数包含输出中显示的所有文本,以及在每个填充字段显示位置的一串填充字符(例如 ^^^^)。values 参数中的每个元素被转换为文本字符串,并替换对应的填充字段。如果文本字符串长于对应的字段,则文本被截断。 form 旨在与 dialog 输入原语互补使用。使用 say、write 或 append 原语来输出创建的文本块。
示例
另请参阅 dialogsaywriteappend

ft

英尺,长度计量单位

类别 说明
格式 ft
定义 ft=0.3048*m
另请参阅 inmPredefined UnitsBase Units

Function

Function 对象构造函数

类别 说明
格式 Function(...)
参数 [any] ...
描述 Function 对象构造函数

function

关键字 - 定义一个函数

类别 说明
格式 function(...)
参数 [any] ...
描述 Function 对象构造函数

Function Call

运算符 x(),调用函数

类别 说明
格式 x()
参数 (node) x 函数名称或函数指针
返回 [any] 执行函数 x 的结果
描述 此运算符用于调用函数。
示例
另请参阅 Property

fv

年金的终值

类别 说明
格式 fv(pmt,rate,term)
参数 (real) pmt 定期付款额 (real) rate 定期利率(1=100%) (real) term 期数
返回 (real) term 期每期付款 pmt、每期按定期利率 rate 计息的终值
描述 终值使用以下公式计算:
示例
另请参阅 pvpmttermratenpvirrcf

gal

加仑,体积计量单位

类别 说明
格式 gal
定义 gal=4*qt
另请参阅 qtPredefined UnitsBase Units

gamma

Gamma 函数

类别 说明
格式 gamma(x)
参数 {real} x gamma 函数的参数
返回 {real} gamma 函数的结果
描述 gamma 函数对正实数通过积分定义 当 x 为整数时,gamma 函数简化为阶乘函数 (x-1)!
示例
另请参阅 gammaln

gammaln

Gamma 函数的对数

类别 说明
格式 gammaln(x)
参数 {real} x gammaln 函数的参数
返回 {real} gammaln 函数的结果
描述 gamma 函数的自然对数。
示例
另请参阅 gamma

gate

当逻辑前瞻处于活动状态时停止计算

类别 说明
格式 gate(command)
参数 [any] command 任意有效表达式
返回 [any] command 的值
描述 gate 旨在停止逻辑前瞻。如果某个布尔运算符 And/Or 处于活动状态,且系统正在尝试在不提示用户输入的情况下对布尔表达式求值,gate 会使当前正在探索的分支失败。在所有其他情况下,gate 仅返回参数 command 的值。
另请参阅 Logical And、[Logical Or](#logical_or "运算符 x

gauss

高斯,磁场计量单位

类别 说明
格式 gauss
定义 gauss=1e-4*tesla
另请参阅 teslaPredefined UnitsBase Units

getclipboard

Windows 文本剪贴板的内容

类别 说明
格式 getclipboard(type)
参数 (int) type 返回类型;默认值=0
返回 (text)/[any] 最近一次剪贴板条目的内容,根据 type 的值以文本或数组形式返回
描述 getclipboard 返回最近一次 Windows 剪贴板条目的内容(即来自任何应用程序的复制/剪切操作)。返回的类型取决于 type 参数的值: 0 = 文本 1 = 数组 2 = 链接
示例
另请参阅 read

getfile

使用对话框提示输入文件名

类别 说明
格式 getfile(filespec,title)
参数 (text) filespec 可选的文件规范;默认值="*.*" (text) title 可选窗口标题;默认值=""
返回 (text) 所选文件的完整名称,如果按下 Cancel 则返回 null
描述 getfile 使用对话框提示输入文件名。此对话框包含一个编辑行,用户可以直接键入文件名,还包含一个列表框供用户选择。初始时,编辑行包含 filespec,列表框包含所有匹配此规范的文件。此原语旨在与其他需要文件名作为输入的原语配合使用。 当逻辑前瞻处于活动状态时,此函数被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
示例
另请参阅 dialoggetselectdirLogical And、[Logical Or](#logical_or "运算符 x

getlasterror

检索脚本中的最后一条错误消息

类别 说明
格式 getlasterror
参数
返回 (text) 最后一条错误消息的文本。如果没有错误消息,getlasterror 返回 null
描述 getlasterror 检索脚本中的最后一条错误消息。 通常,getlasterror 与 err 和 mask 配合使用。使用 err 创建自定义错误消息,并使用 getlasterror 显示错误消息。
示例

mask(Do it(0)); if(getlasterror) say("Your error is "+getlasterror);

Do it(a):={ if(a==0) err("You cannot do that"); 1/a; } ``` | = Divide by zero.... | | | 另请参阅 | breakerrmask |

getnode

使用对话框提示输入节点名称

类别 说明
格式 getnode(namespec,title)
参数 [node] namespec 可选的节点列表;默认值=all (text) title 可选标题,显示在对话框框架上;默认值=null
返回 [text] 所选节点的列表
描述 getnode 调用一个屏幕,提示用户输入节点名称。此屏幕包含一个列表框供用户选择。如果指定了 namespec,则列表框包含 namespec 中的所有节点。否则,列表框包含系统中当前活动的所有节点。此原语旨在与其他需要节点列表作为输入的原语配合使用。 当逻辑前瞻处于活动状态时,此函数被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 allgetselecttreelistrootnodeselectednodeendnodesinputsoutputsLogical And、[Logical Or](#logical_or "运算符 x

getselect

提示用户从列表中选择一个或多个项目

类别 说明
格式 getselect(list,note,title)
参数 [any] list 输入列表 (text) note 可选文本,显示在对话框的右下角;默认值="" (text) title 可选标题,显示在对话框框架上;默认值=null
返回 [text] 从 list 中选择的项目
描述 getselect 创建一个对话框,其中包含一个列表框,列出 list 中的所有元素。可以选择任意数量的元素。 当逻辑前瞻处于活动状态时,此函数被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 getnodegetfiledialogLogical And、[Logical Or](#logical_or "运算符 x

gm

克,质量计量单位

类别 说明
格式 gm
定义 gm=kg/1000
另请参阅 kgPredefined UnitsBase Units

gmf

克,力计量单位

类别 说明
格式 gmf
定义 gmf=gm*gravity
另请参阅 gmgravityPredefined UnitsBase Units

grand

来自 gamma 分布的伪随机数

类别 说明
格式 grand(mean,n)
参数 (unit) mean 可选的事件间平均时间;默认值=1 (int) n 可选的事件数量;默认值=1
返回 (unit) 从 Gamma 分布中抽取的伪随机数
描述 grand 原语返回的数字表示在给定事件间平均时间的情况下,一定数量的事件发生所需的时间。例如,一定数量的客户到达所需的时间。grand 返回的结果始终为正数。 如果 n = 1,grand 返回来自指数分布的数字。
示例
另请参阅 randdrandtrandnrandlrandbrandprandwrandbetarandcrandsetrandcorrelate

graph

创建包含折线图、条形图或散点图的 Graph 工作表

类别 说明
格式 graph(data,x,style,title,xlabel,ylabel,legend,analysis,params,formula,yformat,xformat)
参数
返回 null
描述 可以使用 graph 生成一组数据点的图形表示。通过指定多组 y 数据点,可以在同一图形上显示任意数量的迹线。此外,每条迹线的样式可以独立声明;因此,可以在同一图形上混合折线图、散点图等。 x 和 y 数据点以并行列表指定。x 列表中的第一个元素和 y 列表中的第一个元素共同构成一个数据点。同样,每个列表中的第二个元素共同构成第二个点,依此类推。如果要绘制多条数据迹线,则将 data 参数组合为列表的列表;例如 [y1,y2,y3],其中每个 yn 是一条迹线的数据列表。如果 x 参数仅包含一个列表,则这些值用于所有数据迹线。否则,x 参数必须为每条迹线包含一个 x 值列表;例如 [x1,x2,x3]。 创建的图形类型(折线、条形、散点等)由 style 参数声明。此参数是一个整数或整数列表,声明用于绘制对应数据集的样式。也就是说,style 列表中的第一个数字定义 y1 数据集的绘制方式;style 列表中的第二个数字定义 y2 数据集,依此类推。如果样式元素少于 y 数据集,则最后一个样式将重复用于所有剩余数据集。这意味着如果只提供一个样式编号,则它定义所有数据集的样式。第一个样式元素不仅定义第一个数据集的样式,还定义整个图形的若干属性,例如打开或关闭网格。 table、graphgraph3 原语的 style 参数都是通过将一系列预定义常量相加而构造的。这些常量打开或关闭特定属性。例如,默认图形样式 GS_DEFSTYLE 定义为 GS_LINE + GS_GRID + GS_AXES + GS_COLOR。以下表格描述了每个样式常量以及所有其他可使用的常量: 全局图形样式:
示例
另请参阅 graph3table

graph3

创建包含 3-D 图形的 Surface Plot 工作表

类别 说明
格式 graph3(data,x,y,style,title,xlabel,ylabel,zlabel)
参数
返回 null
描述 生成数据点的 3-D 图形。要绘制的数据必须组合为矩阵或列表的列表;例如 [[1,2],[3,4]]。矩阵中的元素在 x 和 y 方向必须均匀间隔。x 和 y 值列表仅用于确定每个轴的上限和下限。 图形显示后,可以使用箭头键交互式旋转图像。这些键以 15 度为增量旋转图像。按住 SHIFT 键同时使用箭头键可使图像以更小的 5 度增量旋转。CTRL+上/下放大/缩小图像。CTRL+左/右平移图像。 table、graph 和 graph3 原语的 style 参数都是通过将一系列预定义常量相加而构造的。这些常量打开或关闭特定属性。例如,默认 graph3 样式 G3_DEFSTYLE 定义为 GS_CONTOURFILL + GS_LEGEND + GS_MESH + GS_BOX + GS_GRID + GS_AXES + GS_COLOR。以下表格描述了每个样式常量以及所有其他可使用的常量: 图形样式:
示例 x:=[1,2] y:=[1,2] z:=[[1,2],[3,4]] graph3(z,x,y,G3_DEFSTYLE,"Title","x","y","z") graph3(z,x,y,G3_DEFSTYLE+GS_CONTOUR,"Title","x","y","z")
另请参阅 graphtable

gravity

重力,加速度计量单位

类别 说明
格式 gravity
定义 gravity=9.80665*m/sec^2
另请参阅 msecPredefined UnitsBase Units

Greater than

运算符 x>y,比较两个对象

类别 说明
格式 x>y
参数 [any] xy 要比较的值
返回 (bool) 如果 x 大于 y 则为 True,否则为 false
注意 比较文本字符串时,按字母顺序排序时排在最后的字符串最大。列表和矩阵按元素逐一比较。在发现第一个差异的位置包含较大元素的参数是较大的参数。在数据类型之间进行比较时,例如将字符串与数字比较,使用以下层次结构:null < false = zero < true = 所有非零数字 < 所有字符串 < 所有列表和对象 < 所有函数指针。
示例
另请参阅 comparetruefalseEqualNot EqualGreater than or equalLess ThanGreater than or equal

Greater than or equal

运算符 x>=y,比较两个对象

类别 说明
格式 x>=y
参数 [any] xy 要比较的值
返回 (bool) 如果 x 大于或等于 y 则为 True,否则为 false
注意 比较文本字符串时,按字母顺序排序时排在最后的字符串最大。列表和矩阵按元素逐一比较。在发现第一个差异的位置包含较大元素的参数是较大的参数。在数据类型之间进行比较时,例如将字符串与数字比较,使用以下层次结构:null < false = zero < true = 所有非零数字 < 所有字符串 < 所有列表和对象 < 所有函数指针。
示例
另请参阅 comparetruefalseEqualNot EqualGreater thanLess ThanLess Than or Equal

group

通过对列表中的元素分组创建的矩阵

类别 说明
格式 group(list,n)
参数 [any] list 任意类型元素的输入列表 (int) n 每个子组中的元素数量
返回 [any] list 分解为每个包含 n 个元素的子列表
示例
另请参阅 flatteneachboth

half

半年,时间计量单位

类别 说明
格式 half
描述 半年,时间计量单位 例如,3*half 或 3half 等于 18 个月。
另请参阅 dahrmnmoqtrwkyr

hasunits

通过对列表中的元素分组创建的矩阵

类别 说明
格式 hasunits(x)
参数 (any) x 输入值
返回 (bool) 如果值 x 附加了单位则为 True,否则为 false
描述 hasunits 检查值是否附加了单位。
示例
另请参阅 nounitsreduceunitsstripunitsunitsof

hectare

公顷,面积计量单位

类别 说明
格式 hectare
定义 hectare=10000*m^2
另请参阅 mPredefined UnitsBase Units

henry

亨利,电感计量单位

类别 说明
格式 henry
定义 henry=weber/amp
另请参阅 weberampPredefined UnitsBase Units

hostipaddress

执行脚本的计算机的 IP 地址

类别 说明
格式 hostipaddress
参数
返回 (text) 执行脚本的计算机的 IP 地址
描述 hostipaddress 返回执行脚本的计算机的 IP 地址
示例
另请参阅 envsessionidreadcookie

hour

从日期时间序列号中提取的小时

类别 说明
格式 hour(sernum)
参数 (unit) sernum 可选,日期和时间序列号;默认值 = now
返回 (int) sernum 所隐含的小时(0-23)
注意 所有日期和时间原语使用的序列号,是从任意基准日期到指定日期和时间之间经过的秒数。1584 年之前的日期无效。datenum 和 now 原语返回的序列号包含时间计量单位。使用包含 yr、mo、wk、da、hr、mn 和 sec 单位的公式来修改日期序列号。
示例
另请参阅 datenumnowdatetimeyearmonthdayminutesecondweekday

hp

马力,功率计量单位

类别 说明
格式 hp
定义 hp=550*ft*lbf/sec
另请参阅 ftlbfsecPredefined UnitsBase Units

hr

小时,时间计量单位

类别 说明
格式 hr
描述 小时,时间计量单位。例如,8*hr 或 8hr 等于 8 小时。
另请参阅 dahalfmnmoqtrwkyr

htmldecode

将 HTML 代码 &、<、>、" 替换为字符

类别 说明
格式 htmldecode(text)
参数 (text) text 输入文本
返回 (text) 将 HTML 代码替换为特殊字符后的文本
描述 将 HTML 代码 &、<、> 和 " 替换为字符 &、<、> 和 "
示例
另请参阅 htmlencodeunescapestriphtml

htmlencode

将字符 &、<、> 和 " 替换为 HTML 代码

类别 说明
格式 htmlencode(text)
参数 (text) text 输入文本
返回 (text) 将特殊字符替换为 HTML 代码后的文本
描述 将特殊字符 &、<、> 和 " 替换为 HTML 代码 &、<、> 和 "。
示例
另请参阅 htmldecodeescapestriphtml

HTMLpostfix

在 HTML 发送给 Web 用户之前对其进行过滤

类别 说明
格式 HTMLpostfix(text):=使用 text 的任意函数
参数
返回
描述 如果模型具有名为 HTMLpostfix 的节点,则在 dialog 原语将 HTML 发送给 Web 用户之前,会立即使用该节点过滤所有 HTML。HTMLpostfix 允许您修改 HTML。
示例
另请参阅 dialog

hz

赫兹,频率计量单位

类别 说明
格式 hz
定义 hz=1/sec
另请参阅 secPredefined UnitsBase Units

I

单位虚数

类别 说明
格式 I, i
参数
返回 (comp) 虚数 I
描述 常量 I 是单位纯虚数。复数通过使用常量 I 的算术表达式输入。例如,要输入复数 3+4i(有时表示为 (3,4) 形式),请键入表达式 3+4*I。
示例
另请参阅 absargrealimag

IF 或 if

if...then...else 条件语句的函数形式

if 语句用于有条件地执行一条语句或一个语句块,具有三种基本形式。第一种形式(if)用于在表达式为真时执行一条语句,否则不执行任何操作。第二种形式(if/else)用于根据表达式是否为真来执行两条独立语句中的一条。最后一种形式(if/else if/else)实质上是将一系列条件链接在一起,以确定应执行一组语句中的哪一条。

if

第一种 if 语句的格式为

if( expression )
  statement

例如,

if(x>0)
  y=sqrt(x);

此语句首先计算表达式 x>0。如果该表达式为真,则执行语句 y=sqrt(x);。如果表达式 x>0 为假,则 if 语句不执行任何操作。

请注意,语句 y=sqrt(x); 以分号结尾。所有语句都必须以分号结尾,除非该语句是语句块,如下例所示:

if(x>0) {
  y=sqrt(x);
  z=x/(1+x);
}

语句块中的每条语句都以分号结尾。但是,块本身除了右花括号外不包含任何终止标点。

凡是能插入语句的地方,都可以改为插入语句块。

if/else

第二种 if 语句的格式为

if( expression )
  statement1
else
  statement2

例如,

if(x>0)
  y=sqrt(x);
else
  y=0;

此语句的第一部分行为与前一示例完全相同。也就是说,该语句首先计算表达式 x>0。如果该表达式为真,则执行语句 y=sqrt(x);。但是,如果表达式为假,则执行语句 y=0;。

与前一形式的 if 语句一样,每条条件语句都可以是语句块。例如,

if(x>0) {
  y=sqrt(x);
  z=x/(1+x);
}
else {
  y=0;
  z=0;
}

if/else if/else

最后一种 if 语句的格式为

if( expression1 )
  statement1
else if( expression2 )
  statement2
. . .
else
  statement3

完整语句中可以有任意数量的 else if 部分。此外,最后的 else 是可选的。例如,

if(x>0)
  y=sqrt(x);
else if(x==0)
  y=-1;
else
  y=0;

此语句首先计算表达式 x>0。如果为真,则执行语句 y=sqrt(x);。如果表达式为假,则计算表达式 x==0。如果该表达式为真,则执行语句 y=-1;。最后,如果所有条件表达式都不为真,则执行最后一条语句 y=0;。

IF 原语

可以使用 IF 原语代替 if 语句来创建条件。语句

if( expression )
  statement

等同于

IF( expression, statement )

此外,语句

if( expression )
  statement1
else
  statement2

等同于

IF( expression, statement1, statement2 )

请注意,使用 IF 原语时单词 IF 为大写字母,而使用 if 语句时为小写字符。例如,语句

if(x>0)
  y=sqrt(x);
else
  y=0;

等同于

IF(x>0,y=sqrt(x),y=0);

使用 IF 原语,可以通过将 y= 移到 IF 前面来进一步简化此表达式:

y=IF(x>0,sqrt(x),0);

imag

复数的虚部

类别 说明
格式 imag(z)
参数 {num} z 复数
返回 {unit} 复数 z 的虚部
示例
另请参阅 realabsargI

隐含乘法

隐含/隐式乘法是指有意省略显式乘法运算符,以表示该项是一个关联分组

类别 说明
格式 kx
参数 (real) k 任意字面形式的实数(例如 2、3.4 等) [num] x 要与 k 相乘的任意数字
返回 [num] kx 的乘积
描述 在数字后跟常量或函数的表达式中,可以省略乘法运算符。例如,3x 被假定为 3*x。但是,yx 不是 y*x,而是对名为 yx 的节点的引用。需要注意的是,隐含乘法的优先级高于普通乘法。这意味着诸如 ½PI 这样的表达式等同于 1/(2*PI),而不是 (½)*PI。
示例
另请参阅 Multiply

in

英寸,长度计量单位

类别 说明
格式 in
定义 in=ft/12
另请参阅 ftPredefined UnitsBase Units

include

将库函数导入活动应用程序

类别 说明
格式 include(file)
参数 {text} file 要导入的文件名
返回 {text} file
描述 此原语将库函数导入活动应用程序。库文件中的所有函数都会包含在活动应用程序中,并可像原语一样使用。如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须键入两次(例如 "c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 opencomponent

递增

运算符 x++、++x,递增存储的值

类别 说明
格式 ++x x++
参数 (node) x 现有节点、变量、对象属性或列表元素的名称
返回 (num) x++ 返回 x 的值 ++x 返回 x 的值加一
描述 x++ 和 ++x 都将 x 的值递增一。x++ 返回 x 递增前的值,而 ++x 返回递增后的值。
示例
另请参阅 DecrementAdd

index

列表中特定元素或子列表的位置

类别 说明
格式 index(list,sublist,start)
参数 [any] list 输入列表 [any] sublist 要在 list 中定位的目标子列表 (int) start 可选,搜索的起始位置;默认值 = 0
返回 (int) list 中从 start 开始、与 sublist 匹配的第一组元素的位置(元素编号),如果未找到匹配则返回 -1
示例
另请参阅 sublistreplist

infinity

无穷大

类别 说明
格式 infinity
参数
返回 (real) 无穷大
描述 当 infinity 与 integral 和 sigma 原语一起用作限值时,它被视为特殊数字。在所有其他计算中,infinity 只是一个非常大的数字。
示例
另请参阅 integralsigma

Inflation Rate

pvx 原语使用的保留节点名称

类别 说明
格式 Inflation Rate
参数
描述 pvx 原语使用的保留节点名称

inputs

声明为输入的所有节点的列表

类别 说明
格式 inputs
参数
返回 (text) 声明为输入的所有节点的列表
另请参阅 alltreelistselectednodeendnodesoutputs

inputunits

返回指定节点的计量单位

类别 说明
格式 inputunits(x)
参数 (text) x 节点名称
返回 (num) 节点中使用的计量单位
描述 inputunits 返回使用 x 指定的节点的计量单位。此原语用于动态构建 Web 界面。inputunits 很有用,因为 CCH Tagetik Supply Chain Planning Studio 会在计算前自动将输入中指定的任何单位转换为脚本的基本单位系统。例如,如果基本单位是 kg,而输入到某个输入中的值是 100000 g,则 CCH Tagetik Supply Chain Planning Studio 在将输入生成为 Web 界面时会将该度量转换为 100 kg。要获取输入节点的原始计量单位,可以使用 inputunits。
示例
另请参阅 Unit Conversionunits

insertdatasheet

创建新的数据表工作表

类别 说明
格式 insertdatasheet(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的数据表工作表。可以使用 document 对象读取和修改该工作表的属性。
示例 var x=insertdatasheet("Stock Prices"); document[x].data=[[34.5,33.6,35.1],[80.1,85.2,85.9]]; document[x].vlegend=[2004,2005,2006]; document[x].hlegend ["Stock 1","Stock 2"]; document[x].dformat=FMT_D2+FMT_FIX+FMT_DLR; document[x].vformat=FMT_D0; document[x].hformat=0; document[x].cellwidth=30; document[x].legendwidth=20;
另请参阅 documentinsertdiagramsheetinsertgraphinsertgraph3insertreportsheetinserttableinserttextsheetinserttreesheet

insertdiagramsheet

创建新的图表工作表

类别 说明
格式 insertdiagramsheet(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的图表工作表。可以使用 document 对象读取和修改该工作表的属性。
示例
另请参阅 documentinsertdatasheetinsertgraphinsertgraph3insertreportsheetinserttableinserttextsheetinserttreesheet

insertgraph

创建新的图形工作表

类别 说明
格式 insertgraph(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的图形工作表。可以使用 document 对象读取和修改该工作表的属性。
示例 var x=insertgraph("Product Sales"); document[x].data="Sales"; document[x].x="Months"; document[x].style1=GS_BAR+GS_AXES+GS_COLOR+GS_LIMITY1; document[x].style2=GS_BAR; document[x].title="Sales"; document[x].xlabel="Year"; document[x].ylabel="Millions"; document[x].legend="['ABC','XYZ']"; document[x].yformat=FMT_D0+FMT_DLR; document[x].y1=0; Sales:=[[3,7,12,15],[9,10,10,12]]; Months:=[1,2,3,4];
另请参阅 documentinsertdatasheetinsertdiagramsheetinsertgraph3insertreportsheetinserttableinserttextsheetinserttreesheet

insertgraph3

创建新的曲面图工作表

类别 说明
格式 insertgraph3(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的曲面图工作表。可以使用 document 对象读取和修改该工作表的属性。
示例 var x=insertgraph3("Sales Grid"); document[x].data="SalesData"; document[x].x="SalesX"; document[x].y="SalesY"; document[x].style=G3_DEFSTYLE; document[x].title="Title"; document[x].xlabel="x"; document[x].ylabel="y"; document[x].zlabel="Millions"; document[x].dformat=FMT_D0+FMT_DLR; SalesData:=[[10,18,20],[30,52,40],[25,30,25]]; SalesX:=[1,2]; SalesY:=[1,2]; 注意:上面的示例代码只有在使用圆括号而不是花括号时才能运行,这样它会在模型命名空间中执行。
另请参阅 documentinsertdatasheetinsertdiagramsheetinsertgraphinsertreportsheetinserttableinserttextsheetinserttreesheet

insertreportsheet

创建新的报表工作表

类别 说明
格式 insertreportsheet(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的报表工作表。可以使用 document 对象读取和修改该工作表的属性。
示例 ``` var x+insertreportsheet("Sales Report");
document[x].text="
Sales Report
Sales year in millions) were: <%Sales%>"; ```
另请参阅 documentinsertdatasheetinsertdiagramsheetinsertgraphinsertgraph3inserttableinserttextsheetinserttreesheet

inserttable

创建新的演示表工作表

类别 说明
格式 inserttable(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的演示表工作表。可以使用 document 对象读取和修改该工作表的属性。
示例 var x=inserttable("My Table"); document[x].data="Sales Data"; document[x].hlegend="Sales Products"; document[x].style=TS_DEFSTYLE; document[x].title="Product Sales"; document[x].vlabel="Year"; document[x].hlabel="Product"; document[x].dformat=FMT_D0+FMT_DLR; Sales Data:=[[3,7,12,15],[9,10,10,12]]; Sales Products:=["ABC","XYZ"];
另请参阅 documentinsertdatasheetinsertdiagramsheetinsertgraphinsertgraph3insertreportsheetinserttextsheetinserttreesheet

inserttextsheet

创建新的文本工作表

类别 说明
格式 inserttextsheet(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的文本工作表。可以使用 document 对象读取和修改该工作表的属性。
示例 var x=inserttextsheet("Instructions"); document[x].text="This is a model for forecasting sales"
另请参阅 documentinsertdatasheetinsertdiagramsheetinsertgraphinsertgraph3insertreportsheetinserttableinserttreesheet

inserttreesheet

创建新的树工作表

类别 说明
格式 inserttreesheet(sheetname)
参数 (text) 要分配给新工作表的请求名称
返回 (text) 插入工作表实际使用的名称
描述 在当前文档中插入新的树工作表。可以使用 document 对象读取和修改该工作表的属性。
示例 var x=inserttreesheet("ROE Model"); document[x].rootnode="ROE"; ROE:=Profit/Equity; Profit:=PBT-Tax; PBT:=100000; Tax:=PBT*34%; Equity:=Assets-Liabilities; Assets:=700000; Liabilities:=250000; 注意:上面的示例代码只有在使用圆括号而不是花括号时才能运行,这样它会在模型命名空间中执行。
另请参阅 documentinsertdatasheetinsertdiagramsheetinsertgraphinsertgraph3insertreportsheetinserttableinserttextsheet

integer

向零舍入的整数值

类别 说明
格式 integer(x)
参数 (num) x 输入数字
返回 (num) x 的整数值
注意 integer 在小数点处截断 x
示例
另请参阅 floorceilround

integral

函数的定积分

类别 说明
格式 integral(f(x),x,x1,x2,samples)
参数
返回 (num) f(x)x=x1x2 范围内的定积分
描述 integral 等同于标准数学表达式。此原语通过在 x1x2 之间的各个点采样来近似计算 f(x) 的积分。它使用自适应算法,将采样集中在收敛最慢的区域。此过程最大限度地减少了所需的采样数量,并使 integral 能够处理积分范围内存在不连续点的函数,例如阶跃函数。integral 会持续添加采样,直到积分近似达到 precision 原语所设置的所需精度水平。由于在不知道精确解的情况下无法得知结果的精确程度,因此当结果很可能处于所需精度范围内时,integral 会停止收敛。可以使用 infinity 原语将任一或两个积分限设置为无穷大;例如 integral(Normal(x),x,-infinity,infinity)。在这些情况下,假定被积函数在 x 趋近无穷大时以至少 1/x^2 的速率收敛到零。被积函数不必在积分下限或上限处有定义。例如,即使 sin(0)/0 未定义,integral 也能正确地对函数 sin(x)/x 在 0 到 1 范围内进行积分。该函数必须在整个积分内部范围内有定义。在极少数情况下,如果函数包含不连续点(如脉冲)或快速振荡,integral 可能会遗漏函数的重要特征。如果 integral 给出的答案似乎不合理,可以通过为 samples 提供一个值来强制 integral 使用更细的采样网格。Samples 应为 2 的幂;例如 8、16、32、64……此参数确定所使用的等间距采样的最小数量。integral 很可能在收敛缓慢的区域生成更多的采样。
注意 如果表达式 f(x) 是基于 x 的树节点而不是函数,则必须使用 reset 原语使树在每次迭代时重新计算。常量会保留其首次求值时的值,并在所有后续求值中返回该值。要使常量重新求值,请使用类似于 integral({reset,f},x,x1,x2) 的表达式,而不是 integral(f,x,x1,x2)
示例
另请参阅 derivativeprecisioninfinityreset

intersect

每个输入列表共有的所有元素

类别 说明
格式 intersect(set1,set2,...)
参数 [any] set1set2、…… 输入集合
返回 [any] 所有集合共有的所有元素的列表,不含重复项
示例
另请参阅 uniondifferent

invfft

逆快速傅里叶变换

类别 说明
格式 invfft(list)
参数 [num] list 频域中的输入数据点
返回 [num] list 中数据的逆快速傅里叶变换
描述 invfft 对 list 中的数据进行逆傅里叶变换。也就是说,invfft 重建用于通过 fft 原语创建 list 的时间序列数据。为获得最佳性能,list 中的数据点数量应为 2 的幂(例如 2、4、8、16、32、64、128、256 等)。如果数据点数量不是 2 的幂,invfft 会使用快速傅里叶变换和离散傅里叶变换算法的组合。
示例
另请参阅 fft

irr

内部收益率

类别 说明
格式 irr(guess,cflist)
参数 (real) guess 结果的合理值 [real] cflist 现金流列表;第一笔现金流发生在时间 0,所有后续现金流发生在第 1 到 N 期期末
返回 (real) 现金流 cflist 的内部收益率
描述 内部收益率是使一系列现金流的净现值(NPV)为零的利率。理论上,可能有多个利率满足此条件。如果 irr 返回的结果似乎不合理,请选择不同的 guess。不过在大多数典型情况下,只有一个可能的解,任何猜测值都可以。
示例
另请参阅 npvpvfvpmttermratecf

infinite

如果数字不是 Infinity 则返回 true

类别 说明
格式 isFinite(number)
参数 [any] number
描述 如果数字不是 Infinity 则返回 true

isinreplay

如果脚本正在响应“后退”按钮重放步骤,则返回 true

类别 说明
格式 isinreplay
参数
返回 (bool) 如果脚本正在响应“后退”按钮重放步骤,则为 True
描述 isinreplay 用于确定对话框表单是否正在响应“后退”按钮而重放。
示例 IF(!isinreplay,value=DefaultValue)
另请参阅 iswebdialog

isnan

如果数据类型为 NaN 则返回 true

类别 说明
格式 isNaN(x)
参数 (any) x
描述 如果数据类型为 NaN 则返回 true

isweb

如果模型作为 Web 应用程序运行则返回 true

类别 说明
格式 isweb
参数
返回 (bool) 如果应用程序通过 Web 运行则为 True,如果为本地运行则为 false
描述 isweb 用于在应用程序同时以本地和 Web 模式运行时改变表单的呈现方式。
示例 ``` display(text):=
IF(isweb,dialog(text),dialog(wordwrap(text,55))) ```
另请参阅 dialogisinreplay

joule

焦耳,能量计量单位

类别 说明
格式 joule
定义 joule=newton*m
另请参阅 newtonmPredefined UnitsBase Units

kcal

千卡,能量计量单位

类别 说明
格式 kcal
定义 kcal=1000*cal
另请参阅 calPredefined UnitsBase Units

kelvin

开尔文,温度计量单位

类别 说明
格式 kelvin
定义 基本单位
另请参阅 Predefined UnitsBase Units

kg

千克,质量计量单位

类别 说明
格式 kg
定义 基本单位
另请参阅 Predefined UnitsBase Units

kgf

千克力,力计量单位

类别 说明
格式 kgf
定义 kgf=kg*gravity
另请参阅 kggravityPredefined UnitsBase Units

km

千米,长度计量单位

类别 说明
格式 km
定义 km=1000*m
另请参阅 mPredefined UnitsBase Units

knot

节,速度计量单位

类别 说明
格式 knot
定义 knot=1.151*mph
另请参阅 mphPredefined UnitsBase Units

kph

千米每小时,速度计量单位

类别 说明
格式 kph
定义 kph=km/hr
另请参阅 kmhrPredefined UnitsBase Units

kw

千瓦,功率计量单位

类别 说明
格式 kw
定义 kw=1000*watt
另请参阅 wattPredefined UnitsBase Units

last

列表中的最后一个元素

类别 说明
格式 last(list)
参数 [any] list 输入列表
返回 [any] list 中的最后一个元素
示例
另请参阅 List Elementindexreplistsublist

lb

磅,质量计量单位

类别 说明
格式 lb
定义 lb=0.45359237*kg
另请参阅 kgPredefined UnitsBase Units

lbf

磅力,力计量单位

类别 说明
格式 lbf
定义 lbf=lb*gravity
另请参阅 lbgravityPredefined UnitsBase Units

左移

运算符 x<<y,将数字中的位向左移动

类别 说明
格式 x<<y
参数 (int) x, y 任意整数
返回 (int) x 的值,其所有位向左移 y
描述 此运算符将 x 从浮点数转换为 32 位整数,将所有位向左移 y 位,并以浮点数形式返回结果。
示例
另请参阅 右移, 零填充右移, 按位与, [按位或](#bitwise_or "运算符 x

len

字符串中的字符数

类别 说明
格式 len(text)
参数 (text) text 输入文本字符串
返回 (int) text 中的字符数
示例
另请参阅 find

length

列表的长度、字符串中的字符数或函数中的参数个数

类别 说明
格式 length(x)
参数 [any] x
返回 (int) 列表的长度、字符串中的字符数或函数中的参数个数
示例
另请参阅 count, len

小于

运算符 x<y,比较两个对象

类别 说明
格式 x<y
参数 [any] x, y 要比较的值
返回 (bool) 如果 x 小于 y 则为 true,否则为 false
注意 比较文本字符串时,按字母顺序排序时排在最后的字符串为最大。列表和矩阵按元素逐一比较。在发现第一个差异的位置上包含较大元素的参数为较大参数。在数据类型之间进行比较时(例如将字符串与数字进行比较),使用以下层次结构:null < false = 零 < true = 所有非零数字 < 所有字符串 < 所有列表和对象 < 所有函数指针。
示例
另请参阅 compare, true, false, 等于, 不等于, 大于, 大于或等于, 小于或等于

小于或等于

运算符 x<=y,比较两个对象

类别 说明
格式 x<=y
参数 [any] x, y 要比较的值
返回 (bool) 如果 x 小于或等于 y 则为 true,否则为 false
注意 比较文本字符串时,按字母顺序排序时排在最后的字符串为最大。列表和矩阵按元素逐一比较。在发现第一个差异的位置上包含较大元素的参数为较大参数。在数据类型之间进行比较时(例如将字符串与数字进行比较),使用以下层次结构:null < false = 零 < true = 所有非零数字 < 所有字符串 < 所有列表和对象 < 所有函数指针。
示例
另请参阅 compare, true, false, 等于, 不等于, 大于, 大于或等于, 小于

linefit

一般线性回归的系数

类别 说明
格式 linefit([x1,x2,...],y,zero)
参数 [real] [x1,x2] 自变量值列表 [real] y 因变量值列表 (bool) zero 可选的零 y 截距;默认=no
返回 [real] 回归系数列表 b, m1, m2, ..., mn
描述 linefit 执行最小二乘回归分析,以找出使形式为 的直线最佳拟合指定数据点序列的系数 b, m1, m2, ..., mn。每个数据点由列表 x1, x2, ...y 中所有对应元素共同定义。例如,这些列表中每个列表的第一个元素共同定义一个点。如果参数 zerotrue(任意非零值),则常数 b 被强制为零。
示例 将形式为 y(x)=b+m*x 的直线拟合到数据点:(1,7)、(3,15)、(4,14)、(7,20) 和 (8,30)。
另请参阅 stderror, rsquared, solve

列表连接

运算符 x!!y,合并两个列表

类别 说明
格式 x!!y
参数 [any] x, y 要合并的任意列表
返回 [any] 包含 xy 两者内容连接后的列表
描述 此运算符通过将 y 的副本追加到 x 的副本并返回结果来合并两个列表。
示例
另请参阅 正号, 列表字面量, flatten

列表元素

运算符 x[y],返回列表中从零开始的元素

类别 说明
格式 x[y]
参数 [any] x 输入列表 [int] y 元素编号
返回 [any] 列表 x 中从零开始的第 y 个元素
描述 此运算符用于从列表中提取一个或多个元素。注意列表中的第一个元素是 x[0],而不是 x[1]。如果 y 小于 0 或大于列表 x 的长度减 1,则返回 null。 如果 y 包含元素编号列表,则返回对应元素的列表。例如,x[2..4] 返回 x 中的第三、第四和第五个元素。 如果 x 是矩阵(列表的列表),可以通过两次使用此运算符来提取特定元素。例如,x[2][5] 返回第 3 列第 6 行中的元素。也可以提取整列或整行。例如,x[2] 返回整个第三列。类似地,x[][5] 返回整个第六行。要提取矩阵中的范围,请为行号和列号输入值范围。x[2..3][3..5] 返回第 4、5 和 6 行中第 3 和第 4 列的所有元素。 注意x[y]x#*y 完全相同,只是 x[y]** 使用从零开始的索引编号,而 x#y*** 从 1 开始。
示例
另请参阅 下标, sublist, last, 列表字面量, 属性

列表字面量

运算符 [x,y,...],创建列表

类别 说明
格式 [x,y,...]
参数 [any] x, y 要计算并合并到列表中的表达式序列
返回 [any] 包含所有表达式 x, y, ... 值的列表
描述 创建包含所有元素 x, y, ... 的列表。元素本身可以是列表,从而创建层次化列表。
示例
另请参阅 过程, 括号, 范围, makelist, 对象字面量

liter

升,体积计量单位

类别 说明
格式 liter
定义 liter=m^3/1000
另请参阅 m, 预定义单位, 基本单位

log

自然对数(以 E 为底)

类别 说明
格式 log(x)
参数 {comp} x 任意实数或复数
返回 {comp} x 的自然对数(以 E 为底)
描述 x 的自然对数是满足 E^y=x 的值 y
示例
另请参阅 log10, E, exp

log10

常用对数(以 10 为底)

类别 说明
格式 log10(x)
参数 {comp} x 任意实数或复数
返回 {comp} x 的常用对数(以 10 为底)
描述 x 的常用对数是满足 10^y=x 的值 y
示例
另请参阅 log,

逻辑与

运算符 x&&y,逻辑与

类别 说明
格式 x&&y
参数 (bool) x, y 任意布尔或数值表达式
返回 (bool) 如果 x 和 y 均为真(数值上不同于零)则为 True,否则为 false
注意 布尔运算符 And/Or 使用前瞻功能,以防止基于规则的应用程序提示非必要的用户输入。要在不使用前瞻的情况下执行逻辑与,请在系统选项屏幕的计算部分关闭逻辑前瞻。
示例
另请参阅 [逻辑或](#logical_or "运算符 x

逻辑非

运算符 !x,逻辑非

类别 说明
格式 !x
参数 (bool) x 任意布尔表达式
返回 (bool) 如果 xfalse(数值上等于零)则为 True,否则为 false
示例
另请参阅 阶乘, 逻辑与, [逻辑或](#logical_or "运算符 x

逻辑或

运算符 x||y,逻辑或

类别 说明
格式 x
参数 (bool) x, y 任意布尔或数值表达式
返回 (bool) 如果 xytrue(数值上不同于零)则为 True,否则为 false
注意 布尔运算符 And/Or 使用前瞻功能,以防止基于规则的应用程序提示非必要的用户输入。要在不使用前瞻的情况下执行逻辑或,请在系统选项对话框的计算部分关闭逻辑前瞻
示例
另请参阅 逻辑与, 加法, 逻辑非, true, false

循环原语

循环语句可以替代整个函数

有一些原语旨在执行典型的循环功能,可用于替代其中一种循环语句。例如,以下语句在功能上与上面的代码完全相同:

var total=sigma(n*n,n,1,10);

sigma 原语执行等同于数学表达式的求和

也就是说,表达式

sigma(f(x),x,x1,x2)

等同于

{
  var total=0,x;
  for(x=x1; x<=x2; x++)
    total+=f(x);
  total;
}

另一个重要的循环原语是 makelist。虽然 sigma 返回循环内创建的各个值的总和,但 makelist 返回包含每个值的列表。例如,表达式

makelist(x*x,x,1,10)

将返回列表

[1,4,9,16,25,36,49,64,81,100]

更具体地说,表达式

makelist(f(x),x,x1,x2)

等同于

{
  var list=null,x;
  for(x=x1; x<=x2; x++)
    list=list!!f(x);
  list;
}

原语 eachmakelist 类似,不同之处在于 each 允许为 x 提供特定输入值的列表,而不是提供起始值和结束值。也就是说,表达式

makelist(f(x),x,x1,x2)

与以下相同

each(f(x),x,x1..x2)

有关这些及其他循环原语的更完整描述,请参阅 关于原语 目录。

lower

所有字符转换为小写的字符串

类别 说明
格式 lower(text)
参数 {text} text 输入文本字符串
返回 {text} 所有字符转换为小写的 text
示例
另请参阅 upper

lrand

来自对数正态分布的伪随机数

类别 说明
格式 lrand(mean,std)
参数 (unit) mean 可选的分布均值;默认=1 (unit) std 可选的分布标准差;默认=1
返回 (unit) 来自对数正态分布的伪随机数
描述 lrand 生成从具有对数正态概率分布的集合中抽取的随机数。lrand 生成的数字序列的周期基本上是无限的。此外,不存在明显的顺序相关性。
示例
另请参阅 rand, drand, trand, nrand, brand, prand, grand, wrand, betarand, crand, setrand, correlate

m

米,长度计量单位

类别 说明
格式 m
定义 基本单位
另请参阅 预定义单位, 基本单位

mail

发送 Internet 电子邮件消息

类别 说明
格式 mail(message,recipients,subject,sender)
参数 [any] message 要发送的消息;可以包含任何数值或文本值,包括列表 {text} recipients 所需收件人的 Internet 邮件地址 (text) subject 可选的消息主题;默认 = "None" (text) sender 可选的发件人 Internet 邮件地址;默认 = 服务器属性页面中设置的值
返回 [any] message 的值
描述 mail 向任何 Internet 邮件收件人发送电子邮件消息。此原语可用于监控实时数据的应用程序,并向关键人员通知特殊情况。 如果 message 是数值,则按其显示方式转换为文本字符串。如果 message 是列表,则列表中的所有元素分别转换并用逗号分隔。如果 message 是简单文本字符串,则按原样发送文本。 参数 recipients 应包含所需收件人的标准 Internet 邮件格式的电子邮件地址(例如 name@domain.com)。如果要将消息发送给多个收件人,请包含有效收件人地址的列表。
示例
"John.Doe@domain.com","Status") ``` = 邮寄文件 Report.txt 的内容
另请参阅 readhttp, dialog

makelist

在 n 的范围内 f(n) 的列表

类别 说明
格式 makelist(f(x),x,x1,x2,step)
参数 [any] f(x) 函数或表达式 (node) x f(x) 中输入变量的名称 (num) x1 下限 (num) x2 上限 (num) step 可选的步长;默认=1
返回 [any] f(x) 的列表,其中 x 等于从 x1x2(含)的所有数字,以 step 为增量
描述 makelist 创建一个名为 x 的临时变量,然后通过将 x 设置为从 x1x2 的所有数字并重复计算 f(x) 来构造列表。也就是说,makelist(f(x),x,x1,x2) = [f(x),f(x+1),...,f(x2)] 如果名为 x 的节点已存在,则在 f(x) 的所有计算中将其替换,然后恢复到其原始状态。
注意 如果表达式 f(x) 是树节点而不是基于 x 的函数,则必须使用 reset 原语使树在每次迭代时重新计算。常量保留其第一次计算的值,并在所有后续计算中返回此值。要使常量重新计算,请使用类似于 makelist({reset,f},x,x1,x2) 的表达式,而不是 makelist(f,x,x1,x2)
示例
另请参阅 范围, each, both, sigma, eachn, reset

mask

防止计算错误终止执行

类别 说明
格式 mask(command,silent)
参数 [any] command 任意有效表达式 (bool) silent 可选标志,指示是否应抑制错误和警告消息;默认 = true
返回 [any] 如果成功则为 command 的值,如果遇到错误则为 null
描述 mask 用于计算树中的表达式或分支,同时屏蔽所有错误条件和消息。通常,遇到错误时,当前运行的应用程序会停止。使用 mask 原语,导致错误的语句只返回 null,应用程序继续执行。 此原语在表达式有时在没有逻辑错误时返回错误的情况下很有用。例如,readhttp 和 mail 原语执行网络通信功能,如果所连接的网络遇到通信问题,则会返回错误。可以使用 mask 原语防止应用程序中止,以便以适当的方式显式处理问题。
另请参阅 gate, readhttp, mail

maskall

防止所有错误终止执行

类别 说明
格式 maskall(command,silent)
参数 [any] command 任意有效表达式 (bool) silent 可选标志,指示是否应抑制错误和警告消息;默认 = true
返回 [any] 如果成功则为 command 的值,如果遇到错误则为 null
描述 maskall 用于计算树中的表达式或分支,同时屏蔽所有错误,包括系统错误和用户取消事件。maskall 等同于 mask 函数,但还会屏蔽以下情况: - 用户单击 Quit 或 Cancel 按钮(也由 maskcancel 处理) - 语句中遇到 exit 函数 - 运行时和系统错误
另请参阅 mask, maskcancel, exit

maskcancel

防止 Cancel 按钮终止执行

类别 说明
格式 maskcancel(command)
参数 [any] command 任意有效表达式
返回 [any] 如果成功则为 command 的值,如果遇到错误则为 null
描述 maskcancel 执行 command,同时防止 Cancel 按钮终止执行。
另请参阅 maskmaskall

Math

Math 对象

类别 说明
格式 Math(none)
参数 [any] none
描述 Math 对象

max

列表中的最大元素

类别 说明
格式 max(list) *max(x1,x2,...*)
参数 [any] list 输入列表 (any) x1, x2, ... 输入值
返回 (any) 如果只提供一个参数,则为 list 中的最大元素;如果提供多个参数,则为所有参数中的最大值
注意 如果 list 包含文本字符串,max 返回所有元素按字母顺序排序时排在最后的字符串。
示例
另请参阅 best, pct, min, med, count, sum, prod, avg, std, variance, emv, bin

maxwell

麦克斯韦,磁通量计量单位

类别 说明
格式 maxwell
定义 maxwell=1e-8*weber
另请参阅 weber, 预定义单位, 基本单位

med

列表中的中位数元素

类别 说明
格式 med(list) med(x1,x2,...)
参数 [any] list 输入列表 (any) x1, x2, ... 输入值
返回 (any) 如果只提供一个参数,则为 list 中所有元素的中位数;如果提供多个参数,则为所有参数的中位数
描述 列表的中位数值是较大元素和较小元素数量相等的值。如果 list 包含偶数个元素,med 返回两个中心值的平均值。如果中心两个元素不是数字,med 返回这两个中的第一个。
示例
另请参阅 pct, max, min, count, sum, prod, avg, std, variance, bin

method

创建方法指针

类别 说明
格式 method(function)
参数 (node) function
描述 创建方法指针

med

百万电子伏特,能量计量单位

类别 说明
格式 mev
定义 mev=1e6*ev
另请参阅 ev, 预定义单位, 基本单位

mg

毫克,质量计量单位

类别 说明
格式 mg
定义 mg=gm/1000
另请参阅 gm, 预定义单位, 基本单位

mi

英里,长度计量单位

类别 说明
格式 mi
定义 mi=5280*ft
另请参阅 ft, 预定义单位, 基本单位

min

列表中的最小元素

类别 说明
格式 min(list) *min(x1,x2,...*)
参数 [any] list 输入列表 (any) x1, x2, ... 输入值
返回 (any) 如果只提供一个参数,则为 list 中的最小元素;如果提供多个参数,则为所有参数中的最小值
注意 如果 list 包含文本字符串,min 返回所有元素按字母顺序排序时排在最前的字符串。
示例
另请参阅 pct, max, med, count, sum, prod, avg, std, variance, emv, bin

m

单变量函数的最小值

类别 说明
格式 minimize(f(x),x,x1,x2,x3)
参数 (real) f(x) 要最小化的函数或表达式 (node) x f(x) 中输入变量的名称 (unit) x1 x 值的初始猜测或 x 的下限 (unit) x2 可选的 x 中心猜测 (unit) x3 可选的 x 上限
返回 (unit) f(x) 取最小值时的 x
描述 minimize 找到使 f(x) 局部最小化的 x 值。必须向 minimize 提供 x 值的单点猜测或定义要隔离的特定最小值的一组三个点。minimize 根据提供哪种起始方法使用不同的方法来找到 x 的值。如果提供 x1, x2x3 的值,这些点必须满足以下条件:f(x1) > f(x2)f(x3) > f(x2)x1 < x2 < x3。如果满足这些条件,minimize 总能找到解。如果只提供 x1 的值,minimize 会搜索解。如果 minimize 未能收敛到解,请尝试 x1 的另一个值。 要最大化函数,只需将其乘以 -1 并使用 minimize 原语,例如 minimize(-f(x),x,x1)。 minimize 是近似函数,受 precision 设置的容差约束。minimize 创建一个名为 x 的临时变量。如果具有此名称的节点已存在,则在 f(x) 的所有计算中将其替换,然后恢复到其原始状态。
注意 如果表达式 f(x) 是树节点而不是基于 x 的函数,则必须使用 reset 原语使树在每次迭代时重新计算。常量保留其第一次计算的值,并在所有后续计算中返回此值。要使常量重新计算,请使用类似于 minimize({reset,f},x,x1,x2) 的表达式,而不是 minimize(f,x,x1,x2))
示例
另请参阅 precision, simplex, solve

负号

运算符 -x,将数字标识为负数

类别 说明
格式 -x
参数 (num) x 输入数字;可以是实数或复数
返回 (num) 0 - x
描述 将数字 x 标识为负数
示例
另请参阅 正号, 减法

minute

从日期时间序列号派生的分钟

类别 说明
格式 minute(sernum)
参数 (unit) sernum 可选的日期和时间序列号;默认 = now
返回 (int) sernum 隐含的分钟(0-59)
注意 所有日期和时间原语使用的序列号是任意基准日期与指定日期和时间之间经过的秒数。1584 年之前的日期无效。 datenum 和 now 原语返回的序列号包含时间计量单位。使用包含单位 yr、mo、wk、da、hr、mn 和 sec 的公式来修改日期序列号。
示例
另请参阅 datenum, now, date, time, year, month, day, hour, second, weekday

Mixed

Mixed 防止报表对其内节点的值求和

注意:此原语只能在 Report Writer 中使用。

请参阅使用 Report Writer 创建自定义界面。

类别 说明
格式 Mixed(list)
参数 list 关键字参数;通常使用 Rollup 作为关键字。
返回 (text) 返回列表最小值-最大值的文本字符串格式。
描述 将 Mixed 包裹在函数定义周围,以防止报表对其内节点的值求和。 当您在 Report Writer 中处于显示模式时,默认计算会对实体的单元格求和。例如,您可能会看到超过 100% 的百分比。如果将函数包裹在 Mixed 中,则每个实体单独求和,并显示按实体值的范围(最小值和最大值)。
示例 Mixed([A,B,C,...])
另请参阅 Assumption, Rollup, RollupWhere

mkv

定义马尔可夫模型中的分支

类别 说明
格式 mkv(p1,s1,p2,s2,...)
参数 (real) p1, p2, ... 状态 s 的初始化值或从当前状态转移到状态 s 的转移概率 (node) s1, s2, ... 状态节点名称
返回 (NA) 马尔可夫模型向前链接而不是向后链接,因此 mkv 不返回值
描述 mkv 用于构建马尔可夫模型。在马尔可夫模型中,根节点总是分支到所有可能的状态。在下面的示例中有两个状态:Alive 和 Dead。参数 p1 和 p2 的值确定这些状态的初始值。选择 Clear 重置模型并选择 Run 执行第一阶段后,模型将具有以下值。 在此模拟中,最初有 100 个活人和 0 个死人。第二次按下 Run 时,执行下一阶段。在此阶段的执行中,Alive 的定义使 90% 的活人保持存活,其余 10% 转移到 Dead。Alive 定义中 p1 和 p2 的值与 Root 定义中的解释不同。 Dead:=mkv 的定义等同于 Dead:=mkv(100%,Dead)。这意味着 Dead 状态中的所有人员都保持死亡。 转移概率不必保持静态,它们可以基于使用状态值、阶段编号等的任何公式来计算。 注意:此原语仅在您拥有 Decision Tree Add-In 时可用。
示例
另请参阅 emv

ml

毫升,体积计量单位

类别 说明
格式 ml
定义 ml=liter/1000
另请参阅 liter, 预定义单位, 基本单位

mm

毫米,长度计量单位

类别 说明
格式 mm
定义 mm=m/1000
另请参阅 m, 预定义单位, 基本单位

mn

分钟,时间计量单位

类别 说明
格式 mn
描述 分钟,时间计量单位 例如,30*mn 或 30mn 等于 30 分钟。
另请参阅 da, half, hr, mo, qtr, wk, yr

mo

月,时间计量单位

类别 说明
格式 mo
描述 月,时间计量单位 例如,18*mo 或 18mo 等于 18 个月。
另请参阅 da, half, hr, mn, qtr, wk, yr

model

在 Model 命名空间中执行命令

类别 说明
格式 model(command)
参数 [any] command 要计算的任意表达式
返回 [any] 在 Model 命名空间中执行时 command 的值
描述 Model 使表达式在 Model 命名空间中计算。此级别包含所有动态加载的库组件。
另请参阅 primitiveunitusernamespace

mol

摩尔,物质的量计量单位

类别 说明
格式 mole
定义 基本单位
另请参阅 预定义单位基本单位

month

从日期时间序列号推导出的月份

类别 说明
格式 month(sernum)
参数 (unit) sernum 可选日期和时间序列号;默认值 = now
返回 (int) 由 sernum 表示的月份(1-12)
说明 所有日期和时间原语使用的序列号是任意基准日期与指定日期和时间之间经过的秒数。1584 年之前的日期无效。datenum 和 now 原语返回的序列号包含时间计量单位。使用包含 yr、mo、wk、da、hr、mn 和 sec 单位的公式来修改日期序列号。
另请参阅 datenumnowdatetimeyeardayhourminutesecondweekday

movefile

移动磁盘文件

类别 说明
格式 movefile(source,dest)
参数 (text) source 要移动的源文件路径 (text) dest 移动目标路径
返回 (text) 已移动文件的目标位置
说明 移动磁盘文件
示例 movefile("c:\\data.dat","d:\\data.dat")
另请参阅 copyfiledeletefilecreatedirectoryremovedirectorydir

mph

英里每小时,速度计量单位

类别 说明
格式 mph
定义 mph=mi/hr
另请参阅 mihr预定义单位基本单位

Multiply

运算符 x*y,数值乘法

类别 说明
格式 A*B
参数 [num] AB 要相乘的任意实数、复数、向量或矩阵
返回 [num] AB 的乘积
说明 根据输入数据的类型,乘法采用以下方法之一执行:如果 A 是数组而 B 是单个数字,则 A 中的每个元素都乘以 B:如果 A 是单个数字而 B 是数组,则 B 中的每个元素都乘以 A:如果 AB 是长度相同的列表,则 AB 中对应的元素相乘:如果 AB 是矩阵且 A 的列数等于 B 的行数,则使用矩阵乘法:在所有情况下,元素在适当的时候使用复数乘法进行相乘:
示例
另请参阅 隐含乘法Divide

mxsimplex

基于矩阵输入数据的线性规划优化

类别 说明
格式 mxsimplex(matrix,integer)
参数 [real] matrix 规范形式的输入矩阵 [bool] integer 可选布尔值列表,指示对应的未知数是否应限制为整数值;默认值=false,无整数值(如果 integer 是单个值而非列表,则表示整数未知数的数量。)
返回 [real] 对 matrix 进行单纯形优化的结果
说明 基于矩阵输入数据的线性规划优化
另请参阅 simplexsimplex2readsimplex

namespace

在指定命名空间中执行命令

类别 说明
格式 namespace(n,command)
参数 (int) n 要在其中执行 command 的命名空间 [any] command 要计算的任意表达式
返回 [any] command 在指定命名空间中执行时的值
说明 在给定命名空间中执行命令。以下是内置命名空间的 n 值。
示例
另请参阅 primitivemodelunituser

new

运算符 new x(),创建新对象

类别 说明
格式 new x()
参数 [any] x() 对象构造函数
返回 [any] 由 x() 初始化的对象
说明 此运算符通过调用构造函数 x() 并将结果作为对象返回,从而创建一个新对象。
示例
另请参阅 Property

newton

牛顿,力计量单位

类别 说明
格式 newton
定义 newton=m*kg/sec^2
另请参阅 mkgsecond预定义单位基本单位

no

逻辑假

类别 说明
格式 no
参数
返回 (bool) false
说明 Nofalse 相同。
示例
另请参阅 yestruefalse

noriskaversion

在执行一组命令时关闭风险规避设置

类别 说明
格式 noriskaversion(command)
参数 [any] command 在关闭风险规避的情况下要计算的命令
返回 [any] 在关闭风险规避的情况下计算该命令的结果
说明 此函数用于在运行一组命令时关闭风险规避的影响。设置风险规避会改变 emv 函数的输出。使用 noriskaversion 运行命令时,会像风险规避已关闭(即中性)一样计算 emv。
另请参阅 emv

Not Equal

运算符 x!=y,比较是否不相等

类别 说明
格式 x!=y
参数 [any] xy 要比较的值
返回 (bool) 如果 x 不等于 y 则为 True,否则为 false
注意 True 等于所有非零数字。文本字符串必须完全匹配(包括大小写)才相等。列表和矩阵按元素逐一比较。
示例
另请参阅 comparetruefalseEqualGreater thanGreater than or equalLess ThanLess Than or Equal

nounits

在不进行单位处理的情况下计算表达式

类别 说明
格式 nounits(command)
参数 [any] command 在关闭单位处理的情况下要计算的表达式
返回 [any] 在不进行单位处理的情况下计算该表达式的结果
说明 nounits 返回在不进行单位处理的情况下计算表达式的结果。任何带有单位的数值都会在计算表达式之前转换为基本单位。
示例
另请参阅 hasunitsreduceunitsstripunitsunitsof

now

当前日期和时间的序列号

类别 说明
格式 now
参数
返回 (unit) 基于系统时钟的当前日期和时间序列号
说明 所有日期和时间原语使用的序列号是任意基准日期与指定日期和时间之间经过的秒数。1584 年之前的日期无效。datenum 和 now 原语返回的序列号包含时间计量单位。使用包含 yr、mo、wk、da、hr、mn 和 sec 单位的公式来修改日期序列号。
示例
另请参阅 datetimedatenumdatetimeyearmonthdayhoursecondweekdayelapsedtime

npv

净现值

类别 说明
格式 npv(rate,cflist)
参数 (real) rate 每期利率(1=100%) [real] cflist 现金流列表;第一笔现金流发生在时间 0,所有后续现金流发生在第 1 至 N 期期末
返回 (real) 以 rate 利率折现的现金流 cflist 的净现值
说明 npv 使用以下公式计算一系列未来现金流的净现值:
示例
另请参阅 irrpvfvpmttermratecf

nrand

来自正态分布的伪随机数

类别 说明
格式 nrand(mean,std)
参数 (unit) mean 可选分布均值;默认值=0 (unit) std 可选分布标准差;默认值=1
返回 (unit) 来自正态分布的伪随机数
说明 nrand 生成从具有正态(高斯)概率分布的集合中抽取的随机数。nrand 生成的数字序列的周期基本上是无限的。此外,不存在明显的顺序相关性。
示例
另请参阅 randdrandtrandlrandbrandprandgrandwrandbetarandcrandsetrandcorrelate

null

空列表

类别 说明
格式 null
参数
返回 null
说明 null 是一个特殊值,表示无值或空列表。例如,表达式 () 返回 null。
示例
另请参阅 truefalse

Number

Number 对象构造函数

类别 说明
格式 Number(value)
参数 [any] value
说明 Number 对象构造函数

Object

通用对象构造函数

类别 说明
格式 Object(value)
参数 [any] value 任意输入值
返回 [any] value
说明 此函数是通用对象构造函数。对象具有以下内置方法:toString() valueOf()
另请参阅 this

Object Literal

运算符 {p1:x,p2:y,...},创建对象

类别 说明
格式 {p1:x,p2:y,...}
参数 (node) p1, p2 属性名称 [any] x, y 属性值
返回 [any] 包含所有已定义属性的对象
说明 此运算符用于通过字面量表达式创建对象。
示例
另请参阅 newProperty

ohm

欧姆,电阻计量单位

类别 说明
格式 ohm
定义 ohm-volt/amp
另请参阅 voltamp预定义单位基本单位

OnEnd

在模型、组件或 DLM 结束之前立即执行的节点

类别 说明
格式 OnEnd
参数
返回
说明 如果模型具有名为 OnEnd 的节点,则在基于 Web 运行时,它会在脚本执行结束之前立即执行。通常,您会在模型中创建一个 OnEnd 节点作为浮动节点,以实现所需的任何清理功能或保存用户的结果。即使使用者取消脚本或脚本因错误而结束,OnEnd 也保证在 Web 执行结束时运行。
另请参阅 OnLoadOnStartResource Tree

OnLoad

在加载模型、组件或 DLM 时执行的节点

类别 说明
格式 OnLoad
参数
返回
说明 如果模型具有名为 OnLoad 的节点,则在加载模型、组件或 DLM 时执行它。通常,您会在模型中创建一个 OnLoad 节点作为浮动节点,以实现模型、组件或 DLM 运行之前所需的任何初始化。
另请参阅 OnStartOnEndResource Tree

OnStart

在启动模型、组件或 DLM 时执行的节点

类别 说明
格式 OnStart
参数
返回
说明 如果模型具有名为 OnStart 的节点,则在基于 Web 运行时,它会在脚本执行开始之前立即执行。通常,您会在模型中创建一个 OnStart 节点作为浮动节点,以实现应在脚本最开始运行的任何功能。
另请参阅 OnEndOnLoadResource Tree

open

打开新的文档文件

类别 说明
格式 open(file)
参数 (text) file 要打开的应用程序文件名(与所有文本字符串一样,反斜杠字符 () 必须输入两次 (\),以表示字面反斜杠,而不是控制代码的开头)
返回 (text) file
说明 此原语打开之前保存的文档(模型或脚本),并将其设为活动文档。open 在通过 DDE 接收的命令中很有用。
示例
另请参阅 exit

Optional Return

可选返回定义语句块中最后一个表达式的值。

在标准 JavaScript 中,只要想从函数调用返回值,就必须使用 return 语句。 在 DScript 中,如果想返回定义语句块中最后一个表达式的值,则它是可选的。也就是说,以下代码

{
  statement1
  statement2
  return expression;
}

与以下代码相同

{
  statement1
  statement2
  expression;
}

DScript 词法结构中的此扩展是允许 DScript 支持简单定义所必需的。例如,复合定义

Square(x):= {
  return x*x;
}

可以替换为下面的简单定义:

Square(x):=x*x

在简单定义中,return 是隐含的。

options

使组件输入值显示为下拉列表

类别 说明
格式 options(list,default,type)
参数 [any] list 组件输入的可能值列表 (int) default list 中默认选中的选项的从零开始的索引 (bool) type 可选类型代码,指示应返回选中项还是选中项索引,默认值=false(返回选中项)。
返回 [any] list 中的选中项或选中项的索引。
说明 此原语用于构建组件,使组件的属性对话框显示输入值的下拉列表,而不是允许用户输入自由形式的值。执行时,此原语的行为如下:options(list, default, false ) = list[default] options(list, default, true ) = default
示例
另请参阅 units

outputs

声明为输出的所有节点的列表

类别 说明
格式 outputs
参数
返回 (text) 声明为输出的所有节点的列表
另请参阅 alltreelistrootnodeselectednodeendnodesinputs

oz

盎司,质量计量单位

类别 说明
格式 oz
定义 oz=lb/16
另请参阅 lb预定义单位基本单位

ozf

盎司,力计量单位

类别 说明
格式 ozf
定义 ozf=oz*gravity
另请参阅 oz预定义单位基本单位

pa

帕斯卡,压力计量单位

类别 说明
格式 pa
定义 pa=newton/m^2
另请参阅 newtonm预定义单位基本单位

Parentheses

运算符 (x,y,...),在当前命名空间中计算一系列步骤

类别 说明
格式 (x,y,...)
参数 [any] xy 任意有效表达式
返回 [any] 所计算的最后一个参数的值
说明 括号用于指定算术表达式的计算顺序,或创建要计算的表达式列表。如果计算表达式列表,则返回最后一个表达式的值。() 和 {} 的相似之处在于它们都计算表达式列表。但是,在 () 中计算表达式时创建的节点是全局的,而在 {} 中创建的节点在花括号之外将不再存在。在大多数情况下,创建使用局部变量的过程时,应使用花括号 {} 而不是圆括号 ()。花括号确保在花括号内创建的所有节点都是局部的,不会覆盖或以任何方式干扰具有相同名称的其他节点。
示例
另请参阅 ProcedureList Literal

parse

将节点定义解析为参数列表

类别 说明
格式 parse(definition,start,intl)
参数 (text) definition 要解析的节点定义 (int) start 可选,definition 中开始解析的位置;默认值 = 0 (bool) intl 可选标志,用于将 definition 从国际格式转换为所需的内部格式;默认值=false
返回 [text] 包含 definition 参数的列表
说明 将节点定义解析为参数列表。列表的第一个元素是节点名称,后面是节点函数的参数(如果有)。如果该节点不是函数或不包含任何参数,则节点名称作为单个值返回。
示例
另请参阅 show

parseFloat

从文本字符串推导出的浮点数

类别 说明
格式 parseFloat(text)
参数 (test) text
说明 从文本字符串推导出的浮点数

parsehtmltable

将 HTML 表格解析为矩阵数据

类别 说明
格式 parsehtmltable(text,index)
参数 (text) text 数据表的 HTML 表述 (int) index 可选,要解析的表格编号;默认值=1
返回 [text] 文本字符串矩阵,其中每个字符串对应 HTML 表格中的一项
说明 将 HTML 表格解析为矩阵数据
示例
另请参阅 createhtmltable

parseInt

从文本字符串推导出的整数

类别 说明
格式 parseInt(text)
参数 (text) text
说明 从文本字符串推导出的整数

partslist

从组件物料清单构建单个合并对象

类别 说明
格式 partslist([count,component],...)
参数 (int) count 此物料在装配体中的数量 (object) object 子装配组件
返回 (object) 具有与输入组件相同属性的单个聚合对象
说明 partslist 用于从一组子装配组件创建装配体对象。当请求合并对象属性的值时,partslist 函数会从每个子组件请求该属性的值,将其乘以关联的 count,然后相加。子组件公开的所有属性都可在合并对象中使用。需要注意的是,partslist 不会验证所有输入组件是否都具有特定属性的值。如果某个组件未定义父对象上调用的属性,则它对总计的贡献为零。例如,如果 Part1 没有 TotalCost 的值,则 Product.TotalCost 会忽略 Part1,并返回 Part1.TotalCost + Part3.TotalCost 的值。
示例
另请参阅 consolidatecomponentProperty

pct

排序后列表中特定百分位位置的元素

类别 说明
格式 pct(list,percent)
参数 [real] list 输入列表 [real] percent 可选,要在 0 到 1 范围内定位的百分位数,默认值=0.5
返回 (any) list 中位于 percent 百分位处的元素
说明 pct 定位输入数据列表中位于指定百分位的元素。此原语可像 min、med 和 max 一样使用,以确定实验数据列表的范围或中心值。不过,与这些原语不同,pct 允许您指定希望查找的特定百分位数。如果您希望定位的百分位位于 list 中的两个元素之间,pct 返回两者的平均值。
示例
另请参阅 maxminmedcountsumprodavgstdvariancebin

Percent

运算符 x%,除以 100

类别 说明
格式 x%
参数 [num] x 输入数字
返回 [num] x / 100 的值
示例
另请参阅 Divide

PI

3.14159

类别 说明
格式 PI
参数
返回 (real) 3.141592653589793
示例
另请参阅 sincostanasinacosatanatan2

Plus

运算符 +x,将数字标识为正数

类别 说明
格式 +x
参数 (num) x 输入数字;可以是实数或复数
返回 (num) x
说明 将数字 x 标识为正数。此表示法始终是多余的,因为数字被假定为正数。但是,此运算符有时可以提高公式的可读性。
示例
另请参阅 MinusAdd

pmt

分期贷款付款

类别 说明
格式 pmt(pv,rate,term)
参数 (real) pv 本金 (real) rate 每期利率(1=100%) (real) term 期数
返回 (real) 本金金额为 pv 的贷款在 term 期内以 rate 利率的每期付款额
说明 付款额使用以下公式计算:
示例
另请参阅 pvfvtermratenpvirrcf

Power

运算符 x^y,x 的 y 次幂

类别 说明
格式 A^B
参数 [num] A 底数,可以是任意实数、复数或矩阵 [num] B 幂,可以是任意实数、复数或列表
返回 [num] AB 次幂
注意 如果 A 是矩阵,则它必须是方阵,且 B 必须是实数整数。可以使用命令 A^-1 计算矩阵的逆。此函数根据输入数据的类型,采用以下方法之一执行:如果 A 是列表而 B 是单个数字,则 A 中的每个元素都取 B 次幂:如果 A 是单个数字而 B 是列表,则 AB 中每个元素的次幂:如果 AB 是长度相同的列表,则 AB 中对应的元素相匹配:如果 A 是矩阵而 B 是单个整数,则 AB 次幂:在所有情况下,都支持复数。
示例
另请参阅 sqrtexp

prand

来自泊松分布的伪随机数

类别 说明
格式 prand(mean)
参数 (real) mean 可选分布均值;默认值=1
返回 (int) 来自泊松分布的伪随机数
说明 prand 原语返回的数字表示每单位时间内发生的随机事件数。例如,给定小时内到达的客户数由泊松分布表示。此概率分布的特征是每单位时间的平均事件数。prand 返回的结果始终是正整数。
示例
另请参阅 randdrandtrandnrandlrandbrandgrandwrandbetarandcrandsetrandcorrelate

precision

设置近似函数的精度

类别 说明
格式 precision(digits)
参数 (int) digits 可选,有效数字位数(1-14)
返回 (int) 当前的精度设置
说明 precision 设置近似原语 integral、root 和 minimize 中允许的最大误差。这些原语收敛所需的时间高度依赖于所需的精度。如果未提供参数,precision 返回当前设置而不更改它。精度表示为有效数字的位数。也就是说,包含有意义信息的数字位数。例如,如果精度设置为三,并且近似原语正在求解 PI (3.141592...),则结果为 3.14——最后一位数字的误差绝不会超过 ±1。以下所有数字都表示为三位有效数字:12.3、0.000123、1.23e-12、123000。请注意,有效数字的位数与显示的小数位数不同。
示例
另请参阅 integralrootminimize

primitive

在 Primitive 命名空间中执行命令

类别 说明
格式 primitive(command)
参数 [any] command 要计算的任意表达式
返回 [any] command 在 Primitive 命名空间中执行时的值
说明 Primitive 使表达式在 Primitive 命名空间中计算。
另请参阅 Do Primitivemodelunitusernamespace

print

将文本追加到输出缓冲区

类别 说明
格式 print(text)
参数 [any] text 要追加到 HTML 输出缓冲区的文本
返回 [any] text
说明 print 将文本追加到 HTML 输出缓冲区。
示例
另请参阅 flushdialogsay

Procedure

运算符 {x,y,...},在新命名空间中计算一系列步骤

类别 说明
格式 {x,y,...}
参数 [any] xy 任意有效表达式
返回 [any] 所计算的最后一个参数的值
说明 Procedure 运算符用于创建要执行的步骤列表。表达式 xy、... 按列出的顺序计算,并返回最后一个表达式的结果。在花括号内创建的节点仅在花括号内可见,不会干扰具有相同名称的其他节点。() 和 {} 的相似之处在于它们都计算表达式列表。但是,在 () 中计算表达式时创建的节点是全局的,而在 {} 中创建的节点在花括号之外将不再存在。在大多数情况下,创建使用局部变量的过程时,应使用花括号 {} 而不是圆括号 ()。花括号确保在花括号内创建的所有节点都是局部的,不会覆盖或以任何方式干扰具有相同名称的其他节点。
示例
另请参阅 ParenthesesList LiteralObject Literal

prod

列表中所有数字的乘积

类别 说明
格式 prod(list) *prod(x1,x2,...*)
参数 [num] list 输入列表 (num) x1, x2, ... 输入数字;可包含实数和复数
返回 (num) 如果只提供一个参数,则返回 list 中所有元素的数值乘积;如果提供多个参数,则返回所有参数的乘积
示例
另请参阅 countsumavgstdvariancemaxminmed

programdir

程序所在的文件目录

类别 说明
格式 programdir
参数
返回 (text) 程序文件所在目录的名称
示例
另请参阅 componentdirscriptdir

Property

运算符 x.y,访问对象中的命名属性

类别 说明
格式 x.y
参数 (object) x 对象名称或求值结果为对象的表达式 (node) y 要访问的属性或方法名称
返回 [any] 对象 x 中名为 y 的属性或方法的值
描述 此运算符用于访问对象属性或方法。
示例
另请参阅 newList ElementFunction Call

propname

当前正在执行的方法或属性的名称

类别 说明
格式 propname
参数
返回 [text] 当前正在执行的方法或属性的名称
描述 propname 返回当前正在执行的方法或属性的名称。其主要用途是在默认方法和属性的处理程序中确定实际调用的属性或方法。下面的示例展示了在 consolidate 函数定义中使用 propname 函数。
示例 ``` consolidate (objects,...):=new _consolidate(arguments)
_consolidate(obj):={
.objlist=(obj);
_consolidate.prototype.@=_consolidate @;
}
_consolidate @():={
if(propname=="inputs")
null;
else if(propname=="outputs")
union(flatten(user(each(x.outputs,x,.objlist))))
else
sum(user(each(x[propname],x,.objlist)));
} ```
另请参阅 Propertyconsolidate

psi

磅每平方英寸,压力计量单位

类别 说明
格式 psi
定义 psi=lbf/in^2
另请参阅 lbfinPredefined UnitsBase Units

pt

品脱,体积计量单位

类别 说明
格式 pt
定义 pt=16*fl_oz
另请参阅 fl_ozPredefined UnitsBase Units

pv

年金的现值

类别 说明
格式 pv(pmt,rate,term)
参数 (real) pmt 定期付款额 (real) rate 定期利率(1=100%) (real) term 期数
返回 (real) term 期每期付款额为 pmt、按定期利率 rate 折现的年金现值
描述 现值使用以下公式计算:
示例
另请参阅 fvpmttermratenpvirrcf

pvx

现金流量的现值

类别 说明
格式 pvx(pmt,year,term,ir,dr)
参数 (num) pmt 定期现金付款额 (real) year 可选,现金价值发生的年份,默认=0 (real) term 可选,期数,默认=1 (real) ir 可选,通货膨胀率,默认=Inflation Rate (real) dr 可选,折现率,默认=Discount Rate
返回 (unit) 如果模型正在对特定年份运行基于时间的分析,pvx 返回该年份的名义现金流量。否则,pvx 返回所有现金流量的现值。
描述 要使用 pvx 原语,模型还应包含定义以下值的节点: - Inflation Rate = 现金流量值增长的比率 - Discount Rate = 用于现值计算的折现率 当模型运行依赖于时间的计算时,pvx 使用以下公式返回年份 t 的名义现金流量: 当模型以正常模式运行时,pvx 使用以下公式计算现值: 通货膨胀率和折现率可以依赖于时间。例如,以下公式以 65% 的自相关对通货膨胀建模: ``` Inflation Rate:={
t<=0?=4%;
0.65(Inflation Rate{t-1}-4%)+4%+sqrt(1-0.65^2)
nrand(0,2%);
} *pmt* 值应以 **t0** 美元输入,并按 **Inflation Rate** 自动膨胀。例如,如果定义: Inflation Rate:=5% Discount Rate:=10% 并将 t0 设置为 2000 年 1 月 1 日 Costs:=pvx(100,5,2) ``` 表示 2005 年的现金流量为 128,2006 年为 134。
示例
另请参阅 Time ValueTime Assignmenttt0pv

qt

夸脱,体积计量单位

类别 说明
格式 qt
定义 qt=2*pt
另请参阅 ptPredefined UnitsBase Units

qtr

季度,时间计量单位

类别 说明
格式 qtr
描述 季度,时间计量单位 例如,6*qtr 或 6qtr 等于 6 个季度。
另请参阅 dahalfhrmnmowkyr

Quote

运算符 "x",指定文本字符串

类别 说明
格式 "x"
参数 x 任意字母数字字符串
返回 (text) x
描述 引号用于将命令中的一部分文本区分为字符串,而非要求值的表达式。例如,命令 say(2+3) 会显示 5,而命令 say("2+3") 会显示文本字符串 2+3。 可以使用反斜杠字符 () 后跟所需代码的编号,将 1 到 255 之间的所有 ASCII 和扩展 ASCII 代码插入任何文本字符串。要表示插入的是字面反斜杠而非代码,必须使用双反斜杠 (\)。 可以使用一组特殊字符代替数字代码来插入格式字符。例如,\n 会插入开始新行的代码(ASCII 10)。所有可识别的代码列于下表中。如果反斜杠后跟无法识别的字符,则反斜杠和后面的字符将被忽略。
示例
另请参阅 tostringevalAdd

rand

来自均匀分布的伪随机数

类别 说明
格式 rand(x1,x2)
参数 (unit) x1 可选,下限;默认=0 (unit) x2 可选,上限;默认=1
返回 (unit) x1x2 之间的伪随机数
描述 rand 生成一个随机数,其取上下限之间(x1 <= rand < x2)任意数值的可能性均等。 rand 生成的数字序列的周期基本上是无限的。此外,不存在明显的顺序相关性。随机数的粒度优于 1e-10。
示例
另请参阅 drandtrandnrandlrandbrandprandgrandwrandbetarandcrandsetrandcorrelate

Range

运算符 x..y,创建从 x 到 y 的数字列表

类别 说明
格式 x..y
参数 [num] x 下限和可选的第二个元素 [num] y 上限和可选的步长
返回 [num] xy 之间(含两端)的数字列表
描述 Range 运算符生成一个数字列表。通常,数字从 xy 以步长 1 顺序排列。可以通过以下两种方式之一指定不同的步长。第一种,通过指定要遵循的模式(例如,[x1,x2]..xn);第二种,通过显式指定步长(例如,x1..[xn,step])。
示例
另请参阅 List Literalmakelist

rankcorrelation

衡量两个排名之间的对应关系

类别 说明
格式 rankcorrelation(list1,list2)
参数 [real] list1, list2 输入列表
返回 (real) 两个列表之间的秩相关系数
描述 rankcorrelation 衡量两个排名(list1、list2)之间的对应关系,并为该对应关系赋予一个值。系数 1.0 表示 100% 相关,-1.0 表示 100% 负相关。秩相关增加意味着排名之间的一致性增加。 两个列表都可以是排名数据,或者一个列表可以是排名数据而另一个列表可以是松散输入值。 rankcorrelation 还可用于通过将 rankcorrelation 返回的值与设定的秩数进行比较,来评估两个输入偏离设定秩的程度。 使用 correlation 原语来衡量两个列表的相关系数。
示例 ``` rankcorrelation([1,2,3,4,5],[1,2,3,4,5]) = 1
rankcorrelation([1,2,3,4,5],[6,7,8,9,10]) = 1
rankcorrelation([5,4,3,2,1],[1,2,3,4,5]) = -1
rankcorrelation([1,2,3,4,5],[10,9,8,7,6]) = -1
rankcorrelation([1,3,5,4,2],[1,2,3,4,5]) = 0.3
rankcorrelation([1,2,3,5,4],[1,2,3,4,5]) = 0.9 ```
另请参阅 correlationvariancestdrsquared

rate

投资利率

类别 说明
格式 rate(fv,pv,term)
参数 (real) fv 终值 (real) pv 现值 (real) term 期数
返回 (real) 使 pv 的投资在 term 期内增长到终值 fv 所需的定期利率
描述 利率使用以下公式计算:
示例
另请参阅 termpvfvpmtnpvirrcf

read

加载文本文件的内容

类别 说明
格式 read(file)
参数 (text) file 要读取的文件名称
返回 (text) file 的内容
描述 read 将 file 的内容作为单个文本字符串加载。可以使用形如 tolist(read(file),"\n") 的语句将文件分解为记录列表。 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须输入两次(例如,"c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 readbinreadcsvreadtxtreadhttpreadobjwriteappendgetfile

readbin

加载二进制数据文件的内容

类别 说明
格式 readbin(file,password)
参数 (text) file 要读取的文件名称 (text) password 可选,用于加密已保存文件内容的密码;默认=不加密
返回 [any] file 的内容
描述 readbin 将 file 的内容作为矩阵加载。该文件必须使用 writebin 创建。如果在写入文件时使用了密码,则必须使用相同的密码读取该文件。 函数 readobj/writeobj 和 readbin/writebin 相似,两者都使用二进制文件读/写数据。当需要密码保护文件时,推荐使用 readbin/writebin,因为 readobj/writeobj 不支持对文件进行密码保护。在所有其他情况下,推荐使用 readobj/writeobj,因为它以更压缩的形式保存数据,并且读/写数据的速度更快。 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须输入两次(例如,"c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 readreadcsvreadtxtreadobjreadhttpwritebin

readcookie

从用户的 Web 浏览器读取持久性 cookie

类别 说明
格式 readcookie( name )
参数 (text) name cookie 名称
返回 (text) 如果名为 name 的 cookie 存在,则返回其值;如果不存在,则返回 null
描述 从用户的 Web 浏览器读取持久性 cookie。
示例
另请参阅 writecookieenvhostipaddress

readcsv

加载逗号分隔数据文件的内容

类别 说明
格式 readcsv(file)
参数 (text) file 要读取的文件名称
返回 [any] file 的内容
描述 readcsv 将逗号分隔值(CSV)文件的内容作为矩阵加载。 CSV 格式文件是包含由逗号分隔的一维或二维值数组的文本文件。文件中的每条记录是一个列向量。 DScript 假定任何包含非数字字符的字段为字符串,所有其他字段为数字。包含逗号的文本字段必须用引号括起来。 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须输入两次(例如,"c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 readreadtxtreadhttpreadbinreadobjwritecsvappendcsv

readhttp

通过 HTTP 协议从 Internet 读取文档

类别 说明
格式 readhttp(url,file)
参数 (text) url 使用 HTTP 协议的任意有效 Internet URL,包括对 HTML 文档和 CGI 脚本的引用 (text) file 可选,用于存储 readhttp 下载数据的文件名称
返回 (text) 由 url 指定的远程文档的内容
描述 readhttp 通过 Internet 与远程主机建立链接并请求文档。readhttp 与 read 原语相似,因为它将文档的全部内容作为文本字符串返回。readhttp 与 read 的不同之处在于,读取的文档可以位于连接到 Internet 或企业 Intranet 的任何计算机上。如果提供文件名,则 URL 文档的内容将写入该文件,而不是作为文本字符串返回。这允许下载二进制文件。 此原语提供对 Internet 的编程访问。这允许从任何 Web 站点检索最新信息,并自动解析数据以提取有价值的信息。例如,可以轻松构建一个库函数,从提供股票报价服务的站点读取实时股票价格。 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须输入两次(例如,"c:\temp.txt" 而不是 "c:\temp.txt")。
注意 此原语运行需要 Internet 连接。只要网络软件使用 Windows Sockets 协议,连接可以通过 LAN 或拨号连接。
示例
exec-script.dsb-Result") ``` = 读取名为 script.dsb 的脚本中名为 Result 的节点的值
另请参阅 readmaildialog

readobj

加载二进制数据文件的内容

类别 说明
格式 readobj(file)
参数 (text) file 要读取的二进制文件名称
返回 [any] file 的内容
描述 readobj 加载使用 writeobj 或 writebin(无密码)写入的二进制文件的内容。 函数 readobj/writeobj 和 readbin/writebin 相似,两者都使用二进制文件读/写数据。当需要密码保护文件时,推荐使用 readbin 和 writebin,因为 readobj 和 writeobj 不支持对文件进行密码保护。在所有其他情况下,推荐使用 readobj 和 writeobj,因为它们以更压缩的形式保存数据,并且处理数据的速度更快。 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须输入两次(例如,"c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 readreadcsvreadtxtreadhttpreadbinwriteobj

readsimplex

导入逗号分隔数据并执行线性优化

类别 说明
格式 readsimplex(file,vector)
参数 (text) file 包含 CSV 格式矩阵数据的文件名称 [real] vector 可选,用于替换 CSV 文件矩阵中最后一列的右侧向量
返回 [real] 单纯形优化的结果
描述 导入逗号分隔数据并执行线性优化 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须输入两次(例如,"c:\temp.txt" 而不是 "c:\temp.txt")。
另请参阅 simplexsimplex2mxsimplex

readtxt

加载制表符分隔数据文件的内容

类别 说明
格式 readtxt(file)
参数 (text) file 要读取的文件名称
返回 [any] file 的内容
描述 readtxt 将制表符分隔数据文件的内容作为矩阵加载。 制表符分隔文件是包含由制表符分隔的一维或二维值数组的文本文件。文件中的每条记录是一个列向量。DScript 假定任何包含非数字字符的字段为字符串,所有其他字段为数字。 如果 file 不包含完整路径信息,则假定该文件与 .mdl 或 .dsb 应用程序文件位于同一目录中。如果包含路径信息,请记住在文本字面量中反斜杠字符必须输入两次(例如,"c:\temp.txt" 而不是 "c:\temp.txt")。
示例
另请参阅 readreadcsvreadhttpwritetxtappendtxt

readuserfile

提示 Web 用户输入文件名称并上传其内容

类别 说明
格式 readuserfile(message,default,title,buttons)
参数 (text) message 可选,要显示的消息;默认=节点 Form 窗口的内容(dialogtemplate) (any) default 可选,文本框中显示的默认值;默认="" (text) title 可选,对话框框架上显示的标题;默认="" (int) buttons 可选,指示所显示按钮类型的代码;默认=0(详见 dialog)
返回 (text) 用户所选文件的内容
描述 readuserfile 提示用户指定要从其计算机上传的文件的位置。 如果在 HTML 表单中使用此函数,必须更改信封以使用 multipart 编码发送数据。为此,将以下行: <form action="dscript" method="post"> 替换为 <form action="dscript" method="post" enctype="multipart/form-data">
示例 InputFile:=readuserfile("Please select the Input file")
另请参阅 asknumberaskyesnoasktextaskmultitextchoosesaydialog

real

复数的实部

类别 说明
格式 real(z)
参数 {num} z 复数
返回 {unit} 复数 z 的实部
示例
另请参阅 imagabsargI

redirect

将用户转移到活动脚本之外的 Web 页面

类别 说明
格式 redirect(url)
参数 (text) url 目标页面的 URL
返回 null
描述 将用户转移到活动脚本之外的 Web 页面
示例
另请参阅 dialog

reduceunits

在当前单位制中显示时的不带单位的数值

类别 说明
格式 reduceunits(x)
参数 (num) x 输入值
返回 (num) 在当前单位制中显示时的不带单位的数值
描述 reduceunits 去除输入的单位,并按其在当前单位制中显示的方式显示该值(但不带单位)。 下面的示例假定当前单位制为 Meter/Kilogram/Second。
示例
另请参阅 nounitshasunitsstripunitsunitsofredunits

redunits

将常量标识为约化单位

类别 说明
格式 redunits(namespec)
参数 {node} namespec 可选,要标识为约化单位的节点名称列表;默认=null
返回 [text] 所有活动约化单位的列表
描述 redunits 用于标识用作约化单位的常量。namespec 中的节点必须是常量,并且必须已经创建。如果已有的约化单位与 namespec 中的新单位具有相同的量纲,则旧约化单位在单位约化中不再有效。
示例
另请参阅 Predefined Units

Remainder

运算符 x%y,x/y 的余数

类别 说明
格式 A%B
参数 (real) x 任意数字 (real) y 除零以外的任意数字
返回 (real) x/y 的余数(模)
示例
另请参阅 Divide

remove

从内存中移除节点

类别 说明
格式 remove(namespec)
参数 {node} namespec 任意节点名称列表
返回 [text] namespec
描述 remove 消除 namespec 中的所有节点,并将这些节点占用的内存释放给系统。
示例
另请参阅 alltreelistrootnodeselectednodeendnodesinputsoutputsrename

removedirectory

删除文件目录或文件夹

类别 说明
格式 removedirectory(directory)
参数 (text) directory 要移除的目录路径
返回 (text) 已移除的目录名称
描述 移除(删除)用户文件系统中的目录。
示例 removedirectory("C:\\New Directory")
另请参阅 createdirectorycopyfiledeletefile

rename

重命名节点

类别 说明
格式 rename( from, to )
参数 (text) from 节点的当前名称 (text) to 节点的新名称
返回 (text) 节点的新名称
描述 重命名节点并修改所有父节点的定义。
示例 rename("NodeA","NodeB")
另请参阅 removeexistsshow

repeat

通过将子字符串重复给定次数而创建的字符串

类别 说明
格式 repeat(text,n)
参数 (text) text 输入文本字符串 (int) n 重复 text 的次数
返回 (text) 包含 text 重复 n 次的字符串
示例
另请参阅 Add

replace

替换子字符串的特定出现位置

类别 说明
格式 replace(text,offset,len,rep)
参数 (text) text 输入文本字符串 (int) offset 要替换文本的起始位置 (int) len 要替换文本的长度 (text) rep 替换文本
返回 (text) 将 text 中从 offset 开始的 len 个字符替换为 rep 后的结果
示例
另请参阅 substitutefind

replist

替换子列表的特定出现位置

类别 说明
格式 replist(list,offset,len,rep)
参数 [any] list 输入列表 [int] offset 子列表的起始位置 (int) len 要替换的子列表长度 [any] rep 替换列表
返回 [any] 将 list 中从 offset 开始的 len 个元素替换为 rep 后的结果
描述 replist 可用于移除、插入或替换列表中的元素。 offset 参数可以是一个整数列表,用于指定层次列表中深层的位置。列表中的第一个整数是第一层的偏移量;第二个元素是第二层的偏移量,依此类推。例如,列表 [[1,2],[3,4,5],[6,7]] 中偏移量为 2 的元素是子列表 [3,4,5]。偏移量为 [2,3] 的元素是数字 5。
示例
另请参阅 AssignList Elementindexsublist

replybin

向请求主机发送数据

类别 说明
格式 replybin(data)
参数 [any] data 任意数据,包括列表、矩阵和对象
返回 [any] data 的值
描述 replybin 向请求主机发送数据。 replybin 用于网格计算配置中,以建立网格中主机之间的通信。
示例 ``` Root:={
"/ open a remote process /";
var sid=readhttp("http://127.0.0.1/CalcServer.dsb");
;
"/ request data from the process /";
var result=readhttp("http://127.0.0.1/dscript?READ-"+sid+"-PI");
;
"/ shut the remote process down /";
readhttp("http://127.0.0.1/dscript?EXEC-"+sid+"-EXIT");
;
return result;
}
Root:={
replybin(sessionid);
while(1)
waitforrequest;
} ```
另请参阅 waitforrequestreadhttp

reset

将所有常量标记为未求值

类别 说明
格式 reset
参数
返回 null
描述 将所有常量标记为未求值。在存在循环引用(如 x:=x+1)的情况下,这些常量保留其值。使用 clear 将所有值重置为 null。
示例
另请参阅 clearremove

Resource Tree

为模型加载资源树而执行的节点

类别 说明
格式 Resource Tree
参数
返回
描述 如果模型有一个名为 Resource Tree 的节点,则在加载模型、组件或 DLM 时执行该节点(在 OnLoad 节点之前)。Resource Tree 旨在用于加载定义模型中使用的功能的组件。
另请参阅 OnEndOnLoadOnStart

return

从函数调用返回指定的值

return 语句用于终止节点定义的执行,并可选地返回一个值。此语句的格式为

return expression ;

例如,以下定义扫描列表中的所有元素并返回第一个负值:

First Negative(list):={
  for(var n=0; list[n]!=null; n++)
    if(list[n]<0)
      return list[n];
}

如果未使用 return 语句提供返回值,例如,

return;

则返回 null 值。也就是说,

return;

等同于

return null;
另请参阅 Optional Return

reverse

反转列表中所有元素的顺序

类别 说明
格式 reverse(list)
参数 [任意] list 输入列表
返回 [任意] list,所有元素从最后一个到第一个依次交换
示例
另请参阅 sort

RGB

构建一个 RGB 颜色值

类别 说明
格式 RGB(R,G,B)
参数 (int) R 红色值 (int) G 绿色值 (int) B 蓝色值
返回 (int) RGB 十六进制值
示例

右移

运算符 x>>y,将数字中的位向右移位

类别 说明
格式 x>>y
参数 (int) x, y 任意整数
返回 (int) x 的值,其所有位向右移位 y
说明 此运算符将 x 从浮点数转换为 32 位整数,将所有位向右移位 y 位,并将结果作为浮点数返回。右移与零填充右移的区别在于符号位的处理方式。使用右移时,最高有效位保持不变,从而保留符号。使用零填充右移时,最高有效位被设置为零。
示例
另请参阅 零填充右移左移按位与、[按位或](#bitwise_or "Operator x

汇总

使用当前节点名称显示该记录在系统中定义的每个实体的合计

注意:此原语只能在报表编写器(Report Writer)中使用。

请参阅使用报表编写器创建自定义界面。

类别 说明
格式 Rollup
参数
返回 (任意) 返回 Assumptions.activenode 的值
说明 使用当前节点名称显示该记录在系统中定义的每个实体的合计。其功能与 Assumption 原语相同,但 Rollup 按实体展开(分解)。在子实体中,Rollup 等同于 Assumption。非平铺。
示例
另请参阅 activenodeAssumptionMixedRollupWhere

RollupWhere

根据应用于匹配所设筛选条件的记录的属性,动态构建可折叠的树结构

注意:此原语只能在报表编写器(Report Writer)中使用。

请参阅使用报表编写器创建自定义界面。

类别 说明
格式 RollupWhere
参数
返回 [real] 所有匹配所应用筛选条件的记录的值之和。
说明 根据应用于匹配所设筛选条件的记录的属性,动态构建可折叠的树结构。筛选条件以对象形式指定,例如:{fieldName:\"Value\"} RollupWhere 的功能与数据透视表中的以下选项相同: - 记录筛选(Filter) - 分组顺序(Fields) - 单位(Units) 请参阅使用数据透视表
示例 Total Revenue:=RollupWhere({entity:"##ENTITY##",Function:"Revenue"},["Product_Name"],"Unit_$ASP") - entity:"##ENTITY##":必需的第一个参数。 - Function:"Revenue":筛选具有 Revenue 属性的记录。 - ["Product_Name"]:进一步筛选具有 Product_Name 属性的记录。 - "Unit_$ASP":可选的计量单位。 第一个参数之后的任何参数都必须用方括号括起来(例如 ["Product_Name"])。
另请参阅 AssumptionMixedRollup

root

函数的根(或零点)

类别 说明
格式 root(f(x),x,x1,x2)
参数 (unit) f(x) 要求解的函数或表达式 (node) x f(x) 中输入变量的名称 (unit) x1 x 值的初始猜测值或 x 的下限 (unit) x2 可选的 x 上限
返回 (unit) f(x) = 0 时 x 的值
说明 root 查找使 f(x) = 0 的 x 值。必须为 root 提供 x 值的单点猜测值,或提供下限和上限。root 根据所提供的起始方法使用不同的方法来查找 x 的值。如果同时提供 x1x2 的值,则 f(x1)f(x2) 的值必须符号不同。如果满足此条件,root 总能找到解。如果只提供 x1 的值,root 会通过调整 x1 向下搜索解,直到找到解或遇到局部最小值。如果 root 未能收敛到解,请尝试为 x1 使用其他值。 root 是一个近似函数,受精度(precision)所设置的容差约束。root 会创建一个名为 x 的临时变量。如果已存在同名节点,则在 f(x) 的所有求值过程中将其替换,之后恢复其原始状态。
注意 如果表达式 f(x) 是树节点而非基于 x 的函数,则必须使用 reset 原语以使树在每次迭代时重新计算。常量会保留其首次求值时的值,并在所有后续求值中返回该值。要使常量重新求值,请使用类似以下的表达式 root({reset,f},x,x1,x2) 而不是 root(f,x,x1,x2))
示例
另请参阅 precisionsolveminimize

rootnode

活动树中根节点的名称

类别 说明
格式 rootnode(sheet,type)
参数 (text) sheet 可选的树工作表名称;默认 = topsheet (int) type 选项标志,指示应返回主根还是分页分支根;默认 = false(主根)
返回 (text) 活动树中根节点的名称,如果没有活动树则返回空字符串
另请参阅 alltreelistselectednodeendnodesinputsoutputs

round

将数字四舍五入到指定的小数位数

类别 说明
格式 round(x,n)
参数 (num) x 要舍入的任意实数或复数 (int) n 可选的小数位数,介于 -308 和 15 之间;默认=0
返回 (num) x 舍入到 n 位小数
说明 如果 n 为正数,x 舍入到第 n 位小数。如果 n 为负数,x 舍入到小数点左侧。例如,round(x,-3) 将 x 舍入到最接近的千位。如果舍弃的第一位数字为 5 或更大,则前一位数字向上舍入。
示例
另请参阅 floorceilinteger

rsquared

回归线的 R 平方拟合优度度量

类别 说明
格式 rsquared([x1,x2,...],y,zero)
参数 [real] [x1,x2] 自变量值列表 [real] y 因变量值列表 (bool) zero 可选的零 y 截距;默认=否
返回 (real) 未调整的 R 平方(介于 0 和 1 之间的值)
说明 R 平方是衡量最小二乘回归线与一组输入数据点拟合程度的指标。值为 1 表示完美拟合,而 0 表示 x 值与 y 值之间没有相关性。换一种表述方式,R 平方是可由自变量 x1x2、... 解释的因变量 y 的方差百分比。 rsquared 设计为与 linefit 配合使用。
示例 将形如 y(x)=b+m*x 的直线拟合到数据点:(1,7)、(3,15)、(4,14)、(7,20) 和 (8,30),并计算 R 平方拟合优度度量。
另请参阅 linefitstderrorcorrelation

safeexp

指数(E^x),带防止溢出的陷阱

类别 说明
格式 safeexp(x)
参数 (comp) x 指数函数的参数
返回 (comp) 指数(E^x),带防止溢出或下溢的陷阱
说明 safeexp 返回值的指数,同时通过陷阱防止溢出和下溢错误
示例
另请参阅 exp

save

将当前文档保存到文件

类别 说明
格式 save(file)
参数 (text) file 文件名(与所有文本字符串一样,反斜杠字符 () 必须输入两次 (\),以表示字面反斜杠,而非控制代码的开头)
返回 (text) file
说明 此原语将当前文档(模型或脚本)保存到文件。
示例
另请参阅 close

say

显示消息

类别 说明
格式 say(message,title,buttons)
参数 [任意] message 可选的要显示的消息;默认=节点 Form 窗口的内容(dialogtemplate) (text) title 可选的显示在对话框框架上的标题;默认="" (int) buttons 可选的指示所显示按钮类型的代码;默认=0(参见 dialog)
返回 null
说明 message 的值显示在对话框或 HTML 表单中。当逻辑前瞻(Logical Look-Ahead)处于活动状态时,此函数会被门控,以防止在使用逻辑与/逻辑或的表达式中进行不必要的用户输入。
另请参阅 dialogformappendwritewatch逻辑与、[逻辑或](#logical_or "Operator x

scriptdir

正在执行的脚本所在的文件目录

类别 说明
格式 scriptdir
参数
返回 (text) 活动模型或脚本所在的目录名称
示例
另请参阅 programdircomponentdir

sec

秒,时间计量单位

类别 说明
格式 sec
定义为 基本单位
另请参阅 预定义单位基本单位

second

从日期时间序列号导出的秒

类别 说明
格式 second(sernum)
参数 (unit) sernum 可选的日期和时间序列号;默认 = now
返回 (int) sernum 隐含的秒(0-59)
注意 所有日期和时间原语使用的序列号是任意基准日期与指定日期和时间之间经过的秒数。1584 年之前的日期无效。 datenum 和 now 原语返回的序列号包含时间计量单位。使用包含单位 yr、mo、wk、da、hr、mn 和 sec 的公式来修改日期序列号。
示例
另请参阅 datenumnowdatetimeyearmonthdayhourminuteweekday

selecteditem

从对话框结果列表中提取所选的下列菜单项

类别 说明
格式 selecteditem(data)
参数 [任意] data 对话框结果列表中的单个元素
返回 (任意) data 中所选的项
说明 从对话框结果列表中提取所选的下列菜单项
另请参阅 dialog

selectednode

所选树节点的名称

类别 说明
格式 selectednode(all)
参数 (bool) all 可选标志,指示是否应返回所有选中的节点,false=仅主节点,true=所有选中的节点;默认=false
返回 (text) 活动树中当前所选树节点的名称,如果未选择节点则返回 null
说明 使用此原语创建自定义菜单项。在用户突出显示未定义节点的情况下,此原语返回的节点不一定存在。
示例
另请参阅 alltreelistrootnodeendnodesinputsoutputs

selrand

设置列表项的概率并选择一项

类别 说明
格式 selrand(probs)
参数 (real) probs 值列表
返回 (real) 返回列表项的索引号
说明 selrand 设置列表中各项的概率(probs),并根据该概率选择一项。
示例
另请参阅 setrandranddrandtrandnrandlrandbrandprandgrandwrandbetarandcrandcorrelate

sessionid

由 Web 服务器分配给会话的唯一 ID

类别 说明
格式 sessionid
参数
返回 (text) 由 Web 服务器分配给活动会话的唯一 ID
说明 Web 服务器为每个会话分配唯一的 ID 号,以便将不同用户的事务分开。可以使用此编号与会话进行异步通信,或用于构造唯一的文件名。
另请参阅 envreadcookiehostipaddress

setauthentication

向 Vanguard 服务器发送用户身份验证信息

类别 说明
格式 setauthentication(username,password,domain)
参数 (any) username Vanguard 服务器使用的 Users.pas 文件中的用户名。 (any) password 由 username 指定的用户账户的密码。 (any) domain 由 Vanguard 服务器托管的域名。
返回 Null
说明 setauthentication 用于向 Vanguard 服务器发送用户身份验证信息。setauthentication 还用于在已通过身份验证的用户账户下运行脚本。来自 Web 表单的用户输入可以作为参数传递给 setauthentication。当子组件默认没有经过身份验证的访问权限时,setauthentication 还用于允许子组件访问父组件中的内容。
示例 setauthentication("John Smith","1p1p1","vanguardsw.com")
另请参阅 form

setcormat

设置蒙特卡洛模拟中使用的相关矩阵

类别 说明
格式 setcormat(cormat)
参数 [任意] cormat(可选)
说明 设置蒙特卡洛模拟中使用的相关矩阵

setinterval

设置一个在长时间计算期间定期调用的中断

类别 说明
格式 setinterval(function,seconds)
参数 (node) function 在长时间计算期间调用的节点 (unit) seconds 连续调用 function 之间的秒数
返回 null
说明 setinterval 使您能够指定一个函数,在长时间计算期间定期调用以向用户提供反馈。例如,可以在长时间计算期间向用户显示递增的进度条。 注意:如果要使函数在长时间计算期间被重复调用,请确保 function 参数中列出的节点是函数(即使它没有参数)而不是常量。
示例
另请参阅 status

setlanguage

为本地注释和表单字段选择现有语言

类别 说明
格式 _setlanguage(language)
参数 (text) language 必需。要应用于表单文本的语言名称;默认 = ""
返回 [null]
说明 _setlanguage 用于为本地注释和表单字段或 HTML 表单选择现有语言。语言通过 CCH Tagetik Supply Chain Planning Studio 中的 Forms 工具栏添加。在 CCH Tagetik Supply Chain Planning Studio 中,文本以某种语言编写,然后通过在 Forms 工具栏中输入名称来创建新语言的名称。例如,脚本中的英语表单文本可以在脚本中改写为法语,然后用户可以在 Forms 工具栏中输入名称 "French"。此时脚本就具有英语和法语两种表单文本。要切换英语到法语,使用 _setlanguage。 在浏览器中运行模型时,可以使用 URL 参数 Language 引用语言名称,并应用与该语言名称关联的文本。
示例 ``` _setlanguage("French")
http://localhost/Model.dsb?Language=french ```
另请参阅 dialogparamustointl

setrand

为随机数生成器设置种子

类别 说明
格式 setrand(seed)
参数 (real) seed 用于初始化随机数生成器的值
返回 (real) seed 的值
说明 setrand 初始化随机数生成器。每次系统首次启动时,随机数生成器使用当前日期和时间作为种子。这确保每个会话生成的数字序列都是唯一的。可以使用 setrand 显式地为生成器设置种子,以保证生成可重复的数字序列。如果不需要可重复性,则无需使用 setrand 初始化随机数生成器。
示例
另请参阅 randdrandtrandnrandlrandbrand、、prandgrandwrandbetarandcrandcorrelate

settimebase

设置基于时间的预测的零期间和期间长度

类别 说明
格式 _settimebase(t0,dt)
参数 (int) t0 对应于零期间日期的日期和时间序列号 (unit) dt 基于时间的模型中的期间长度
返回 [null]
说明 在使用任何 CCH Tagetik Supply Chain Planning Studio 基于时间的预测工具之前,必须设置对应于零期间(起始期间)的日期和期间长度。_settimebase 设置零期间和期间长度。 此处输入的值控制时间赋值(x{y})和时间值(x?=y)运算符以及 t、t0、dt、pvx 原语的操作。 要在 CCH Tagetik Supply Chain Planning Studio 中设置零期间和期间长度,请单击 Tools,单击 Dynamic Projections,然后单击 Set Time base。 使用以下单位预定义单位作为期间长度: yr = 365.25*da mo = yr/12 wk = 7*da da = 24*hr
示例
另请参阅 t0dt预定义单位pvxt时间赋值时间值todatetx

show

用于创建节点的定义或公式

类别 说明
格式 show(namespec,expand)
参数 {node} namespec 可选的节点名称列表;默认=all (bool) expand 可选标志,指示是否应使用换行符和制表符展开节点定义;默认=false
返回 (text) 包含 namespec 中所有节点定义的文本块
说明 show 用于显示附加到节点或节点列表的定义。如果指定了多个节点,则定义之间用换行符 (\n) 分隔。通配符 *(任意字符组)和 ?(任意单个字符)可用于 namespec
示例
另请参阅 alltreelistrootnodeselectednodeendnodesinputsoutputsparse

showlog

HTML 格式的会话日志缓冲区内容

类别 说明
格式 showlog
参数
返回 (text) 历史缓冲区内容的 HTML 呈现
说明 将会话历史缓冲区的内容转换为 HTML 以供显示
另请参阅 writelog

siemens

西门子,电导计量单位

类别 说明
格式 siemens
定义为 siemens=amp/volt
另请参阅 ampvolt预定义单位基本单位

sigma

函数在指定限值之间的求和

类别 说明
格式 sigma(f(x),x,x1,x2,step)
参数 (num) f(x) 要求和的函数或表达式 (node) x f(x) 中输入变量的名称 (num) x1 下限 (num) x2 上限 (num) step 可选的步长;默认=1
返回 (num) f(x)x 等于从 x1x2(含)以 step 为增量的所有数字时的和
说明 sigma 等同于标准数学表达式 sigma 会创建一个名为 x 的临时变量。如果已存在同名节点,则在 f(x) 的所有求值过程中将其替换,之后恢复其原始状态。 如果求和中的上限为无穷大,sigma 会不断添加项,直到最后一项的幅值小于基于精度设置所允许的最大误差。如果要相加的级数是交替幂级数(如 sin(x) 的泰勒级数展开),此技术可提供精确到所需精度的结果。
注意 如果表达式 f(x) 是树节点而非基于 x 的函数,则必须使用 reset 原语以使树在每次迭代时重新计算。常量会保留其首次求值时的值,并在所有后续求值中返回该值。要使常量重新求值,请使用类似以下的表达式 sigma({reset,f},x,x1,x2) 而不是 sigma(f,x,x1,x2)
示例
另请参阅 sum关于 For 语句infinityprecision

simplex

多变量函数的线性优化

类别 说明
格式 simplex([obj,c1,c2,...],unknowns,integer)
参数 (real) obj 要最大化的目标函数 (real) c1,c2,... 约束条件列表 [node] unknowns 未知数列表 [bool] integer 可选的布尔值列表,指示对应的未知数是否应限制为整数值;默认=false,无整数值(如果 integer 是单个值而非列表,则表示整数未知数的数量。)
返回 [real] 所有未知数的最优值列表(值按 unknowns 中指定的相同顺序返回)
说明 simplex 使用单纯形法执行线性优化。具体而言,simplex 查找所有未知数的正值,使目标函数在未知数的一组约束条件下最大化。此过程通常称为线性规划。 目标和约束条件可以是未知数的任意线性函数。这些方程各自可以是一个引用任意数量从属方程的模型,甚至可以使用诸如 integral 和 root 等近似原语。但是,每个方程最终必须对所有未知数都是线性的。simplex 会检查线性,如果不满足此限制,则发出错误消息。 始终生效的一组隐式约束是所有未知数必须为零或更大。 如果要最小化而非最大化目标函数,请将函数乘以 -1 并将此修改后的方程指定为目标。 在解释约束方程时,运算符 <、>、<=、>= 和 == 的定义会被取代。
示例 查找使方程 3x-y+4z 最大化且满足约束条件 c1 和 c2 的 xyz 的值: ``` c1: x+y+z<=10
c2: y>=4 **注意**:隐式约束 x >= 0、y >= 0 和 z >= 0 也适用。 结果列表 \[0,4,6\] 表示值 *x*=0、*y*=4、*z*=6 使目标函数 **Obj** 在约束条件 **C1** 和 **C2** 下最大化。无需创建节点 **Obj**、**C1** 和 **C2**。此问题可以使用单个定义求解 Result:=simplex([3x-y+4z,x+y+z<=10,y>=4],"x,y,z") ```
另请参阅 simplex2mxsimplexminimizesolve

simplex2

多变量函数的线性优化

类别 说明
格式 simplex2([obj,c1,c2,...],unknown,dimensions,integer)
参数 (real) obj 要最大化的目标函数 (real) c1,c2,... 约束条件列表 [node] unknowns 解矩阵的名称 [int] dimensions 解矩阵的大小 [bool] integer 可选的布尔值列表,指示对应的未知数是否应限制为整数值;默认=false,无整数值(如果 integer 是单个值而非列表,则表示从第一个开始为整数的未知数数量。)
返回 [real] 所有未知数的最优值矩阵(值按 unknowns 中指定的相同顺序返回)
说明 simplex2 使用单纯形法执行线性优化。此原语与 simplex 类似,不同之处在于它允许以矩阵形式指定目标和约束方程。 在解释约束方程时,运算符 <、>、<=、>= 和 == 的定义会被取代。
另请参阅 simplexmxsimplexminimizesolve

sin

正弦

类别 说明
格式 sin(x)
参数 {comp} x 以弧度表示的角度,可以是任意实数或复数
返回 {comp} 角度 x 的正弦
示例
另请参阅 costanasinacosatanatan2PI

sleep

暂停执行指定的时间

类别 说明
格式 sleep(time)
参数 (unit) time 应用程序应暂停的时间量
返回 (unit) time
说明 sleep 使系统进入 CPU 高效的等待状态,并将处理器控制权让给其他应用程序。系统暂停的时间量由 time 参数确定。通常,使用时间单位指定此参数(例如 2sec、3hr)。如果未指定时间单位,则假定所指定的数字以秒为单位。
示例
另请参阅 beep

slug

斯勒格,质量计量单位

类别 说明
格式 slug
定义为 slug=lb*gravity/(ft/sec^2)
另请参阅 lbgravityftsec预定义单位基本单位

socket_accept

等待来自远程客户端的 TCP/IP 套接字连接

类别 说明
格式 socket_accept(port)
参数 (int) port 端口号
返回 (int) 用于调用 socket_sendsocket_receivesocket_close 的套接字句柄
说明 socket_accept 等待来自远程客户端的 TCP/IP 套接字连接,并返回套接字连接的句柄。调用 socket_accept 会使当前脚本等待,直到客户端在指定端口上收到数据请求,然后返回套接字句柄并继续。
示例 ``` var socket=socket_accept(1024);
if(socket!=null) {
var block;
while(1) {
block=socket_receive(socket,1024);
if(block==null)
break;
data+=block;
}
socket_close(socket);
} ```
另请参阅 socket_closesocket_connectsocket_receivesocket_send

socket_close

关闭 TCP/IP 套接字连接

类别 说明
格式 socket_close(socket)
参数 (int) socket 由先前调用 socket_connectsocket_accept 创建的套接字句柄
返回 null
说明 关闭使用 socket_connectsocket_accept 打开的套接字。
示例 ``` var socket=socket_connect("www.vanguardsw.com");
if(socket!=null) {
socket_send(socket,"GET /default.htm HTTP/1.0\r\n\r\n");
var block;
while(1) {
block=socket_receive(socket,1024);
if(block==null)
break;
data+=block;
}
socket_close(socket);
} ```
另请参阅 socket_acceptsocket_connectsocket_receivesocket_send

socket_connect

连接到远程 TCP/IP 服务器

类别 说明
格式 socket_connect(url)
参数 (text) url
返回 (int) 用于调用 socket_sendsocket_receivesocket_close 的套接字句柄
说明 连接到远程 TCP/IP 服务器
示例 ``` var socket=socket_connect("www.vanguardsw.com");
if(socket!=null) {
socket_send(socket,"GET /default.htm HTTP/1.0\r\n\r\n");
var block;
while(1) {
block=socket_receive(socket,1024);
if(block==null)
break;
data+=block;
}
socket_close(socket);
} ```
另请参阅 socket_acceptsocket_closesocket_receivesocket_send

socket_receive

在 TCP/IP 套接字连接上接收数据

类别 说明
格式 socket_receive(socket,bytes)
参数 (int) socket 由先前调用 socket_connectsocket_accept 创建的套接字句柄 (int) bytes 要接收的最大字节数
返回 (text) 从指定套接字上的主机接收到的数据,如果没有更多数据等待,则为 null
说明 在 TCP/IP 套接字连接上接收数据
示例 ``` var socket=socket_connect("www.vanguardsw.com");
if(socket!=null) {
socket_send(socket,"GET /default.htm HTTP/1.0\r\n\r\n");
var block;
while(1) {
block=socket_receive(socket,1024);
if(block==null)
break;
data+=block;
}
socket_close(socket);
} ```
另请参阅 socket_acceptsocket_closesocket_connectsocket_send

socket_send

在 TCP/IP 套接字连接上发送数据

类别 说明
格式 socket_send(socket,data)
参数 (int) socket 由先前调用 socket_connectsocket_accept 创建的套接字句柄 (text) data要发送到远程主机的数据
返回 null
说明 在 TCP/IP 套接字连接上发送数据
示例 ``` var socket=socket_connect("www.vanguardsw.com");
if(socket!=null) {
socket_send(socket,"GET /default.htm HTTP/1.0\r\n\r\n");
var block;
while(1) {
block=socket_receive(socket,1024);
if(block==null)
break;
data+=block;
}
socket_close(socket);
} ```
另请参阅 socket_acceptsocket_closesocket_connectsocket_receive

solve

求解一组联立线性方程

类别 说明
格式 solve([e1,e2,…],unknowns**)
参数 [real] [e1,e2,...] 要求解的线性方程列表 [node] unknowns 未知数列表
返回 [real] 包含使所有方程同时为零所需的每个未知数取值的列表(返回值顺序与 unknowns 中指定的顺序相同)
说明 solve 求一组联立方程的解。每个方程可以是一个引用任意数量下级节点的模型,方程甚至可以使用诸如积分和求根之类的近似原语。但是,每个方程最终必须对所有未知数都是线性的。solve 会检查线性,如果不满足此限制,则发出错误消息。 如果指定的方程数少于未知数,则存在无穷多个精确解,solve 只返回其中一个。如果方程数多于未知数,则很可能不存在精确解。在这种情况下,solve 执行线性回归,以找出使误差平方和最小的未知数取值集合。即, 如果方程数少于未知数,或者两个或多个方程线性相关,则发出以下消息:
注意 在解释要求解的方程时,运算符 == 的定义被取代。
示例 求满足以下方程组的 xyz 的值: ``` e1: x+y+z = 9
e2: x-y+2z = 0
e3: f(x,y) = -2z where f(x,y) = 12-3x-y 结果列表 \[3,5,1\] 表示解 *x*=3、*y*=5、*z*=1 使所有方程(e1、e2 和 e3)同时等于零。 无需创建节点 **E1**、**E2** 和 **E3**。此问题可以使用单个定义求解。 Result:=solve([x+y+z==9,x-y+2z==0,12-3x-y==-2z],"x,y,z") ```
另请参阅 rootlinefit

sort

按值从低到高排序的列表

类别 说明
格式 sort(list,index)
参数 [any] list 要排序的列表 [any] index 可选,用于定义 list 排序顺序的索引元素列表;默认=list
返回 [any] 按值从低到高排序的 list
说明 sort 将 list 的元素按值从低到高排序。如果元素是文本字符串,则元素按字母顺序排列。如果提供了 index,则 list 的元素根据 index 中对应元素的值进行排序。
示例
另请参阅 reverse

sql

使用标准 DSN 数据通过 ODBC 执行 SQL 查询

类别 说明
格式 sql(database,username,password,query,cache)
参数
返回 [any] 数据库查询的结果
说明 使用标准 DSN 数据通过 ODBC 执行 SQL 查询。
另请参阅 sqlquery

sqlgetsource

提示本地用户选择 ODBC 数据源

类别 说明
格式 sqlgetsource
参数
返回 (text) 用于输入到 sqlquery 的数据库源规范
说明 提示本地用户选择 ODBC 数据源。
另请参阅 sqlquery

sqlquery

使用扩展 DSN 数据通过 ODBC 执行 SQL 查询

类别 说明
格式 sqlquery(driver,query,cache)
参数
返回 [any] 数据库查询的结果
说明 使用扩展 DSN 数据通过 ODBC 执行 SQL 查询
另请参阅 sqlsqlgetsource

sqrt

平方根

类别 说明
格式 sqrt(x)
参数 {num} x 任意实数或复数
返回 {num} x 的正平方根
示例
另请参阅 Power

status

在状态栏上显示消息

类别 说明
格式 status(message)
参数 [any] message 要显示的任意文本或数值
返回 [any] message 的值
说明 status 在状态栏上显示消息,并继续执行当前应用程序。此原语可用于监视非常长的计算的状态,或在请求输入时向用户提供说明。
示例
另请参阅 watchsaydialogasknumberaskyesno

std

列表中所有数字的标准差

类别 说明
格式 std(list) std(x1,x2,...)
参数 [num] list 输入列表(必须至少包含两个元素) (num) x1, x2, ... 输入值
返回 (num) 如果只提供一个参数,则为 list 中所有元素的标准差;如果提供多个参数,则为所有参数的标准差
说明 使用 N-1(无偏)方法计算标准差,公式如下:
示例
另请参阅 variancecorrelationcountsumprodavgmaxminmed

stderror

回归分析中每个系数的标准误差

类别 说明
格式 stderror([x1,x2,...],y,zero)
参数 [real] [x1,x2] 自变量值列表 [real] y 因变量值列表 (bool) zero 可选,y 截距为零;默认=no
返回 [real] 包含每个回归系数 bm1m2、...、mn 的标准误差的列表
说明 最小二乘回归系数的标准误差是衡量该系数与输入数据点拟合程度的指标。更具体地说,它表示回归系数的标准差。 stderror 设计为与 linefit 配合使用。
示例 将形式为 y(x)=b+m*x 的直线拟合到数据点:(1,7)、(3,15)、(4,14)、(7,20) 和 (8,30)。并计算每个系数的标准误差。
另请参阅 linefitrsquared

string

字符串对象构造函数

类别 说明
格式 string(value)
参数 [any] value
说明 字符串对象构造函数

striphtml

移除所有度量单位后的数字

类别 说明
格式 striphtml(text)
参数 (text) text 输入文本
返回 (text) 移除了 HTML 代码的文本字符串
说明 返回移除了 HTML 代码的文本字符串。
示例