Engee 文档

代码单元掩码

屏蔽交互式脚本的代码单元 示例中也详细讨论了如何使用代码单元屏蔽。

交互式控件通常用于更方便的参数化和代码的可视化表示。它们可以是各种数据输入框、列表、滑块等。在 Engee 中,这类元素是通过脚本编辑器interactive script icon 使用代码单元掩码实现的。

代码单元掩码*masks script pool 1 是将 Engee 脚本代码单元中的变量转化为交互式控件的工具。通过屏蔽,您可以完全隐藏单元格的代码,同时保留其全部功能。

创建代码单元掩码

要创建代码单元格遮罩,请将鼠标悬停在代码单元格上,然后在工具中选择 面罩 masks script pool 1添加字段

masks script pool 2 cn

添加字段将打开一个交互式菜单。根据字段类型的不同,添加菜单的选项也会发生变化(可用变量类型发生变化和/或出现附加设置)。共有四种类型可供选择:

  • 下拉列表 (下拉菜单)是一个选项下拉列表,只有一个选项可供选择。单击下拉列表后,就会出现要选择的选项。

    masks script pool 4

    下拉列表示例

    创建一个空代码单元格,并添加一个下拉列表掩码,设置如下:

    masks script pool 7

    保存后,代码单元格将改变外观:

    masks script pool 8

    代码单元格的内容将填入以下代码:

    dropdown_variable = "1" # @param ["1","2","3"] {allow-input:true}

    通过修改这段代码,您可以在不访问工具 面罩 masks script pool 1 的情况下更改掩码的内容。

  • 输入栏 (输入)是一个用于输入数据的窗口。

    masks script pool 3

    输入框示例

    创建一个空代码单元格,并添加一个输入框掩码,设置如下:

    masks script pool 9

    这里的 playholder 是在输入任何数据之前显示在输入框内的文本。它通常用于提示需要输入的信息。例如,对于日期字段,"以 YYYYY-MM-DD` 格式输入日期 "就很好用。

    我们会得到以下选项:

    masks script pool 10

    代码单元格的内容将填充以下代码:

    date_of_birth = "2025-01-16" # @param {type:"date",placeholder:"Введите дату в формате ГГГГ-ММ-ДД"}

    根据变量的名称,我们需要的是出生日期,而不是今天的日期(由系统自动设置),因此让我们将日期更改为正确的日期。您可以在掩码和代码单元格中更改日期,只需设置正确的日期,而不是指定的 "2025-01-16"。

    通过移除掩码日期,您可以看到占位符正常工作,并改善了用户体验:

    masks script pool 11

  • Markdown - 是一种用于实现代码掩码的 Markdown 标记表示法。

    masks script pool 5

    标记示例

    创建一个空代码单元格,并添加一个 Markdown 蒙版,设置如下:

    masks script pool 12

    # Построение синусойды
    
    Для построения простой синусойды используйте следующие блоки:
    
    |Блоки в модели|Описание|
    | --------- | -------- |
    |[Sine wave](https://engee.com/helpcenter/stable/ru/base-lib-sources/sine-wave.html)|Генератор синусоидального сигнала.|
    |[Terminator](https://engee.com/helpcenter/stable/ru/base-lib-sinks/terminator.html)|Заглушка выходного порта.|

    我们可以得到以下变式

    masks script pool 13

    代码单元格的内容将填充以下代码:

    # @markdown # Построение синусойды
    # @markdown
    # @markdown Для построения простой синуосойды используйте следующие блоки:
    # @markdown
    # @markdown |Блоки в модели|Описание|
    # @markdown | --------- | -------- |
    # @markdown |[Sine wave](https://engee.com/helpcenter/stable/ru/base-lib-sources/sine-wave.html)|Генератор синусоидального сигнала.|
    # @markdown |[Terminator](https://engee.com/helpcenter/stable/ru/base-lib-sinks/terminator.html)|Заглушка выходного порта.|
  • 滑块 (滑块)是一种滑块表示法,可从指定范围内选择数值。通过沿刻度移动滑块,可以从范围内选择数值。

    masks script pool 6

    滑块示例

    创建一个空代码单元格,并添加一个滑块蒙板,设置如下:

    masks script pool 14

    获取以下选项:

    masks script pool 15

    代码单元格的内容将填充以下代码:

    уровень_громкости = 0 # @param {type:"slider",min:0,max:100,step:1}

要编辑叠加掩码,请将鼠标光标移至其上,然后单击图标masks script pool 15 。由于屏蔽单元格的代码是完全有效的,因此您不仅可以编辑屏蔽,还可以编辑单元格代码。

要添加新字段、隐藏代码或再次隐藏掩码,请使用掩码的上下文菜单masks script pool 1

masks script pool 16

不使用编辑器界面创建掩码

本节介绍了在实际操作中可能有用的掩码单元格语法的一些功能。即使不打算手动创建掩码,也建议阅读本节内容。

在某些情况下,不使用掩码创建右键菜单masks script pool 1 而直接创建掩码可能更方便,因此我们来详细了解一下这个过程。

要手动创建遮罩,您需要自己重新创建语法,包括

  • 控件名称。某些元素有自己的参数来配置行为..;

  • 一个 # 注释和一个以 @ 开头的参数。

代码单元掩码控件已在上文介绍,共有四个。每个元素都有自己的手动创建方法。让我们分别举例说明:

下拉菜单 "是一个选项下拉列表,其中有一个选项被选中。当您点击下拉列表时,您会看到您想选择的选项。

下拉列表类型和子类的说明
  • 字符串 "是一种下拉列表类型,允许您从预定义的字符串选项中选择一个。这种界面元素通常用于从一组以字符串表示的可能值中选择一个值。它有两个子类型--editable(可编辑)和`not_editable`(不可编辑):

    • 字符串可编辑 "是下拉列表的一种子类型,允许输入文本以筛选现有选项。

      示例

      dropdown_string_editable = "test3" # @param ["test1", "test2", "test3"] {allow-input:true}

      dropdown string editable

    • string_not_editable 是下拉列表的子类型,*不*允许输入或编辑文本。

      例如

      dropdown_string_not_editable = "test2" # @param ["test1", "test2", "test3"]

      dropdown string not editable

  • raw 是一种下拉列表类型,允许使用任意和非标准数据作为选项。与通常只包含字符串的标准下拉列表不同,raw 可以包含复杂的数据结构,如数字、列表、对象等。

    • raw_editable` 是下拉列表的一种子类型,允许输入和编辑任意和非标准数据。

      例如

      dropdown_raw_editable = 1 # @param [1, "input_raw", "false", '"string"'] {type:"raw", allow-input:true}

      dropdown raw editable

    • raw_not_editable 是下拉列表的子类型,*不*允许输入和编辑任意和非标准数据。

      例如

      dropdown_raw_not_editable = 1 # @param [1, "input_raw", "false", '"string"'] {type:"raw"}

      dropdown raw not editable

输入 "是一个用于输入数据的窗口。

输入窗口类型说明

您可以使用不同类型的输入栏来收集信息,每种类型都适用于特定类型的数据。

  • 布尔 "是一种允许您在两个值之间进行选择的输入类型:True"(真)或 "False"(假)。

    例如

    input_boolean = False # @param {type:"boolean"}

    input boolean

  • 日期 "是一种输入类型,可让您从日历中选择日期。

    例如

    input_date = "2024-07-20" # @param {type:"date"}

    input date

  • 整数 "是一种只允许输入整数的输入类型。在掩码中输入的值将反映在代码中,反之亦然。

    例如

    input_integer = 123 # @param {type:"integer"}

    input integer

  • 数字 "是一种允许输入数值(包括小数)的输入类型。

    例如

    input_number = 10.0 # @param {type:"number"}

    input number

  • raw 是一种输入类型,允许任意输入任何数据类型(字符串、列表、字典和其他对象)。

    例如

    input_raw = input_string # @param {type:"raw"}

    input raw

  • 字符串 "是一种允许输入文本数据的输入类型。

    例如

    input_string = "text" # @param {type:"string"}

    input string

滑块 "是从指定范围内选择数值的滑块(滑块)的表示形式。通过沿刻度移动滑块,可从范围内选择数值。

滑块类型描述
  • slider_integer - 只允许在指定范围内选择整数值的滑块类型。

    slider_integer = 2 # @param {type:"slider", min:1, max:5, step:1}

    slider 2

  • slider_number 是一种滑块类型,允许您在给定范围内选择数值,包括小数。

    slider_number = 0.0346734 # @param {type:"slider", min:-1, max:1, step:0.00000001}

    slider 1

markdown 是一种 Markdown 语言标记表示法,用于实现代码屏蔽。

对 markdown 特征的描述

@markdown 代码掩码用于实现:

  • 标题

    # @markdown # Заголовок первого уровня
    # @markdown ## Заголовок второго уровня

    markdown mask 1

  • 表格

    # @markdown | Опция | Описание |
    # @markdown | ----- | -------- |
    # @markdown | текст |   текст  |

    markdown mask 2

  • 名单

    • 编号

      # @markdown 1. First item
      # @markdown 2. Second item
      # @markdown 3. Third item
      # @markdown    1. Indented item
      # @markdown    2. Indented item
      # @markdown 4. Fourth item

      markdown mask 3

    • 标签

      # @markdown + Sub-lists are made by indenting 2 spaces:
      # @markdown   - Marker character change forces new list start:
      # @markdown     * Ac tristique libero volutpat at
      # @markdown     * Facilisis in pretium nisl aliquet
      # @markdown     - Nulla volutpat aliquam velit
      # @markdown + Very easy!

      markdown mask 4

  • 经典标记

    # @markdown > Classic markup: :wink: :cry: :laughing: :yum:

    markdown mask 5