1 |
## our_shell: ysh
|
2 |
|
3 |
|
4 |
|
5 |
func Rect_area(this) {
|
6 |
return (this.x * this.y)
|
7 |
}
|
8 |
|
9 |
var Rect = Object(null, {area: Rect_area})
|
10 |
|
11 |
var rect1 = Object(Rect, {x: 3, y: 4})
|
12 |
var rect2 = Object(Rect, {x: 10, y: 20})
|
13 |
|
14 |
# This could change to show the object?
|
15 |
# pp test_ (rect)
|
16 |
|
17 |
# TODO: This should be a bound function
|
18 |
#pp asdl_ (rect)
|
19 |
#pp (rect.area)
|
20 |
#pp (rect->area)
|
21 |
|
22 |
var area1 = rect1.area()
|
23 |
var area2 = rect2.area()
|
24 |
|
25 |
pp test_ ([rect1.x, rect1.y])
|
26 |
echo "area1 = $area1"
|
27 |
|
28 |
pp test_ ([rect2.x, rect2.y])
|
29 |
echo "area2 = $area2"
|
30 |
|
31 |
#pp test_ (rect1.nonexistent)
|
32 |
|
33 |
## STDOUT:
|
34 |
(List) [3,4]
|
35 |
area1 = 12
|
36 |
(List) [10,20]
|
37 |
area2 = 200
|
38 |
## END
|