JavaFX Script Programming Language 学习 No.5
来源:互联网 发布:淘宝商品详情怎么做 编辑:程序博客网 时间:2024/05/29 15:10
第五课 Sequences
一、创建Sequences
创建Sequences的一种方法是明确列出它的项目。每个项目以逗号分隔,所列项目用方括号[]括起来。
示例代码1:
def weekDays = ["Mon","Tue","Wed","Thu","Fri"];
[说明]:上面的代码把一组字符串赋给了weekDays,用def是因为不打算改变其项目。这个Sequence中的每一项都是String类型的。如果想把各项目定义为Interger,可以这样def nums = [1,2,3];。
可以明确地指明Sequence的类型
示例代码2:
def weekDays: String[] = ["Mon","Tue","Wed","Thu","Fri"];
Sequence里也可以包括其他的Sequence 示例代码3:
def days = [weekDays, ["Sat","Sun"]];
[说明]:这种情况下,编译器会把days转换为下面代码所示的Sequence
示例代码4:
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
创建Sequences也可尝试缩略的形式,要创建一个从1到100的Sequence,可以这样写
示例代码5:
def nums = [1..100];
示例代码6:
override public function create():Node{
return Group{
content:[
ImageView{
image:image
effect: bind PerspectiveTransform{
ulx: lx uly:uly
urx: rx ury:ury
lrx: rx lry:height + uly
llx: lx lly:height + ury
}
},
Rectangle{
translateX: bind lx
width: bind rx - lx
height: height
fill: Color.rgb(0,0,0,0)
blocksMouse: true
onMousePressed:function(e:MouseEvent){
shelf.shiftToCenter(this);
};
}
]
}
}
[说明]:ImageView是content这个Sequence 的第一项,Rectangle是content这个Sequence 的第二个项。两项之间用逗号分隔。
使用判断
可以使用一个布尔表达式(也叫判断),用已经存在的Sequence来声明一个新的Sequence。下面是一个已经存在的Sequence。
示例代码7:
def nums = [1,2,3,4,5];
基于上面的Sequence来创建一个新的Sequence,不过的项是在于2的。
示例代码8:
def numsGreaterThanTwo = nums[n | n > 2];
[说明]:1.新创建的sequence存储在numsGreaterThanTwo里;
2.代码nums[n | n > 2];中nums是原来的sequence.
3.从nums里选择出来的项返回给新的sequence.
4.'|'是分隔代码的,从nums[n | n > 2];分隔出n.
5.nums[n | n > 2];中加粗部分是一个布尔表达式.
二、访问Sequence的项
Sequence的项通过从0开始的数字索引来访问。
示例代码9:
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
println(days[0]);
println(days[1]);
println(days[2]);
println(days[3]);
println(days[4]);
println(days[5]);
println(days[6]);
输出结果:
Mon
Tue
Wed
Thu
Fri
Sat
Sun
三、得到Sequence大小
示例代码10:
sizeof days
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];println(sizeof days);
四、插入项到Sequence里
有三种方式,顺序插入(insert ... into ... ),插到某项前(insert ... befor ...[..]),插到某项后(insert ... after ...[..])
示例代码11:
var days = ["Mon"];
insert "Tue" into days;
insert "Fri" into days;
insert "Sat" into days;
insert "Sun" into days;
insert "Thu" before days[2];
insert "wed" after days[1];
五、删除项
有三种方式,如下面代码。
示例代码12:
delete "Sun" from days;
delete days[0];
delete days;
六、反转Sequence
使用操作符reverse 可以很容易的得到sequence的项。
示例代码13:
var nums = [1..5];reverse nums; // returns [5, 4, 3, 2, 1]
七、比较Sequence
比较两个sequence是否相等,用运算符==。
示例代码14:
def seq1 = [1,2,3,4,5];
def seq2 = [1,2,3,4,5];
println(seq1 == seq2);
输出结果:true
示例代码15:
def seq1 = [1,2,3,4,5];
def seq2 = [1,2,3,4,5,6];
println(seq1 == seq2);
输出结果:false
示例代码16:
def seq1 = [1,2,3,4,5];def seq2 = [1,3,2,4,5];println(seq1 == seq2);
输出结果:false
两个sequence只有在项数相同,项值相同,位置相同的情况下才相等。
使用sequence切片
切片访问sequence的部分
seq[a...b]
示例代码17:
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];def weekend = days[5..6];
[说明]:weekend包括"Sat"和"Sun"。
seq[a...<b]
示例代码18:
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];def weekdays = days[0..<5];
[说明]:weekdays包括"Mon","Tue","Wed","Thu","Fri"。seq[a...]示例代码19:
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];def weekend = days[5..];[说明]:weekend包括"Sat"和"Sun"。seq[a...<]def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];def days2 = days[0..<];
[说明]:day2包括"Mon","Tue","Wed","Thu","Fri","Sat"。
- JavaFX Script Programming Language 学习 No.5
- JavaFX Script Programming Language 学习 No.1
- JavaFX Script Programming Language 学习 No.2
- JavaFX Script Programming Language 学习 No.3
- JavaFX Script Programming Language 学习 No.4
- JavaFX Script Programming Language 学习 No.6
- JavaFX Script Programming Language 学习 No.7
- The JavaFX™ Script Programming Language Reference (Draft)
- 脚本语言(Script language,scripting language,scripting programming language)
- c programming language learn 5
- 脚本语言(Script language,scripting language,scripting programming language)是为了缩短传统的编写-编译-链接-运行(edit-comp
- 《The C Programming Language》学习笔记
- The C Programming Language 学习笔记
- 《The C programming language》学习笔记
- Swift学习: The Swift Programming Language 01
- The Swift Programming Language学习笔记
- Programming Language
- 学习JavaFX Script,第二部分:使用RMI进行远程通信
- IncrediBuild简介
- FlashWindow的应用 闪烁程序的标题栏
- [模板制作技巧2]水晶报表的分栏显示 及分栏的格线美化
- 修改已经打开的对话框的浏览路径
- Window.ShowModalDialog使用手册
- JavaFX Script Programming Language 学习 No.5
- Sql语句汇总【2】
- 十进制转十六进制
- 精妙SQL语句介绍
- 从快速阅读能力的基础想到。。。
- CString GetBuffer()详解
- Google产品集
- oracle导出数据库
- 在UltraEdit中使用正则表达式