加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

DAVE SDK 4.1.2 Help content (翻译)——MF

发布时间:2020-12-14 16:46:25 所属栏目:大数据 来源:网络整理
导读:?? MF 声明: MF MF ( ??? Closure function , ??? class returnType ) ????????????????????? 描述: 一个标准的 APP 需要一些从 GUI 上获取输入值的逻辑,用他们计算出另外的数值传递给 template 文件或者显示在 GUI 上另外的窗体部件上。 这可以通过 MF
??

MF

声明:

MF MF(

??? Closure function,

??? classreturnType

)?????????????????????

描述:

一个标准的APP需要一些从GUI上获取输入值的逻辑,用他们计算出另外的数值传递给template文件或者显示在GUI上另外的窗体部件上。

这可以通过MF函数来实现(事实上MF并不是一个函数而是一个闭包,例如一个构造函数的函数)。这种特殊的类型需要与Groovy的闭包区分。

Parameter name

Parameter type

Description

function

Closure

A Closure means some embedded code between braces

returnType

class

This parameter determines the class type of the closure (e.g. "Boolean","Integer","String","Float","List","Map")

?

Execution context

Instance constructor

?

例子:

在这个例子里我们的“DEMOAPP”有两个窗体元素:一个GLabel和一个GCheckGLabel的可见属性可以被MF设置和更新。在这种情况下当我们按下check box label 变得不可见。

void DEMOAPP(DaveEnv daveEnv){
??? glabel_1.visible = MF(
??????? {???????????????????? // The code between ..
??????????? gcheck_1value??? // .. braces is known .. 
????????},??????????????????? // .. as the "Closure"
??????? Boolean?????????????? // This is the "class" return type
??? )
}

MF 函数的执行方式:

在实际运行时DAVE?用一种特殊的方式来执行MF,与电子表格的执行方式相似。例如Microsoft Excel 文件。

我们把GUI中直接或间接变化的变量称为MVariables,就是MF中关联的变量。MVariables就像电子表中的单元格,他们可以包含常量或函数,常量就像一个没有输入值的函数。

?

定义:

Free MVariable: 包含常量的MVariable 或没有输入变量的MF函数

Non-free MVariable: 有输入值的 MF函数

?

MVariable 属性:

1. 如果你读取Non-freeMVariable你会得到函数值的更新。

2. 不可以更改"non-free"MVariable 的值或函数表达。

3. 如果你更改Free MVariable ,所有的于它相关的Non-free MVariable会由从属关系树向下递归直到所有受到影响的MVariables更新。

4. 不能做循环引用。

5. 所有APP GUI 变量是MVariables

6. 如果更新变量相同MVariables将不会更新。

7. MVariables可以在APP 构建时设定,但在MF 函数中只可读,应为它会自动更新。

?

?

an example of MVariables dependency tree:

MVariables 类型:

每一个 GUI Widget 有多种变量属性,但在于GUI交互时只有MVariables 导出的属性可以被控制。

  • MInt

  • MFloat

  • MString

  • MBoolean

  • MList

  • MMap

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读