doc/cross/lambda [en]
Differences between version #5858 and #5998
53d52
<
55,56d53
< import neko.Lib;
<
63c60
< neko.Lib.println("nums: " + nums);
---
> trace("nums: " + nums);
66,67c63,64
< neko.Lib.println("count: " + Lambda.count(nums));
< neko.Lib.println("is empty: " + Lambda.empty(nums));
---
> trace("count: " + Lambda.count(nums));
> trace("is empty: " + Lambda.empty(nums));
70,71c67,68
< neko.Lib.println("contains 2: " + Lambda.has(nums, 2));
< neko.Lib.println("contains 3: " + Lambda.has(nums, 3));
---
> trace("contains 2: " + Lambda.has(nums, 2));
> trace("contains 3: " + Lambda.has(nums, 3));
74,77c71,74
< neko.Lib.println("contains an element less than 10: "
< + Lambda.exists(nums, function(ii) { return ii<10; }));
< neko.Lib.println("contains an element greater than 10: "
< + Lambda.exists(nums, function(ii) { return ii>10; }));
---
> trace("contains an element less than 10: "
> + Lambda.exists(nums, function(ii) { return ii<10; }));
> trace("contains an element greater than 10: "
> + Lambda.exists(nums, function(ii) { return ii>10; }));
80,83c77,80
< neko.Lib.println("all elements less than 10: "
< + Lambda.foreach(nums, function(ii) { return ii<10; }));
< neko.Lib.println("all elements greater than 10: "
< + Lambda.foreach(nums, function(ii) { return ii>10; }));
---
> trace("all elements less than 10: "
> + Lambda.foreach(nums, function(ii) { return ii<10; }));
> trace("all elements greater than 10: "
> + Lambda.foreach(nums, function(ii) { return ii>10; }));
87c84
< neko.Lib.println("even: " + Lambda.filter(nums, isEven));
---
> trace("even: " + Lambda.filter(nums, isEven));
91c88
< neko.Lib.println("times two: " + Lambda.map(nums, timesTwo));
---
> trace("times two: " + Lambda.map(nums, timesTwo));
95c92
< neko.Lib.println("sum: " + Lambda.fold(nums, sum, 0));
---
> trace("sum: " + Lambda.fold(nums, sum, 0));
108,119c105,116
< nums: [1, 3, 5, 6, 7, 8]
< count: 6
< is empty: false
< contains 2: false
< contains 3: true
< contains an element less than 10: true
< contains an element greater than 10: false
< all elements less than 10: true
< all elements greater than 10: false
< even: {6, 8}
< times two: {2, 6, 10, 12, 14, 16}
< sum: 30
---
> LambdaNumberTest.hx:7: nums: [1, 3, 5, 6, 7, 8]
> LambdaNumberTest.hx:10: count: 6
> LambdaNumberTest.hx:11: is empty: false
> LambdaNumberTest.hx:14: contains 2: false
> LambdaNumberTest.hx:15: contains 3: true
> LambdaNumberTest.hx:18: contains an element less than 10: true
> LambdaNumberTest.hx:20: contains an element greater than 10: false
> LambdaNumberTest.hx:24: all elements less than 10: true
> LambdaNumberTest.hx:26: all elements greater than 10: false
> LambdaNumberTest.hx:31: even: {6, 8}
> LambdaNumberTest.hx:35: times two: {2, 6, 10, 12, 14, 16}
> LambdaNumberTest.hx:39: sum: 30
122a120
> Note that since there is no way to create and populate a list in a single statement we create ''words'' as an ''Array'' and convert it to a ''list'' with the ''Lambda.list'' function.
125,126d122
< import neko.Lib;
<
133c129
< neko.Lib.println("words: " + words);
---
> trace("words: " + words);
136c132
< neko.Lib.println("join: " + words.join('_'));
---
> trace("join: " + words.join('_'));
139,140c135,136
< neko.Lib.println("count: " + Lambda.count(words));
< neko.Lib.println("is empty: " + words.isEmpty());
---
> trace("count: " + Lambda.count(words));
> trace("is empty: " + words.isEmpty());
143,144c139,140
< neko.Lib.println("contains cat: " + Lambda.has(words, 'cat'));
< neko.Lib.println("contains tree: " + Lambda.has(words, 'tree'));
---
> trace("contains cat: " + Lambda.has(words, 'cat'));
> trace("contains tree: " + Lambda.has(words, 'tree'));
147,150c143,146
< neko.Lib.println("contains an element less than 5 letters: "
< + Lambda.exists(words, function(ii) { return ii.length<5; }));
< neko.Lib.println("contains an element greater than 5 letters: "
< + Lambda.exists(words, function(ii) { return ii.length>5; }));
---
> trace("contains an element less than 5 letters: "
> + Lambda.exists(words, function(ii) { return ii.length<5; }));
> trace("contains an element greater than 5 letters: "
> + Lambda.exists(words, function(ii) { return ii.length>5; }));
153,156c149,152
< neko.Lib.println("all elements are less than 5 letters: "
< + Lambda.foreach(words, function(ii) { return ii.length<5; }));
< neko.Lib.println("all elements are greater than 5 letters: "
< + Lambda.foreach(words, function(ii) { return ii.length>5; }));
---
> trace("all elements are less than 5 letters: "
> + Lambda.foreach(words, function(ii) { return ii.length<5; }));
> trace("all elements are greater than 5 letters: "
> + Lambda.foreach(words, function(ii) { return ii.length>5; }));
160c156
< neko.Lib.println("three letter words: " + words.filter(isThreeLetters));
---
> trace("three letter words: " + words.filter(isThreeLetters));
164c160
< neko.Lib.println("capitalized: " + words.map(capitalize));
---
> trace("capitalized: " + words.map(capitalize));
168c164
< neko.Lib.println("total letters: " + Lambda.fold(words, countLetters, 0));
---
> trace("total letters: " + Lambda.fold(words, countLetters, 0));
181,194c177,210
< words: {car, boat, cat, frog}
< join: car_boat_cat_frog
< count: 4
< is empty: false
< contains cat: true
< contains tree: false
< contains an element less than 5 letters: true
< contains an element greater than 5 letters: false
< all elements are less than 5 letters: true
< all elements are greater than 5 letters: false
< three letter words: {car, cat}
< capitalized: {CAR, BOAT, CAT, FROG}
< total letters: 14
< </code>
\ No newline at end of file
---
> ListWordTest.hx:7: words: {car, boat, cat, frog}
> ListWordTest.hx:10: join: car_boat_cat_frog
> ListWordTest.hx:13: count: 4
> ListWordTest.hx:14: is empty: false
> ListWordTest.hx:17: contains cat: true
> ListWordTest.hx:18: contains tree: false
> ListWordTest.hx:21: contains an element less than 5 letters: true
> ListWordTest.hx:23: contains an element greater than 5 letters: false
> ListWordTest.hx:27: all elements are less than 5 letters: true
> ListWordTest.hx:29: all elements are greater than 5 letters: false
> ListWordTest.hx:34: three letter words: {car, cat}
> ListWordTest.hx:38: capitalized: {CAR, BOAT, CAT, FROG}
> ListWordTest.hx:42: total letters: 14
> </code>
>
> ==== Type Inference ====
> We use type inference to improve code readability, but we could have declared each variable's type explicitly. If doing so ''nums'' would be defined as:
> <code haxe>
> var nums : Array<Int> = [1, 3, 5, 6, 7, 8];
> </code>
> ''words'' could be defined as:
> <code haxe>
> var words : Array<String> = Lambda.list(['car', 'boat', 'cat', 'frog']);
> </code>
> ''isEven'' could be defined as:
> <code haxe>
> var isEven : Int->Bool = function(num:Int)
> { return Math.floor(num/2) == num/2; }
> </code>
> ''countLetters'' could be defined as:
> <code haxe>
> var countLetters : String->Int->Int = function(word:String, total:Int)
> { return total+=word.length; }
> </code>
| Ver | Date | User | Action |
|---|---|---|---|
| #15990 | 2013-02-20 12:13:29 | shohei909 | View | Diff |
| #12600 | 2012-02-23 18:40:24 | cambiata | View | Diff |
| #12599 | 2012-02-23 18:39:09 | cambiata | View | Diff |
| #10092 | 2011-02-02 08:51:23 | AndyLi | View | Diff |
| #10091 | 2011-02-02 08:29:17 | AndyLi | View | Diff |
| #10090 | 2011-02-02 08:28:26 | AndyLi | View | Diff |
| #6002 | 2009-05-18 21:09:16 | ianxm | View | Diff |
| #5998 | 2009-05-18 20:32:31 | ianxm | View | Diff |
| #5858 | 2009-04-29 14:31:38 | ianxm | View | Diff |
| #5855 | 2009-04-29 05:02:12 | jjdonald | View | Diff |
| #5854 | 2009-04-29 05:01:46 | jjdonald | View | Diff |
| #5853 | 2009-04-29 05:00:06 | jjdonald | View | Diff |
| #5851 | 2009-04-28 15:44:24 | ianxm | View | Diff |
| #5850 | 2009-04-28 15:43:26 | ianxm | View | Diff |
| #5844 | 2009-04-27 23:40:13 | ianxm | View | Diff |
| #5843 | 2009-04-27 23:36:47 | ianxm | View | Diff |
| #5842 | 2009-04-27 23:23:20 | ianxm | View | Diff |
| #5841 | 2009-04-27 20:24:18 | ianxm | View | Diff |
| #5840 | 2009-04-27 19:53:04 | ianxm | View | Diff |
| #5839 | 2009-04-27 19:43:11 | ianxm | View | Diff |
Previous | Next