INSIGHTS & INSPIRATION
PRODUCT LEARNING & SUPPORT
INSIGHTS & INSPIRATION
PRODUCT LEARNING & SUPPORT
ProtoPie Player
ProtoPie 企业版
菜单
ProtoPie Player
ProtoPie 企业版
函数
函数就像现成的工具,用于执行特定任务。它们接收数据作为输入,进行处理,并返回结果。
以下是函数可以完成的一些示例:
统计文本中的字符数量。
在文本中搜索特定单词。
确定两个数字中较小的一个。
ProtoPie 中的函数具有特定结构:
function(argument: TYPE)→ 结果: TYPEfunction(argument1: TYPE, argument2: TYPE)→ 结果: TYPEfunction(argument1: TYPE, argument2: TYPE, argument3: TYPE)→ 结果: TYPE
函数通常使用一个或多个参数(数据)作为输入——即函数执行任务时使用的值。参数以及结果都是始终属于特定类型的值。类型可以是文本、数字或颜色。
可选择的类别有:
文本
concat(来源1:文本, 来源2:文本)
➔
文本
将两段独立的文本合并为一段。
•
示例: concat("你好", "世界")
➔
"你好,世界"
indexOf(源: 文本, 搜索值: 文本)
➔
数字
查找关键字在文本中的起始位置。如果文本中不存在该关键字,则返回值为 -1。
•
示例: indexOf("hello world", "world")
➔
6
•
示例: indexOf("hello world", "hello")
➔
0
•
示例: indexOf("你好,世界", "再见")
➔
-1
•
对于电子邮件验证等用例,请使用 indexOf。查看用例示例。
长度(来源: 文本)
➔
数字
统计文本中的字符数。
•
示例: length("hello")
➔
5
•
示例: length("helloworld")
➔
10
•
示例: length("你好,世界")
➔
11
•
对于密码验证等用例,请使用长度。查看用例示例。
小写(源: 文本)
➔
文本
将任何文本从大写转换为小写
•
示例: lowerCase("你好")
➔
"你好"
大写(源: 文本)
➔
文本
将任何文本从小写转换为大写。
•
示例: upperCase("你好")
➔
"你好"
left(源:文本, 计数: 数字)
➔
文本
根据指定的字符数,从左侧提取一部分文本。
•
示例: left("hello", 3)
➔
“hel”
right(源: 文本, 计数: 数字)
➔
文本
根据指定的字符数,从左侧提取一部分文本。
•
示例: right("hello", 2)
➔
"喂"
lpad(源: 文本, 长度: 数字, 填充: 文本)
➔
文本
使用另一个文本在左侧填充文本,使其达到指定长度。
•
示例: lpad("5", 2, "0")
➔
"05"
•
示例: lpad("5", 4, "0")
➔
"0005"
rpad(源: 文本, 长度: 数字, 填充: 文本)
➔
文本
使用另一段文本对文本进行右侧填充,以达到指定长度。
•
示例: rpad("5", 2, "1")
➔
"51"
•
示例: rpad("5", 6, "1")
➔
"511111"
重复(源: 文本, 次数: 数字)
➔
文本
将文本重复指定次数。
•
示例: repeat("hello", 2)
➔
"你好你好"
•
示例: repeat("你好", 3)
➔
"你好你好你好"
替换(源: 文本, 从: 文本, 到: 文本)
➔
文本
将文本的一部分替换为另一段文本。
•
示例: replace("helloworld", "world", "protopie")
➔
"你好,ProtoPie"
•
示例: replace("再见,John", "再见", "谢谢你")
➔
"谢谢你,约翰"
trim(来源: 文本)
➔
文本
移除文本两侧的空白字符。
•
示例: trim(" helloworld")
➔
"你好,世界"
•
示例: trim(" helloworld ")
➔
"你好,世界"
ltrim(源: 文本)
➔
文本
删除文本左侧的空白字符。
•
示例: ltrim(" helloworld ")
➔
"你好世界 "
rtrim(源: TEXT)
➔
文本
删除文本右侧的空白字符。
•
示例: ltrim(" helloworld ")
➔
" 你好,世界"
regexextract(源:TEXT, 正则表达式:TEXT)
➔
文本
提取文本中与提供的正则表达式匹配的首个子字符串。
•
示例: regexextract("Google 文档 101", "[0-9]+")
➔
"101"
•
示例:
regexextract("今天的价格是 $826.25", "[0-9]*\.[0-9]+[0-9]+")
➔
"826.25"
regexreplace(源: 文本, 正则表达式: 文本, 替换为: 文本)
➔
文本
使用正则表达式将文本字符串的一部分替换为不同的文本字符串。
•
示例: regexreplace("Google Doc 101", "[0-9]+", "777")
➔
"谷歌文档 777"
•
示例:
regexreplace("今天的价格是 $826.25", "[0-9]*\.[0-9]+[0-9]+", "315.75")
➔
"价格是$315.75"
parseJson(来源: TEXT, 键: TEXT)
➔
文本
解析有效的 JSON 字符串并返回相应的值。
•
示例:
parseJson("{\"name\":\"John\", \"age\":30, \"car\":null}", "age")
➔
"30"
•
示例:
parseJson("{\"name\":\"John\", \"age\":30, \"car\":null}", "name")
➔
"约翰"
concat(来源1:文本, 来源2:文本)
➔
文本
将两段独立的文本合并为一段。
•
示例:
concat("你好", "世界")
➔
"你好,世界"
indexOf(源: 文本, 搜索值: 文本)
➔
数字
查找关键字在文本中的起始位置。如果文本中不存在该关键字,则返回值为 -1。
•
示例:
indexOf("hello world", "world")
➔
6
•
示例:
indexOf("你好,世界", "你好")
➔
0
•
示例:
indexOf("你好,世界", "再见")
➔
-1
•
对于电子邮件验证等用例,请使用 indexOf。查看用例示例。
长度(来源: 文本)
➔
数字
统计文本中的字符数。
•
示例: length("hello")
➔
5
•
示例: length("helloworld")
➔
10
•
示例: length("你好,世界")
➔
11
•
对于密码验证等用例,请使用长度。查看用例示例。
小写(源: 文本)
➔
文本
将任何文本从大写转换为小写
•
示例: lowerCase("你好")
➔
"你好"
大写(源: 文本)
➔
文本
将任何文本从小写转换为大写。
•
示例: upperCase("你好")
➔
"你好"
left(源:文本, 计数: 数字)
➔
文本
根据指定的字符数,从左侧提取一部分文本。
•
示例: left("hello", 3)
➔
“hel”
right(源: 文本, 计数: 数字)
➔
文本
根据指定的字符数,从左侧提取一部分文本。
•
示例: right("hello", 2)
➔
"喂"
lpad(源: 文本, 长度: 数字, 填充: 文本)
➔
文本
使用另一个文本在左侧填充文本,使其达到指定长度。
•
示例: lpad("5", 2, "0")
➔
"05"
•
示例: lpad("5", 4, "0")
➔
"0005"
rpad(源: 文本, 长度: 数字, 填充: 文本)
➔
文本
使用另一段文本对文本进行右侧填充,以达到指定长度。
•
示例: rpad("5", 2, "1")
➔
"51"
•
示例: rpad("5", 6, "1")
➔
"511111"
重复(源: 文本, 次数: 数字)
➔
文本
将文本重复指定次数。
•
示例: repeat("hello", 2)
➔
"你好你好"
•
示例: repeat("你好", 3)
➔
"你好你好你好"
替换(源: 文本, 从: 文本, 到: 文本)
➔
文本
将文本的一部分替换为另一段文本。
•
示例: replace("helloworld", "world", "protopie")
➔
"你好,ProtoPie"
•
示例:
replace("再见,约翰", "再见", "谢谢你")
➔
"谢谢你,约翰"
trim(来源: 文本)
➔
文本
移除文本两侧的空白字符。
•
示例:
trim(" helloworld")
➔
"你好,世界"
•
示例:
trim(" helloworld ")
➔
"你好,世界"
ltrim(源: 文本)
➔
文本
删除文本左侧的空白字符。
•
示例:
ltrim(" helloworld ")
➔
"你好世界 "
rtrim(源: TEXT)
➔
文本
删除文本右侧的空白字符。
•
示例:
ltrim(" helloworld ")
➔
" 你好,世界"
regexextract(源:TEXT, 正则表达式:TEXT)
➔
文本
提取文本中与提供的正则表达式匹配的首个子字符串。
•
示例: regexextract("Google 文档 101", "[0-9]+")
➔
"101"
•
示例:
regexextract("今天的价格是 $826.25", "[0-9]*\.[0-9]+[0-9]+")
➔
"826.25"
regexreplace(源: 文本, 正则表达式: 文本, 替换为: 文本)
➔
文本
使用正则表达式将文本字符串的一部分替换为不同的文本字符串。
•
示例: regexreplace("Google Doc 101", "[0-9]+", "777")
➔
"谷歌文档 777"
•
示例:
regexreplace("今天的价格是 $826.25", "[0-9]*\.[0-9]+[0-9]+", "315.75")
➔
"价格是$315.75"
parseJson(来源: TEXT, 键: TEXT)
➔
文本
解析有效的 JSON 字符串并返回相应的值。
•
示例:
parseJson("{\"name\":\"John\", \"age\":30, \"car\":null}", "age")
➔
"30"
•
示例:
parseJson("{\"name\":\"John\", \"age\":30, \"car\":null}", "name")
➔
"约翰"
例如,考虑 parseJson(var, "key")。这里,var 是存储 JSON 字符串的文本变量,"key" 是要解析的键。后者支持嵌套键调用,以及通过 .(点)表示法对类数组对象进行简单引用。
parseJson 函数大大简化了在 ProtoPie 中处理复杂数据结构的过程。此外,由于大多数 API 响应都是 JSON 格式,能够在 Pies 中使用 parseJson 会让 API 的使用更加直接。
你可以使用 parseJson 函数来:
通过 ProtoPie Connect 中的 Bridge 应用将 JSON 字符串发送到 pies(例如,message: “AutomobileSignal”, value: “json string”)。
通过 Receive 触发器将值存储到 Pie 变量中。
使用 JSON 字符串中的数据值。
要了解更多,请查看这个Pie示例。
数学
pow(源: 数字, 指数: 数字)
➔
数字
计算第一个数字的值提升到第二个数字次方后的结果。
•
示例: pow(2,3)
➔
8
sqrt(来源:数字)
➔
数字
计算一个数的平方根。这不适用于负数。
•
示例: sqrt(9)
➔
3
•
示例: sqrt(2)
➔
1.41
min(来源1: NUMBER, 来源2: NUMBER)
➔
数字
提取两个数字中较小的一个。
•
示例: min(0, 1)
➔
0
max(来源1: 数字, 来源2: 数字)
➔
数字
取两个数字中较大的一个。
•
示例: max(0, 1)
➔
1
abs(值: NUMBER)
➔
数字
返回一个数字的绝对值。实际上,这就是去掉数字前面的负号。
•
示例: abs(-1)
➔
1
•
示例: abs(5 - 25)
➔
20
sign(值: 数字)
➔
数字
检查一个数字是正数还是负数。如果一个数字是正数,则返回 1。如果一个数字是负数,则返回 -1。如果一个数字是 0,则返回 0。
•
示例: sign(5)
➔
1
•
示例: sign(-10)
➔
-1
•
示例: sign(0)
➔
0
round(来源: 数字)
➔
数字
返回一个数字的四舍五入值。
•
示例: round(3.49)
➔
3
•
示例: round(1.5)
➔
2
•
示例: round(6.79)
➔
7
floor(来源: 数字)
➔
数字
向下返回最接近的整数。
•
示例: floor(1.5)
➔
1
•
示例: floor(2.99)
➔
2
ceil(来源: NUMBER)
➔
数字
向上返回最接近的整数。
•
示例: ceil(1.5)
➔
2
•
示例: ceil(4.3)
➔
5
随机()
➔
数字
0 到 1 之间的随机小数。
•
示例: random()
➔
0 到 1 之间的一个随机小数
random(最小值: 数字, 最大值: 数字)
➔
数字
在两个给定数字之间随机返回一个十进制数。
•
示例: 随机(1, 5)
➔
1 到 5 之间的一个随机小数
randomInt(最小值: NUMBER, 最大值: NUMBER)
➔
数字
随机返回两个给定数字之间的一个整数。
•
示例: randomInt(1, 5)
➔
1 到 5 之间的随机整数
弧度(度数: 数字)
➔
数字
将角度转换为弧度。
•
示例: radians(180)
➔
3.14 = π
•
示例: radians(90)
➔
1.57 = π / 2
度数(弧度:数字)
➔
数字
将弧度转换为度数。
•
示例: degrees($pi)
➔
180
•
示例: degrees($pi / 2)
➔
90
sin(弧度: 数字)
➔
数字
计算一个以弧度为单位的数字的正弦值。
•
示例: sin($pi / 2)
➔
1
•
示例: sin($pi / 6)
➔
0.5
cos(弧度:数字)
➔
数字
计算一个以弧度表示的数的余弦值。
•
示例: cos(0)
➔
1
•
示例: cos($pi / 2)
➔
0
tan(弧度:数字)
➔
数字
计算一个以弧度表示的数字的正切值。
•
示例: tan($pi / 4)
➔
1
•
示例: tan(0)
➔
0
asin(x: 数字)
➔
数字
计算 x 的反正弦(以弧度为单位)。
•
示例: asin(1)
➔
1.57 = π / 2
•
示例: asin(0.5)
➔
0.52 = π / 6
acos(x: 数字)
➔
数字
计算 x 的反余弦(以弧度为单位)。
•
示例: acos(1)
➔
0
•
示例: acos(0)
➔
1.57 = π / 2
atan(x: 数字)
➔
数字
计算 x 的反正切值(以弧度为单位)。
•
示例: atan(1)
➔
0.79 = π / 4
•
示例: atan(0)
➔
0
atan2(y: 数字, x: 数字)
➔
数字
计算 x 和 y 的反正切(以弧度为单位),也称为欧几里得平面中的角度。
•
示例: atan2(1, 0)
➔
1.57 = π / 2
•
示例: atan2(1, 1)
➔
0.79 = π / 4
pow(源: 数字, 指数: 数字)
➔
数字
计算第一个数字的值提升到第二个数字次方后的结果。
•
示例: pow(2,3)
➔
8
sqrt(来源:数字)
➔
数字
计算一个数的平方根。这不适用于负数。
•
示例: sqrt(9)
➔
3
•
示例: sqrt(2)
➔
1.41
min(来源1: NUMBER, 来源2: NUMBER)
➔
数字
提取两个数字中较小的一个。
•
示例: min(0, 1)
➔
0
max(来源1: 数字, 来源2: 数字)
➔
数字
取两个数字中较大的一个。
•
示例: max(0, 1)
➔
1
abs(值: NUMBER)
➔
数字
返回一个数字的绝对值。实际上,这就是去掉数字前面的负号。
•
示例: abs(-1)
➔
1
•
示例: abs(5 - 25)
➔
20
sign(值: 数字)
➔
数字
检查一个数字是正数还是负数。如果一个数字是正数,则返回 1。如果一个数字是负数,则返回 -1。如果一个数字是 0,则返回 0。
•
示例: sign(5)
➔
1
•
示例: sign(-10)
➔
-1
•
示例: sign(0)
➔
0
round(来源: 数字)
➔
数字
返回一个数字的四舍五入值。
•
示例: round(3.49)
➔
3
•
示例: round(1.5)
➔
2
•
示例: round(6.79)
➔
7
floor(来源: 数字)
➔
数字
向下返回最接近的整数。
•
示例: floor(1.5)
➔
1
•
示例: floor(2.99)
➔
2
ceil(来源: NUMBER)
➔
数字
向上返回最接近的整数。
•
示例: ceil(1.5)
➔
2
•
示例: ceil(4.3)
➔
5
随机()
➔
数字
0 到 1 之间的随机小数。
•
示例: random()
➔
0 到 1 之间的一个随机小数
random(最小值: 数字, 最大值: 数字)
➔
数字
在两个给定数字之间随机返回一个十进制数。
•
示例: 随机(1, 5)
➔
1 到 5 之间的一个随机小数
randomInt(最小值: NUMBER, 最大值: NUMBER)
➔
数字
随机返回两个给定数字之间的一个整数。
•
示例: randomInt(1, 5)
➔
1 到 5 之间的随机整数
弧度(度数: 数字)
➔
数字
将角度转换为弧度。
•
示例: radians(180)
➔
3.14 = π
•
示例: radians(90)
➔
1.57 = π / 2
度数(弧度:数字)
➔
数字
将弧度转换为度数。
•
示例: degrees($pi)
➔
180
•
示例: degrees($pi / 2)
➔
90
sin(弧度: 数字)
➔
数字
计算一个以弧度为单位的数字的正弦值。
•
示例: sin($pi / 2)
➔
1
•
示例: sin($pi / 6)
➔
0.5
cos(弧度:数字)
➔
数字
计算一个以弧度表示的数的余弦值。
•
示例: cos(0)
➔
1
•
示例: cos($pi / 2)
➔
0
tan(弧度:数字)
➔
数字
计算一个以弧度表示的数字的正切值。
•
示例: tan($pi / 4)
➔
1
•
示例: tan(0)
➔
0
asin(x: 数字)
➔
数字
计算 x 的反正弦(以弧度为单位)。
•
示例: asin(1)
➔
1.57 = π / 2
•
示例: asin(0.5)
➔
0.52 = π / 6
acos(x: 数字)
➔
数字
计算 x 的反余弦(以弧度为单位)。
•
示例: acos(1)
➔
0
•
示例: acos(0)
➔
1.57 = π / 2
atan(x: 数字)
➔
数字
计算 x 的反正切值(以弧度为单位)。
•
示例: atan(1)
➔
0.79 = π / 4
•
示例: atan(0)
➔
0
atan2(y: 数字, x: 数字)
➔
数字
计算 x 和 y 的反正切(以弧度为单位),也称为欧几里得平面中的角度。
•
示例: atan2(1, 0)
➔
1.57 = π / 2
•
示例: atan2(1, 1)
➔
0.79 = π / 4
颜色
颜色(红色:数字,绿色:数字,蓝色:数字)
➔
颜色
根据 RGB 值返回颜色值(十六进制颜色代码)。
•
示例: color(255, 255, 255)
➔
#FFFFFF
•
示例: color(255, 102, 97)
➔
#FF6661
红色(来源: 颜色)
➔
数字
返回十六进制颜色代码中 RGB 的红色参数。
•
示例: 红色(#FF0000)
➔
255
•
示例: 红色(#008000)
➔
0
•
示例: red(#0000FF)
➔
0
绿色(来源: 颜色)
➔
数字
返回十六进制颜色代码的绿色 RGB 参数。
•
示例: 绿色(#FF0000)
➔
0
•
示例: 绿色(#008000)
➔
128
•
示例: 绿色(#0000FF)
➔
0
蓝色(来源: 颜色)
➔
数字
返回十六进制颜色代码的蓝色 RGB 分量。
•
示例: 蓝色(#FF0000)
➔
0
•
示例: 蓝色(#008000)
➔
0
•
示例: 蓝色(#0000FF)
➔
255
颜色(红色:数字,绿色:数字,蓝色:数字)
➔
颜色
根据 RGB 值返回颜色值(十六进制颜色代码)。
•
示例: color(255, 255, 255)
➔
#FFFFFF
•
示例: color(255, 102, 97)
➔
#FF6661
红色(来源: 颜色)
➔
数字
返回十六进制颜色代码中 RGB 的红色参数。
•
示例: 红色(#FF0000)
➔
255
•
示例: 红色(#008000)
➔
0
•
示例: red(#0000FF)
➔
0
绿色(来源: 颜色)
➔
数字
返回十六进制颜色代码的绿色 RGB 参数。
•
示例: 绿色(#FF0000)
➔
0
•
示例: 绿色(#008000)
➔
128
•
示例: 绿色(#0000FF)
➔
0
蓝色(来源: 颜色)
➔
数字
返回十六进制颜色代码的蓝色 RGB 分量。
•
示例: 蓝色(#FF0000)
➔
0
•
示例: 蓝色(#008000)
➔
0
•
示例: 蓝色(#0000FF)
➔
255
类型转换
number(来源: 文本)
➔
数字
将文本转换为数字。如果文本无法转换为数字,此操作将不起作用。
•
示例: number("1234")
➔
1234
•
示例: number("94.27")
➔
94.27
文本(来源: 数字)
➔
文本
将数字转换为文本。
•
示例: 文本(1234)
➔
"1234"
•
示例: text(94.27)
➔
"94.27"
•
示例: 文本(1 + 3)
➔
"4"
格式化(来源: 数字, 格式: 文本)
➔
文本
将数字按特定格式转换为文本。# 是整数部分的占位符,而 0 表示小数部分。
•
示例: 格式(1234.567, "#")
➔
"1235"
•
示例: 格式(1234.567, "#,###")
➔
"1,235"
•
示例: 格式(1234.567, "#.###,00")
➔
"1,234.57"
•
示例: format(1234.567, "#,##.00")
➔
"12,34.57"
•
示例: format(1234.567, "#,###.00")
➔
"1,234.57"
color(来源: 文本)
➔
颜色
将文本转换为颜色值(十六进制颜色代码)。如果文本不符合十六进制颜色代码的结构,则此功能无法使用。
•
示例: green("#FFFFFF")
➔
#FF0000
number(来源: 文本)
➔
数字
将文本转换为数字。如果文本无法转换为数字,此操作将不起作用。
•
示例: number("1234")
➔
1234
•
示例: number("94.27")
➔
94.27
文本(来源: 数字)
➔
文本
将数字转换为文本。
•
示例: 文本(1234)
➔
"1234"
•
示例: text(94.27)
➔
"94.27"
•
示例: 文本(1 + 3)
➔
"4"
格式化(来源: 数字, 格式: 文本)
➔
文本
将数字按特定格式转换为文本。# 是整数部分的占位符,而 0 表示小数部分。
•
示例:
format(1234.567, "#")
➔
"1235"
•
示例:
format(1234.567, "#,###")
➔
"1,235"
•
示例:
format(1234.567, "#.###,00")
➔
"1,234.57"
•
示例:
format(1234.567, "#,##.00")
➔
"12,34.57"
•
示例:
format(1234.567, "#,###.00")
➔
"1,234.57"
color(来源: 文本)
➔
颜色
将文本转换为颜色值(十六进制颜色代码)。如果文本不符合十六进制颜色代码的结构,则此功能无法使用。
•
示例: green("#FFFFFF")
➔
#FF0000
图层
图层(来源: 文本)
➔
图层
参考某个图层。
•
将其用作公式或其他函数的一部分。
图层(来源: 文本).属性
➔
文本或数字
请参阅图层的属性。了解更多有关图层属性的信息。
•
示例: layer("矩形 1").x
➔
名为“Rectangle 1”的图层的 x 坐标
•
示例: layer("Oval 1").opacity
➔
名为 Oval 1 的图层的不透明度
•
示例: layer("输入 1").text
➔
输入层中名为 Input 1 的文本
父级(图层名称: 图层)
➔
图层
请参考父层,例如容器或组件。
•
将其用作公式或其他函数的一部分。
父级(图层名称: 图层).属性
➔
文本或数字
请参照父图层的属性。了解更多关于图层属性。
•
示例: layer("矩形 1").x
➔
矩形 1 在其父图层中的 x 坐标
•
示例: layer("Oval 1").opacity
➔
椭圆 1 及其父图层的不透明度
初始化(图层名称: 图层, 图层属性: 文本)
➔
文本或数字
返回特定图层属性的初始值(在任何交互之前)。了解更多有关图层属性的信息。
•
示例: initial("Rectangle 1").x
➔
矩形 1 的初始 x 坐标
•
示例: initial("椭圆 1,不透明度")
➔
椭圆 1 的初始不透明度
•
示例: initial("输入 1,文本")
➔
输入 1 中的初始文本
图层(来源: 文本)
➔
图层
参考某个图层。
•
将其用作公式或其他函数的一部分。
图层(来源: 文本).属性
➔
文本或数字
请参阅图层的属性。了解更多有关图层属性的信息。
•
示例: layer("矩形 1").x
➔
名为“Rectangle 1”的图层的 x 坐标
•
示例: layer("Oval 1").opacity
➔
名为 Oval 1 的图层的不透明度
•
示例: layer("输入 1").text
➔
输入层中名为 Input 1 的文本
父级(图层名称: 图层)
➔
图层
请参考父层,例如容器或组件。
•
将其用作公式或其他函数的一部分。
父级(图层名称: 图层).属性
➔
文本或数字
请参照父图层的属性。了解更多关于图层属性。
•
示例: layer("矩形 1").x
➔
矩形 1 在其父图层中的 x 坐标
•
示例: layer("Oval 1").opacity
➔
椭圆 1 及其父图层的不透明度
初始化(图层名称: 图层, 图层属性: 文本)
➔
文本或数字
返回特定图层属性的初始值(在任何交互之前)。了解更多有关图层属性的信息。
•
示例:
initial("矩形 1").x
➔
矩形 1 的初始 x 坐标
•
示例:
initial("椭圆 1,不透明度")
➔
椭圆 1 的初始不透明度
•
示例:
initial("输入 1,文本")
➔
输入 1 中的初始文本
相对坐标
toLayerX(containerName: LAYER, x: NUMBER, y: NUMBER)
➔
数字
将相对于屏幕的 x 坐标转换为相对于容器或组件的对应 x 坐标。容器或组件内各图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果您想根据相对于屏幕的位置(100, 200)获取相对于容器 `Container 1` 的 x 坐标,请使用以下函数:
•
toLayerX(`容器 1`, 100, 200)
➔
根据相对于屏幕的 x 坐标 `100`,返回相对于 `Container 1` 的 x 坐标。
toLayerY(容器名称: 图层, x: 数字, y: 数字)
➔
数字
将相对于屏幕的 y 坐标转换为相对于容器或组件的对应 y 坐标。容器或组件内各图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果你想根据相对于屏幕的位置 (100, 200) 获取相对于容器 `Container 1` 的 y 坐标,请使用以下函数:
•
toLayerY(`容器 1`, 100, 200)
➔
根据相对于屏幕的 x 坐标 `100`,返回相对于 `Container 1` 的 x 坐标。
toScreenX(容器名称: 图层, x: 数字, y: 数字)
➔
数字
将相对于容器或组件的 x 坐标转换为相对于屏幕的对应 x 坐标。容器或组件内图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果您想根据相对于容器 `Container 1` 的位置 (10, 20) 获取相对于屏幕的 x 坐标,请使用以下函数:
•
toScreenX(`容器 1`, 10, 20)
➔
根据相对于 `Container 1` 的 x 坐标 `10`,返回相对于屏幕的 x 坐标。
toScreenY(containerName: LAYER, x: NUMBER, y: NUMBER)
➔
数字
将相对于容器或组件的 y 坐标转换为相对于屏幕的对应 y 坐标。容器或组件内图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果你想根据相对于容器 `Container 1` 的位置 (10, 20) 获取相对于屏幕的 y 坐标,请使用以下函数:
•
toScreenY(`容器 1`, 10, 20)
➔
根据相对于 `Container 1` 的 y 坐标 `20`,返回相对于屏幕的 y 坐标。
toLayerX(containerName: LAYER, x: NUMBER, y: NUMBER)
➔
数字
将相对于屏幕的 x 坐标转换为相对于容器或组件的对应 x 坐标。容器或组件内各图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果您想根据相对于屏幕的位置(100, 200)获取相对于容器 `Container 1` 的 x 坐标,请使用以下函数:
•
示例:
initial("矩形 1").x
➔
根据相对于屏幕的 x 坐标 `100`,返回相对于 `Container 1` 的 x 坐标。
toLayerY(容器名称: 图层, x: 数字, y: 数字)
➔
数字
将相对于屏幕的 y 坐标转换为相对于容器或组件的对应 y 坐标。容器或组件内各图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果你想根据相对于屏幕的位置 (100, 200) 获取相对于容器 `Container 1` 的 y 坐标,请使用以下函数:
•
示例:
initial("矩形 1").x
➔
根据相对于屏幕的 x 坐标 `100`,返回相对于 `Container 1` 的 x 坐标。
toScreenX(容器名称: 图层, x: 数字, y: 数字)
➔
数字
将相对于容器或组件的 x 坐标转换为相对于屏幕的对应 x 坐标。容器或组件内图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果您想根据相对于容器 `Container 1` 的位置 (10, 20) 获取相对于屏幕的 x 坐标,请使用以下函数:
•
示例:
initial("矩形 1").x
➔
根据相对于 `Container 1` 的 x 坐标 `10`,返回相对于屏幕的 x 坐标。
toScreenY(containerName: LAYER, x: NUMBER, y: NUMBER)
➔
数字
将相对于容器或组件的 y 坐标转换为相对于屏幕的对应 y 坐标。容器或组件内图层的坐标默认是相对于其所在的容器或组件。
•
例如,如果你想根据相对于容器 `Container 1` 的位置 (10, 20) 获取相对于屏幕的 y 坐标,请使用以下函数:
•
示例:
initial("矩形 1").x
➔
根据相对于 `Container 1` 的 y 坐标 `20`,返回相对于屏幕的 y 坐标。
时间与日期
注意:时间与日期函数遵循 ISO8601 格式。
当前时间()
➔
文本
检索当前时间信息。
•
示例: timeNow()
➔
17:44:50.123
时间(小时: NUMBER,分钟: NUMBER,秒: NUMBER)
➔
文本
使用提供的小时、分钟和秒值构建一个时间对象,并以标准的“小时:分钟:秒”格式显示时间。
•
示例: time(14, 50, 23)
➔
14:50:23
小时()
➔
数字
以24小时制检索并返回给定时间中的小时部分。该函数以时间值作为输入,提取小时部分,并将其作为数值返回。
•
示例: hour("17:44:30")
➔
17
分钟()
➔
数字
提取并返回给定时间(24 小时制)的分钟部分。
•
示例: minute("17:44:30")
➔
44
第二()
➔
数字
提取并返回给定时间(24 小时制)的分钟部分。
•
示例: second("17:44:30")
➔
30
diffTime()
➔
数字
计算两个时间点之间的差值,并以小时、分钟和/或秒返回持续时间。
•
示例: diffTime("17:45:30", "18:45:30", "H")
➔
1
•
示例: diffTime("17:45:30", "18:45:30", "M")
➔
60
•
示例: diffTime("17:45:30", "18:45:30", "S")
➔
3600
格式化时间()
➔
数字
将时间值转换为人类可读的字符串,并遵循指定的格式模式。
•
示例: formatTime("11:44:30", "HHa")
➔
上午11点
•
示例: formatTime("11:44:30", "HHam mm")
➔
上午11点 44
•
示例: formatTime("11:44:30", "hh:mm a")
➔
上午11:40
dateNow()
➔
数字
在执行时检索并返回当前日期。
•
示例: dateNow()
➔
2023年9月22日
日期(年: 数字,月: 数字,日: 数字)
➔
文本
使用提供的年、月、日值构造一个日期对象,并以“年-月-日”格式返回。
•
示例: date(2014, 12, 8)
➔
2014-12-08
年()
➔
数字
从“年-月-日”日期字符串中提取并返回年份部分。
•
示例: year("2014-12-08")
➔
2014
月份()
➔
数字
从“年-月-日”格式的日期中提取并返回月份部分。
•
示例: month("2014-12-08")
➔
12
天()
➔
数字
从“年-月-日”格式的日期中提取并返回“日”部分。
•
示例: day("2014-12-08")
➔
8
DiffDate()
➔
数字
计算两个日期之间的差值,并根据指定的单位("Y"、"M"、"D"、"YD"、"YM"、"MD")以数值形式返回。注意:如果“to”日期早于“from”日期,结果将为 -1。
•
示例: diffDate("1973-02-24", "1969-05-16", "Y")
➔
-1
•
示例: diffDate("1973-02-24", "1969-05-16", "M")
➔
-1
•
示例: diffDate("1973-02-24", "1969-05-16", "D")
➔
-1
•
示例: diffDate("1969-05-16", "1973-02-24", "Y")
➔
3
•
示例: diffDate("1969-05-16", "1973-02-24", "M")
➔
45
•
示例: diffDate("1969-05-16", "1973-02-24", "D")
➔
1380
•
示例: diffDate("1969-05-16", "1973-02-24", "MD")
➔
8
•
示例: diffDate("2023-01-01", "2023-02-10", "MD")
➔
9
•
示例: diffDate("1969-05-16", "1973-02-24", "YM")
➔
9
•
示例: diffDate("1969-05-16", "1973-02-24", "YD")
➔
284
•
示例: diffDate("2023-01-01", "2023-02-10", "YD")
➔
40
格式化日期()
➔
文本
根据提供的日期值和格式字符串返回格式化的日期字符串。
•
示例: formatDate("2023-06-01", "DD/MM/YYYY")
➔
2023年1月6日
•
示例: formatDate("2023-06-01", "YYYY MMMM dddd")
➔
2023年6月 星期四
•
示例: formatDate("2023-06-01", "MMM DD, YY")
➔
2023年6月1日
epochtodate(时间戳: 数字)
➔
文本
将 Unix 纪元时间戳(毫秒)转换为 UTC 日期时间表示形式。
•
示例: epochtodate (0)
➔
1970-01-01T00:00:00Z
•
示例: epochtodate (-1)
➔
1969-12-31T23:59:59.999Z
•
示例: epochtodate (1)
➔
1970-01-01T00:00:00.001Z
•
示例: epochtodate (1655908429662)
➔
1970-01-01T00:00:00.001Z
epochtodate(时间戳: 数字, 格式: 文本)
➔
文本
根据指定格式将 Unix 时间戳转换为可读的日期/时间字符串。
•
示例: epochtodate (1695316200000)
➔
2023年9月21日17:10:00(UTC)
•
示例: epochtodate (1695316200000, "hh:mm")
➔
17:10
当前时间()
➔
文本
检索当前时间信息。
•
示例: timeNow()
➔
17:44:50.123
时间(小时: NUMBER,分钟: NUMBER,秒: NUMBER)
➔
文本
使用提供的小时、分钟和秒值构建一个时间对象,并以标准的“小时:分钟:秒”格式显示时间。
•
示例: time(14, 50, 23)
➔
14:50:23
小时()
➔
数字
以24小时制检索并返回给定时间中的小时部分。该函数以时间值作为输入,提取小时部分,并将其作为数值返回。
•
示例: hour("17:44:30")
➔
17
分钟()
➔
数字
提取并返回给定时间(24 小时制)的分钟部分。
•
示例: minute("17:44:30")
➔
44
第二()
➔
数字
提取并返回给定时间(24 小时制)的分钟部分。
•
示例: second("17:44:30")
➔
30
diffTime()
➔
数字
计算两个时间点之间的差值,并以小时、分钟和/或秒返回持续时间。
•
示例:
diffTime("17:45:30", "18:45:30", "H")
➔
1
•
示例:
diffTime("17:45:30", "18:45:30", "M")
➔
60
•
示例:
diffTime("17:45:30", "18:45:30", "S")
➔
3600
格式化时间()
➔
数字
将时间值转换为人类可读的字符串,并遵循指定的格式模式。
•
示例:
formatTime("11:44:30", "HHa")
➔
上午11点
•
示例:
formatTime("11:44:30", "HHam mm")
➔
上午11点 44
•
示例:
formatTime("11:44:30", "hh:mm a")
➔
上午11:40
dateNow()
➔
数字
在执行时检索并返回当前日期。
•
示例: dateNow()
➔
2023年9月22日
日期(年: 数字,月: 数字,日: 数字)
➔
文本
使用提供的年、月、日值构造一个日期对象,并以“年-月-日”格式返回。
•
示例: date(2014, 12, 8)
➔
2014-12-08
年()
➔
数字
从“年-月-日”日期字符串中提取并返回年份部分。
•
示例: year("2014-12-08")
➔
2014
月份()
➔
数字
从“年-月-日”格式的日期中提取并返回月份部分。
•
示例: month("2014-12-08")
➔
12
天()
➔
数字
从“年-月-日”格式的日期中提取并返回“日”部分。
•
示例: day("2014-12-08")
➔
8
DiffDate()
➔
数字
计算两个日期之间的差值,并根据指定的单位("Y"、"M"、"D"、"YD"、"YM"、"MD")以数值形式返回。注意:如果“to”日期早于“from”日期,结果将为 -1。
•
示例:
diffDate("1973-02-24", "1969-05-16", "Y")
➔
-1
•
示例:
diffDate("1973-02-24", "1969-05-16", "M")
➔
-1
•
示例:
diffDate("1973-02-24", "1969-05-16", "D")
➔
-1
•
示例:
diffDate("1969-05-16", "1973-02-24", "Y")
➔
3
•
示例:
diffDate("1969-05-16", "1973-02-24", "M")
➔
45
•
示例:
diffDate("1969-05-16", "1973-02-24", "D")
➔
1380
•
示例:
diffDate("1969-05-16", "1973-02-24", "MD")
➔
8
•
示例:
diffDate("2023-01-01", "2023-02-10", "MD")
➔
9
•
示例:
diffDate("1969-05-16", "1973-02-24", "YM")
➔
9
•
示例:
diffDate("1969-05-16", "1973-02-24", "YD")
➔
284
•
示例:
diffDate("2023-01-01", "2023-02-10", "YD")
➔
40
格式化日期()
➔
文本
根据提供的日期值和格式字符串返回格式化的日期字符串。
•
示例:
formatDate("2023-06-01", "DD/MM/YYYY")
➔
2023年1月6日
•
示例:
formatDate("2023-06-01", "YYYY MMMM dddd")
➔
2023年6月 星期四
•
示例:
formatDate("2023-06-01", "MMM DD, YY")
➔
2023年6月1日
epochtodate(时间戳: 数字)
➔
文本
将 Unix 纪元时间戳(毫秒)转换为 UTC 日期时间表示形式。
•
示例:
epochtodate (0)
➔
1970-01-01T00:00:00Z
•
示例:
epochtodate (-1)
➔
1969-12-31T23:59:59.999Z
•
示例:
epochtodate (1)
➔
1970-01-01T00:00:00.001Z
•
示例:
epochtodate (1655908429662)
➔
1970-01-01T00:00:00.001Z
epochtodate(时间戳: 数字, 格式: 文本)
➔
文本
根据指定格式将 Unix 时间戳转换为可读的日期/时间字符串。
•
示例:
epochtodate (1695316200000)
➔
2023年9月21日17:10:00(UTC)
•
示例:
epochtodate (1695316200000, "hh:mm")
➔
17:10
在 ProtoPie School 的大师课中了解更多
想进一步了解如何在 ProtoPie 中使用函数?加入 ProtoPie 的大师课,获取本说明文档中所列部分函数的详细示例和使用指导。
