App Inventor指令说明书
App Inventor指令说明
1 Definition指令区
procedure
procedureWithResult name
variable
|
程序procedure
将多个指令集合在一起,之后可透过呼叫该程序来使用这些指令。如果该程序包含了参数,则必顸使用name 指令来命名该参数。当建立一个程序之后,App Inventor会自动产生一个呼叫(call )指令,位于My Definitions drawer之中,您可使用该指令来呼叫对应的程序。
当建立一个新的程序指令时,App Inventor会自动帮它取一个名称,您也可以点选它之后自行改成您所需要的名称。在一个程序中的程序名称必顸是唯一的,App Inventor不允许在同一个程序中有两个名称相同的程序。您可点选程序上的卷标来将其重新命名。App Inventor会自动调整对应的呼叫指令名称。 具回传值的程序procedureWithResult
本指令与程序指令相同,但使用时会回传一个结果。当本程序执行完毕后会将return字段回传。 名称name
可建立一个name参数来呼叫指定的程序。定义参数的方法就是将name插入procedure的arg插槽。可使用的参数数目不限,每当您填入一个参数插槽时,就会自动跳出新的参数插槽。
只要点选右下方的name标签就可将其重新命名。 当建立一个程序之后,App Inventor会自动产生一个呼叫(call )指令,位于My
1
App Inventor指令说明书
逗号分割字符串转数组Definitions drawer之中,您可使用该指令来呼叫对应的程序。
App Inventor会自动帮您所建立的名称参数建立对应的取值 指令并将它们放在My Definitions drawer中。您可使用这些指令来存取该参数的值,当该程序被呼叫时,该值就会被传送过去给程序。
注意:现在的App Inventor版本规定一个程序中的所有参数名称都必顸是唯一的,即便是在不同程序下的参数也是一样(C、Java就无此限制)。例如两个不同程序就不能都使用名为x的变量。当您要建立第二个x时,App Inventor就不会让您这么做。这个限制也许在未来会开放出来。 变量variable
建立一个在程序执行时可以动态改变的值,别忘了给它一个名字。在此所建立的变量为全局变量(global variable),代表程序中的任何一个指令都可以存取此变量,当然也可以从procedure中来呼叫。
当建立一个新的变量时,App Inventor会自动帮它取一个名称,您也可以点选它之后自行改成您所需要的名称。在一个程序中的变量名称必顸是唯一的,App Inventor不允许在同一个程序中有两个名称相同的变量。
另一方面在建立变量完成后,App Inventor会自动产生两个相关的指令,它们位于My Definitions drawer中: global 指令用来取得变量值。 set global 指令 用来设定变量值。
您在编写程序的过程中随时可以修改变量的名称,修改完成之后对应的指令也会自动修正名称。 转接头 |
本指令是为了左侧没有对应插槽的指令所产生的,本指令就好像转接头一样,并没有程序上的作用。这时候您转接的指令就可以执行了,但它们如果有回传值的话在此会被忽略。有时候当我们建立一个具回传值的程序,但想要在背景呼叫它时(此时不能使用回传值),这个功能就很好用了。
2 Text文字指令区
text
= join make text length text< text= text> trim upcase downcase starts at contains split at first
2
App Inventor指令说明书
split at first of any split split at any split at spaces segment
replace all
text
指定一个字符串常数。 join
将两个指定字符串合成一个新字符串。对于此指令,数字也被视为字符串。例如:用 join 指令来合成1+1及 2×3则回传26 (2 和6合成)。 make text
将所有的指定值依序合成一个字符串。 Length
回传指定字符串的长度。 text<
回传第一个字符串text1是否在字母排列上比第二个字符串text2小。若两者的第一个字母相同则比较字符串长度。大写字母比小写字母优先。 text=
回传第一个字符串text1与第二个字符串text2是否相等。
请注意如果要比较的字符串中含有数字,则数学上的=与字符串上的text=结果是不一样的。如果两个textbox,其中一个内容为123,另一个是0123,则数学上比较结果为相等,但字符串上比较则不相等。 text>
回传第一个字符串text1是否在字母排列上比第二个字符串text2大。若两者的
3
App Inventor指令说明书
第一个字母相同则比较字符串长度。大写字母比小写字母优先。 upcase
将指定字符串全部转为大写。 downcase
将指定字符串全部转为小写。 trim
删除指定字符串的头尾空格。 starts at
回传指定子字符串在指定字符串中的位置,不到则回传0。例如子字符串"ana"在"Havana"中的位置为4。
请注意!在一般程序设计语言中,数组的第一个元素编号为0,但AppInventor中的第一个元素编号为1。
Contains
若指定子字符串出现在指定字符串中则回传真,反之则回传假。 split at first
将字符串从指定分割点(at)第一次出现的地方分成两个子字符串,并回传一个包含这两个子字符串的列表,一个是从原字符串第一个字母到分割点前一个字母,另一个则是分割点后一个字母到原字符串结尾。例如将字符串"apple,banana,cherry,dogfood"使用逗号","来分割,回传结果会是两个子字符串:第一个子字符串为"apple",第二个子字符串为"banana,cherry,
dogfood"。请注意逗号","这个分割点不包含在任何一个子字符串中。 split at first of any
将字符串从指定分割点(at) 分割成两个子字符串,并回传一个包含这两个子字符串的列表。 split
将字符串从指定分割点切割,并以清单回传切割结果。例如将字符串"one,two,three,four"从逗号","分割的结果是(one two three four)这个清单。将字符串 "one-potato,two-potato,three-potato,four"从"at -potato"分割的结果是(one two three four) 这个清单。 split at any
将字符串从列表项目(at)来切割,意即使用列表项目来切割字符串,并回传结果。例如将字符串"appleberry,banana,cherry,dogfoodwith"以一个具有两个项目的列表来切割,第一个项目为逗号",",第二个项目为"rry",切割结果为(applebe banana che dogfood)这个字符串。 split at spaces
将指定字符串在所有空格处分开,以清单输出结果。 segment
将原字符串从指定位置start开始并指定长度length后产生子字符串。 replace all
将原字符串以新的子字符串取代后回传新的字符串。
4
App Inventor指令说明书
3 List列表指令区
make a list select list item
replace list item remove list item insert list item length of list append to list add items to list is in list? position in list pick random item is list empty? copy list is a list? list to csv rowlist to csv table list from csv row
list from csv table
App Inventor中的list就是一般程序中的数组,所以相关操作方法皆与数组非常相似。但请注意App Inventor的List编号从1开始,数组编号则从0开始。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论