屏蔽交互式脚本的代码单元¶
本例演示了为交互式脚本的代码单元格添加遮罩的功能。
掩码可以通过创建可视化图形界面来简化脚本中的代码参数设置。使用此类脚本的用户无需了解代码单元的内容;相反,他们可以使用熟悉的控件自定义代码中的变量值。
下图是使用代码单元屏蔽创建的图形界面示例:
要熟悉交互模式下的屏蔽功能,建议在脚本编辑器中打开此示例(不要在Engee**文档或社区中打开,因为那里不显示代码单元屏蔽)。
基本使用方法¶
掩码是代码单元的定制用户界面。
如果在代码单元中添加了至少一个特殊注释(如# @param
或# @markdown
),则该单元将被屏蔽。
注释# @param
用于在代码单元中添加交互式参数:
- 文本字段(输入);
- 复选框(复选框)
- 下拉列表(下拉);
- 滑块(滑块)。
交互式参数与变量相连,并在定义行末尾添加特殊注释。
代码编辑器和掩码元素之间可以进行双向通信:
- 当您更改图形用户界面中变量的值时,代码单元中的值也会自动更改;
- 反之亦然,如果代码单元中的变量值发生变化,图形用户界面中的值也会随之变化。
# @markdown
注释旨在为代码单元格添加 Markdown 标记(这是 Engee 脚本编辑器文本单元格中使用的语言)。通过在特殊注释后使用简单明了的 Markdown 语法,可以使掩码更加明显。
默认情况下,代码编辑器和图形用户界面同时显示。要隐藏代码显示,请双击掩码。要再次显示代码,可以点击 "显示代码 "按钮或再次双击单元格。
交互式参数¶
要添加字符串变量输入文本框,请使用特殊注释# @param {type:"string"}
:
input_string = "Hello, world!" # @param {type:"string"}
要添加任意数字输入文本框,请使用特殊注释 # @param {type:"number"}
:
input_number = -0.123456789 # @param {type:"number"}
使用特殊注释可添加输入整数变量的文本框# @param {type:"integer"}
:
input_integer = 42 # @param {type:"integer"}
要添加自由格式文本输入框(这是最灵活的选项,因为变量数据类型不受限制),必须使用特殊注释# @param {type:"raw"}
:
input_raw = input_string # @param {type:"raw"}
要添加标志按钮,请使用特殊注释# @param {type:"boolean"}
:
input_boolean = false # @param {type:"boolean"}
可使用特殊注释 # @param {type:"date"}
添加带日期选择选项的日历(将以YYYY-MM-DD
的格式写入字符串变量):
input_date = "2024-09-03" # @param {type:"date"}
要添加字符串变量选择的下拉列表,可使用特殊注释# @param [""]
,在数组内列出所有可能的选项:
dropdown_string = "Первый" # @param ["Первый", "Второй", "Третий"]
如果要将字符串变量选择下拉列表与输入选项结合起来,可以使用特殊注释# @param [""] {allow-input:true}
dropdown_string_editable = "Нулевой" # @param ["Первый", "Второй", "Третий"] {allow-input:true}
要添加自由格式变量选择下拉列表,可使用特殊注释 # @param [""] {type:"raw"}
,列出数组内所有可能的选择:
dropdown_raw = "Engee" # @param [""Engee"", "input_raw", "false", "42"] {type:"raw"}
如果要将自由格式变量选择下拉列表与输入选项结合起来,可以使用特殊注释# @param [""] {type:"raw", allow-input:true}
dropdown_raw_editable = true # @param [""Engee"", "input_raw", "false", "42"] {type:"raw", allow-input:true}
要添加一个滑块,请使用特殊注释# @param {type:"slider", min:x, max:y, step:z}
,代之以
-x
- 最小值;
-y
- 最大值;
-z
- 步长:
slider_number = 0.5 # @param {type:"slider", min:-1, max:1, step:0.01}
slider_integer = 50 # @param {type:"slider", min:1, max:100, step:1}
Markdown 标记语言¶
标题
# @markdown # Заголовок 1
# @markdown ## Заголовок 2
# @markdown ### Заголовок 3
# @markdown #### Заголовок 4
# @markdown ##### Заголовок 5
# @markdown ###### Заголовок 6
段落和换行
# @markdown Чтобы создать новый параграф, вставьте пустую строку между двумя строками текста.
# @markdown
# @markdown Для переноса строки внутри одного параграфа
# @markdown используйте два пробела в конце строки.
文本高亮
# @markdown *курсив*
# @markdown _italic_
# @markdown
# @markdown **жирный**
# @markdown __bold__
# @markdown
# @markdown ***жирный курсив***
# @markdown ___bold italic___
# @markdown
# @markdown ~~зачёркнутый strikethrough~~
编号列表
# @markdown 1. Первый пункт
# @markdown 2. Второй пункт
# @markdown 3. Третий пункт
标记列表
# @markdown - Первый пункт
# @markdown - Второй пункт
# @markdown - Третий пункт
嵌套列表
# @markdown 1. Первый пункт
# @markdown - Первый подпункт
# @markdown - Второй подпункт
# @markdown 2. Второй пункт
参考资料:
# @markdown [Telegram-канал Engee](https://t.me/engee_com)
图片
# @markdown 
代码行:
# @markdown `using Plots`
代码块:
# @markdown ```Julia
# @markdown x = range(0, 10, length=100)
# @markdown y = sin.(x)
# @markdown plot(x, y)
# @markdown ```
报价:
# @markdown > Первый уровень
# @markdown >> Второй уровень
# @markdown >>> Третий уровень
水平线:
# @markdown ---
桌子
# @markdown | Заголовок 1 | Заголовок 2 |
# @markdown | ----------- | ----------- |
# @markdown | Ячейка 1 | Ячейка 2 |
# @markdown | Ячейка 3 | Ячейка 4 |
表情符号
# @markdown :smile:
# @markdown :laughing:
# @markdown :blush:
HTML 标签
# @markdown <kbd>CTRL</kbd> + <kbd>V</kbd>
结论¶
本示例演示了屏蔽代码单元格的功能。这是一种简单而实用的方法,可使交互式脚本反应更灵敏、更易于访问!