C.2模块

在GRT模块中,包含包含导出用于在其他模块,脚本或工作台本身的代码使用的函数列表的库。模块可以用C ++或Python写入,但用于参数和返回值的数据类型必须是GRT类型。

GRT模块类似于Python模块,但是从内置导入gr模块,而不是直接来自外部文件。加载到的模块列表gr模块是从grt.modules.。模块可以使用诸如的语句在Python中导入来自Grt.modules导入WBModel

将函数导出为来自Python代码的模块,请执行以下步骤:

  1. 源文件必须位于User Modules文件夹中。此路径显示在Workbench脚本脚本shell中用标签寻找用户插件。也可以使用主菜单项安装文件脚本安装插件/模块文件

    表C.2默认用户模块文件位置

    操作系统 文件路径
    视窗 %appdata%\ mysql \ workbench \ modules
    苹果系统 〜用户名/库/应用程序支持/ mysql / workbench / modules
    Linux. 〜用户名/ .mysql / workbench / modules

  2. 源文件名必须具有扩展名_grt.py.;例如,my_module_grt.py.

  3. 必须定义某些模块元数据。这可以使用efferemodule.来自WB模块的功能:

    从WB导入* moduleInfo = definemodule(name ='mymodule',作者='您的姓名',版本='1.0')
  4. 要导出的功能需要宣布他们的签名。这是在以前创建的modelinfo对象中使用的导出装饰器实现的:

    @ moduleinfo.export(grt.int,grt.string)def checkstring(s):...

    为了出口语句,首先列出返回类型,然后是输入参数类型,指定为GRT Typenames。可以使用以下类型名称:

    • grt.int.:一个整数值。还用于布尔值。

    • grt.double.:浮点数数值。

    • grt.string.:UTF-8或ASCII字符串数据。

    • grt.dict.:键值字典项。键必须是字符串。

    • grt.list.:其他值的列表。可以将内容的类型指定为表单中的元组(grt.list,。例如,用于字符串列表的(grt.list,grt.string)。有关表对象列表,将指定以下内容:(grt.list,grt.classes.db_table)

    • grt.object.:GRT对象或GRT类对象的实例,来自GRT.Classes.

    笔记

    这些类型是定义的gr模块,必须在可供使用之前导入。

以下代码片段说明声明导出单个函数的模块:

来自WB导入*导入Grt moduleInfo = defiremodule(name ='mymodule',作者=“您的姓名”,版本='1.0')@ moduleinfo.export(grt.double,grt.string,(grt.list,grt.wubly))def printlistsum(消息,双函数):diplelist中d的sum = 0:sum = sum + d打印消息,sum返回和