1,330
edits
(Fixing 30 grammatical errors whilst reviewing afterwards) |
No edit summary |
||
| Line 143: | Line 143: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoints = ["wp1","wp2","wp3","wp4","wp5"]; | var waypoints = ["wp1", "wp2", "wp3", "wp4", "wp5"]; | ||
for(var index; index < size(waypoints); index= | for (var index; index < size(waypoints); index += 1) { | ||
print(waypoints[index]); | print(waypoints[index]); | ||
} | } | ||
| Line 152: | Line 152: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoints = ["wp1","wp2","wp3","wp4","wp5"]; | var waypoints = ["wp1", "wp2", "wp3", "wp4", "wp5"]; | ||
forindex(var index; waypoints) { | forindex (var index; waypoints) { | ||
print(waypoints[index]); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 161: | Line 161: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoints = ["wp1","wp2","wp3","wp4","wp5"]; | var waypoints = ["wp1", "wp2", "wp3", "wp4", "wp5"]; | ||
foreach(var wpt; waypoints) { | foreach (var wpt; waypoints) { | ||
print(wpt); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 194: | Line 194: | ||
var wp4brg = 0; # waypoint bearing | var wp4brg = 0; # waypoint bearing | ||
var waypoint4 = [wp4,wp4alt,wp4dist,wp4angle,wp4length,wp4id, wp4brg]; | var waypoint4 = [wp4, wp4alt, wp4dist, wp4angle, wp4length, wp4id, wp4brg]; | ||
var waypoints = [waypoint4] | var waypoints = [waypoint4]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 206: | Line 206: | ||
var wp4alt = 1000; # waypoint altitude | var wp4alt = 1000; # waypoint altitude | ||
var wp4dist = 20.4; # waypoint distance | var wp4dist = 20.4; # waypoint distance | ||
var wp4angle = 33.4; #waypoint angle | var wp4angle = 33.4; # waypoint angle | ||
var wp4length = 12; # waypoint length | var wp4length = 12; # waypoint length | ||
var wp4id = "none"; # waypoint id | var wp4id = "none"; # waypoint id | ||
var wp4brg = 122; # waypoint bearing | var wp4brg = 122; # waypoint bearing | ||
var waypoint4 = [wp4, wp4alt, wp4dist, wp4angle, wp4length, wp4id, wp4brg]; | |||
var waypoints = [waypoint4]; | |||
print(waypoints[0][0]); # contains the data stored in wp4 | |||
print(waypoints[0][1]); # contains the data stored in wp4alt | |||
print(waypoints[0][2]); # contains the data stored in wp4dist | |||
print ( waypoints[0][0] ) # contains the data stored in wp4 | print(waypoints[0][3]); # contains the data stored in wp4angle | ||
print ( waypoints[0][1] ) # contains the data stored in wp4alt | print(waypoints[0][4]); # contains the data stored in wp4length | ||
print ( waypoints[0][2] ) # contains the data stored in wp4dist | print(waypoints[0][5]); # contains the data stored in wp4id | ||
print ( waypoints[0][3] ) # contains the data stored in wp4angle | print(waypoints[0][6]); # contains the data stored in wp4brg | ||
print ( waypoints[0][4] ) # contains the data stored in wp4length | |||
print ( waypoints[0][5] ) # contains the data stored in wp4id | |||
print ( waypoints[0][6] ) # contains the data stored in wp4brg | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 229: | Line 228: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint4 = [wp4,wp4alt,wp4dist,wp4angle,wp4length,wp4id, wp4brg]; | var waypoint4 = [wp4, wp4alt, wp4dist, wp4angle, wp4length, wp4id, wp4brg]; | ||
var waypoint5 = [wp5,wp5alt,wp5dist,wp5angle,wp5length,wp5id, wp5brg]; | var waypoint5 = [wp5, wp5alt, wp5dist, wp5angle, wp5length, wp5id, wp5brg]; | ||
var waypoints = [waypoint4, waypoint5] | var waypoints = [waypoint4, waypoint5]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 237: | Line 236: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint4 = [1,1000,12,22,44,"none", 33]; | var waypoint4 = [1, 1000, 12, 22, 44, "none", 33]; | ||
var waypoint5 = [2,1500,22,42,14,"none", 133]; | var waypoint5 = [2, 1500, 22, 42, 14, "none", 133]; | ||
var waypoints = [waypoint4, waypoint5]; | var waypoints = [waypoint4, waypoint5]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 246: | Line 245: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoints = [ | var waypoints = [ | ||
[1, 1000, 12, 22, 44, "none", 33], | |||
[2, 1500, 22, 42, 14, "none", 133], | |||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 254: | Line 253: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoints = [ [1,1000,12,22,44,"none", 33], [2,1500,22,42,14,"none", 133] ]; | var waypoints = [ [1, 1000, 12, 22, 44, "none", 33], [2, 1500, 22, 42, 14, "none", 133] ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 261: | Line 260: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoints = [[1,1000,12,22,44,"none", 33], [2,1500,22,42,14,"none", 133]] | var waypoints = [[1, 1000, 12, 22, 44, "none", 33], [2, 1500, 22, 42, 14, "none", 133]]; | ||
print(waypoints[0][0]) # prints 1 | |||
print(waypoints[0][1]) # prints 1000 | print(waypoints[0][0]); # prints 1 | ||
print(waypoints[1][0]) # prints 2 | print(waypoints[0][1]); # prints 1000 | ||
print(waypoints[1][1]) # prints 1500 | print(waypoints[1][0]); # prints 2 | ||
print(waypoints[1][1]); # prints 1500 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 272: | Line 272: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
# these are used self-explanatory indices - so that you don't need to remember each field's position: | # these are used self-explanatory indices - so that you don't need to remember each field's position: | ||
var NUMBER=0; var ALTITUDE=1; var DISTANCE=2; var ANGLE=3; var LENGTH=4; var ID=5; var BRG=6; | var NUMBER = 0; | ||
var ALTITUDE = 1; | |||
var DISTANCE = 2; | |||
var ANGLE = 3; | |||
var LENGTH = 4; | |||
var ID = 5; | |||
var BRG = 6; | |||
var waypoints = [[1, 1000, 12, 22, 44, "none", 33], [2, 1500, 22, 42, 14, "none", 133]]; | |||
print(waypoints[0][ALTITUDE]); # prints 1 | |||
print(waypoints[0][ALTITUDE]) # prints 1 | print(waypoints[0][DISTANCE]); # prints 1000 | ||
print(waypoints[0][DISTANCE]) # prints 1000 | print(waypoints[1][ALTITUDE]); # prints 2 | ||
print(waypoints[1][ALTITUDE]) # prints 2 | print(waypoints[1][DISTANCE]); # prints 1500 | ||
print(waypoints[1][DISTANCE]) # prints 1500 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 284: | Line 291: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var NUMBER=0; var ALTITUDE=1; var DISTANCE=2; var ANGLE=3; var LENGTH=4; var ID=5; var BRG=6; | var NUMBER = 0; | ||
var waypoints = [[1,1000,12,22,44,"none", 33], [2,1500,22,42,14,"none", 133]] | var ALTITUDE = 1; | ||
var DISTANCE = 2; | |||
var ANGLE = 3; | |||
var LENGTH = 4; | |||
var ID = 5; | |||
var BRG = 6; | |||
var waypoints = [[1, 1000, 12, 22, 44, "none", 33], [2, 1500, 22, 42, 14, "none", 133]]; | |||
# print the altitude for each waypoint in the vector: | # print the altitude for each waypoint in the vector: | ||
foreach(var waypoint; waypoints) { | foreach (var waypoint; waypoints) { | ||
print( waypoint[ALTITUDE] ); | print(waypoint[ALTITUDE]); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 296: | Line 310: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var NUMBER=0; var ALTITUDE=1; var DISTANCE=2; var ANGLE=3; var LENGTH=4; var ID=5; var BRG=6; | var NUMBER = 0; | ||
var waypoints = [[1,1000,12,22,44,"none", 33], [2,1500,22,42,14,"none", 133]] | var ALTITUDE = 1; | ||
print(waypoints[0][ALTITUDE]) # prints 1 | var DISTANCE = 2; | ||
print(waypoints[0][DISTANCE]) # prints 1000 | var ANGLE = 3; | ||
print(waypoints[1][ALTITUDE]) # prints 2 | var LENGTH = 4; | ||
print(waypoints[1][DISTANCE]) # prints 1500 | var ID = 5; | ||
var BRG = 6; | |||
var waypoints = [[1, 1000, 12, 22, 44, "none", 33], [2, 1500, 22, 42, 14, "none", 133]]; | |||
print(waypoints[0][ALTITUDE]); # prints 1 | |||
print(waypoints[0][DISTANCE]); # prints 1000 | |||
print(waypoints[1][ALTITUDE]); # prints 2 | |||
print(waypoints[1][DISTANCE]); # prints 1500 | |||
append(waypoints, [3,3000,122,212,34,"none", 133] ); | append(waypoints, [3, 3000, 122, 212, 34, "none", 133]); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 309: | Line 331: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var NUMBER=0; var ALTITUDE=1; var DISTANCE=2; var ANGLE=3; var LENGTH=4; var ID=5; var BRG=6; | var NUMBER = 0; | ||
var waypoints = [[1,1000,12,22,44,"none", 33], [2,1500,22,42,14,"none", 133]]; | var ALTITUDE = 1; | ||
var DISTANCE = 2; | |||
var ANGLE = 3; | |||
var LENGTH = 4; | |||
var ID = 5; | |||
var BRG = 6; | |||
var waypoints = [[1, 1000, 12, 22, 44, "none", 33], [2, 1500, 22, 42, 14, "none", 133]]; | |||
var get = func (n,what) { | var get = func(n, what) { | ||
return waypoints[n][what]; | return waypoints[n][what]; | ||
} | }; | ||
var set = func (n,what,value) { | var set = func(n, what, value) { | ||
waypoints[n][what]=value; | waypoints[n][what] = value; | ||
} | }; | ||
print( get(0, ALTITUDE) | print(get(0, ALTITUDE)); # prints 1 | ||
print( get(0, DISTANCE) | print(get(0, DISTANCE)); # prints 1000 | ||
print( get(1, ALTITUDE) | print(get(1, ALTITUDE)); # prints 2 | ||
print( get(1, DISTANCE) | print(get(1, DISTANCE)); # prints 1500 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 332: | Line 361: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var NUMBER=0; var ALTITUDE=1; var DISTANCE=2; var ANGLE=3; var LENGTH=4; var ID=5; var BRG=6; | var NUMBER = 0; | ||
var waypoints = [[1,1000,12,22,44,"none", 33], [2,1500,22,42,14,"none", 133]]; | var ALTITUDE = 1; | ||
var DISTANCE = 2; | |||
var ANGLE = 3; | |||
var LENGTH = 4; | |||
var ID = 5; | |||
var BRG = 6; | |||
var waypoints = [[1, 1000, 12, 22, 44, "none", 33], [2, 1500, 22, 42, 14, "none", 133]]; | |||
var get = func (n,what) { | var get = func(n, what) { | ||
return waypoints[n][what]; | return waypoints[n][what]; | ||
} | }; | ||
var set = func (n,what,value) { | var set = func(n, what, value) { | ||
waypoints[n][what]=value; | waypoints[n][what] = value; | ||
} | }; | ||
var get_alt = func(n) { | var get_alt = func(n) { | ||
return get(n,ALTITUDE); | return get(n, ALTITUDE); | ||
} | }; | ||
var get_dist = func(n) { | var get_dist = func(n) { | ||
return get(n,DISTANCE); | return get(n, DISTANCE); | ||
} | }; | ||
var get_angle = func(n) { | var get_angle = func(n) { | ||
return get(n,ANGLE); | return get(n, ANGLE); | ||
} | }; | ||
var get_length = func(n) { | var get_length = func(n) { | ||
return get(n,LENGTH); | return get(n, LENGTH); | ||
} | }; | ||
var get_id = func(n) { | var get_id = func(n) { | ||
return get(n,ID); | return get(n, ID); | ||
} | }; | ||
var get_brg = func(n) { | var get_brg = func(n) { | ||
return get(n,BEARING); | return get(n, BEARING); | ||
} | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 388: | Line 424: | ||
# declare a new hash named waypoint | # declare a new hash named waypoint | ||
var waypoint = { | var waypoint = { | ||
# add a few fields and assign a value to each field: | # add a few fields and assign a value to each field: | ||
number:0, | number: 0, | ||
altitude:0, | altitude: 0, | ||
distance:0, | distance: 0, | ||
angle:0, | angle: 0, | ||
length:0, | length: 0, | ||
id: 0, | |||
bearing:0 | bearing: 0, | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 401: | Line 437: | ||
which is equivalent to this, more succinct, version: | which is equivalent to this, more succinct, version: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = {number:0,altitude:0,distance:0,angle:0,length:0, | var waypoint = { number: 0, altitude: 0, distance: 0, angle: 0, length: 0, id: 0, bearing: 0 }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 412: | Line 448: | ||
* angle | * angle | ||
* length | * length | ||
* | * id | ||
* bearing | * bearing | ||
| Line 418: | Line 454: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = {number:0,altitude:0,distance:0,angle:0,length:0, | var waypoint = { number: 0, altitude: 0, distance: 0, angle: 0, length: 0, id: 0, bearing: 0 }; | ||
print ( waypoint.number ); | |||
print ( waypoint.altitude ); | print(waypoint.number); | ||
print ( waypoint.distance ); | print(waypoint.altitude); | ||
print ( waypoint.angle ); | print(waypoint.distance); | ||
print ( waypoint.length ); | print(waypoint.angle); | ||
print ( waypoint. | print(waypoint.length); | ||
print ( waypoint.bearing ); | print(waypoint.id); | ||
print(waypoint.bearing); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 433: | Line 470: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
print ( waypoint.number ); # prints 1 | |||
print ( waypoint.altitude ); # prints 2 | print(waypoint.number); # prints 1 | ||
print ( waypoint.distance ); # prints 3 | print(waypoint.altitude); # prints 2 | ||
print ( waypoint.angle ); # prints 4 | print(waypoint.distance); # prints 3 | ||
print ( waypoint.length ); # 5 | print(waypoint.angle); # prints 4 | ||
print ( waypoint. | print(waypoint.length); # prints 5 | ||
print ( waypoint.bearing ); #7 | print(waypoint.id); # prints 6 | ||
print(waypoint.bearing); # prints 7 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 446: | Line 484: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint1 = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint1 = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
var waypoint2 = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint2 = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
var waypoint3 = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint3 = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
var waypoint4 = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint4 = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
var waypoint5 = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint5 = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 460: | Line 498: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var Position3D = {x:1.00, y:2.00, z:3.00}; | var Position3D = { x: 1.00, y: 2.00, z: 3.00 }; | ||
var p1 = { parents: [Position3D] }; | var p1 = { parents: [Position3D] }; | ||
var p2 = { parents: [Position3D] }; | var p2 = { parents: [Position3D] }; | ||
| Line 473: | Line 511: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint1 = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint1 = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
var waypoint2 = {parents:[waypoint1] }; | var waypoint2 = { parents: [waypoint1] }; | ||
var waypoint3 = {parents:[waypoint1] }; | var waypoint3 = { parents: [waypoint1] }; | ||
var waypoint4 = {parents:[waypoint1] }; | var waypoint4 = { parents: [waypoint1] }; | ||
var waypoint5 = {parents:[waypoint1] }; | var waypoint5 = { parents: [waypoint1] }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
You could even introduce a new helper function to create new objects, let's call it | You could even introduce a new helper function to create new objects, let's call it newWaypoint: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
var | var newWaypoint = func() { | ||
return { parents: [waypoint] }; | |||
} | }; | ||
var waypoint1 = | var waypoint1 = newWaypoint(); | ||
var waypoint2 = | var waypoint2 = newWaypoint(); | ||
var waypoint3 = | var waypoint3 = newWaypoint(); | ||
var waypoint4 = | var waypoint4 = newWaypoint(); | ||
var waypoint5 = | var waypoint5 = newWaypoint(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 500: | Line 538: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
# this is our template for new waypoints | # this is our template for new waypoints | ||
var waypoint = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7 }; | ||
# this is our allocator function creating new waypoints | # this is our allocator function creating new waypoints | ||
var | var newWaypoint = func { return { parents: [waypoint] }; }; | ||
var waypoints = [nil,nil,nil,nil,nil]; # initialize the vector to set its size | var waypoints = [nil, nil, nil, nil, nil]; # initialize the vector to set its size | ||
# populate the waypoints vector by allocating one new waypoint per "slot" | # populate the waypoints vector by allocating one new waypoint per "slot" | ||
waypoints[0] = | waypoints[0] = newWaypoint(); | ||
waypoints[1] = | waypoints[1] = newWaypoint(); | ||
waypoints[2] = | waypoints[2] = newWaypoint(); | ||
waypoints[3] = | waypoints[3] = newWaypoint(); | ||
waypoints[4] = | waypoints[4] = newWaypoint(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 518: | Line 556: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = {number:1,altitude:2,distance:3,angle:4,length:5, | var waypoint = { number: 1, altitude: 2, distance: 3, angle: 4, length: 5, id: 6, bearing: 7}; | ||
var | var newWaypoint = func { return { parents: [waypoint] }; }; | ||
var NUM_ELEMENTS = 5; | var NUM_ELEMENTS = 5; | ||
| Line 525: | Line 563: | ||
setsize(waypoints, NUM_ELEMENTS); | setsize(waypoints, NUM_ELEMENTS); | ||
forindex(var i; waypoints) | forindex (var i; waypoints) { | ||
waypoints[i] = | waypoints[i] = newWaypoint(); | ||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 541: | Line 580: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint1 = { | var waypoint1 = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7 | bearing: 7, | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 555: | Line 594: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
hello: func { | hello: func { | ||
print("Hello"); | print("Hello"); | ||
} | }, | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 573: | Line 612: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
hello: func { | hello: func { | ||
print("Hello"); | print("Hello"); | ||
} | }, | ||
}; | }; | ||
var w = {parents: [waypoint]}; | var w = { parents: [waypoint] }; | ||
w.hello(); | w.hello(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 593: | Line 632: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var make_waypoint = func { | var make_waypoint = func { | ||
return { parents:[waypoint] }; | return { parents: [waypoint] }; | ||
} | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 601: | Line 640: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
new: func { | new: func { | ||
return {parents:[waypoint]} | return { parents:[waypoint] }; | ||
} | }, | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 629: | Line 668: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var namehash = {}; | var namehash = {}; | ||
namehash["value1"]= 1; | namehash["value1"] = 1; | ||
namehash["value2"] =2; | namehash["value2"] = 2; | ||
foreach(var | foreach (var hashKey ; keys(namehash)) { | ||
print(namehash[ | print(namehash[hashKey]); | ||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 642: | Line 682: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var new = func(obj) { | var new = func(obj) { | ||
return {parents:obj}; | return { parents: obj }; | ||
} | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 649: | Line 689: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var p = new( [Position3D] ); | var p = new([Position3D]); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 656: | Line 696: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var new = func { | var new = func { | ||
return {parents:arg}; | return { parents: arg }; | ||
} | }; | ||
var Position3D = {x:0.0, y:0.0, z:0.0}; | var Position3D = { x: 0.0, y: 0.0, z: 0.0 }; | ||
var p = new( Position3D ); | var p = new(Position3D); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 670: | Line 710: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var new = func(classes...) { | var new = func(classes...) { | ||
return {parents:classes}; | return { parents: classes }; | ||
} | }; | ||
var Position3D = {x:0.0, y:0.0, z:0.0}; | var Position3D = { x: 0.0, y: 0.0, z: 0.0 }; | ||
var p = new( Position3D ); | var p = new(Position3D); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 687: | Line 727: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
# a new function with an implicit arg parameter that simply returns a new hash with the parents' field set to all arguments provided | # a new function with an implicit arg parameter that simply returns a new hash with the parents' field set to all arguments provided | ||
var new = func return { parents:arg }; | var new = func return { parents: arg }; | ||
var Position3D = {x:0.0, y:0.0, z:0.0}; | var Position3D = { x: 0.0, y: 0.0, z: 0.0 }; | ||
var p = new( Position3D ); | var p = new(Position3D); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 701: | Line 741: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
new: func { | new: func { | ||
return {parents:[waypoint]}; | return { parents: [waypoint] }; | ||
}, | }, | ||
show_number: func { | show_number: func { | ||
print(me.number); | print(me.number); | ||
} | }, | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 723: | Line 763: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
new: func(n) { | new: func(n) { | ||
return {parents:[waypoint]}; | return { parents: [waypoint] }; | ||
}, | }, | ||
show_number: func { | show_number: func { | ||
print(me.number); | print(me.number); | ||
} | }, | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 745: | Line 785: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
new: func(n) { | new: func(n) { | ||
var t={parents:[waypoint]}; | var t = { parents: [waypoint] }; | ||
t.number = n; | t.number = n; | ||
return t; | return t; | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 755: | Line 795: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
new: func(n) { | new: func(n) { | ||
var t={parents:[waypoint]}; | var t = { parents: [waypoint] }; | ||
t.number = n; | t.number = n; | ||
return t; | return t; | ||
| Line 769: | Line 809: | ||
show_number: func { | show_number: func { | ||
print(me.number); | print(me.number); | ||
} | }, | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 778: | Line 818: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
new: func(n) { | new: func(n) { | ||
var t={parents:[waypoint]}; | var t = { parents: [waypoint] }; | ||
t.number = n; | t.number = n; | ||
return t; | return t; | ||
| Line 792: | Line 832: | ||
}; | }; | ||
var waypoints = [waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new() ]; | var waypoints = [waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new()]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 800: | Line 840: | ||
waypoints[0].bearing = 100; | waypoints[0].bearing = 100; | ||
waypoints[1].altitude = 100; | waypoints[1].altitude = 100; | ||
waypoints[2]. | waypoints[2].id = "none"; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 807: | Line 847: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var waypoint = { | var waypoint = { | ||
number:1, | number: 1, | ||
altitude:2, | altitude: 2, | ||
distance:3, | distance: 3, | ||
angle:4, | angle: 4, | ||
length:5, | length: 5, | ||
id: 6, | |||
bearing:7, | bearing: 7, | ||
new: func(n) { | new: func(n) { | ||
var t={parents:[waypoint]}; | var t = { parents: [waypoint] }; | ||
t.number = n; | t.number = n; | ||
return t; | return t; | ||
}, | }, | ||
dump: func { | dump: func { | ||
print("Altitude:", me.altitude, " distance:", me.distance, " | print("Altitude: ", me.altitude, ", distance: ", me.distance, ", bearing: ", me.bearing); | ||
} | }, | ||
}; | }; | ||
var waypoints = [waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new() | var waypoints = [waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new(), waypoint.new()]; | ||
foreach(var w; waypoints) { | foreach (var w; waypoints) { | ||
w.dump(); | w.dump(); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 835: | Line 874: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var new = func return {parents:arg}; | var new = func return { parents: arg }; | ||
var propulsion = {horse_power:0}; | var propulsion = { horse_power: 0 }; | ||
var vehicle = {tyres:0}; | var vehicle = { tyres: 0 }; | ||
# create different propulsion classes: | # create different propulsion classes: | ||
var engine = new(propulsion); | var engine = new(propulsion); | ||
var piston_engine = new (engine); | var piston_engine = new(engine); | ||
var turboprop_engine = new(engine); | var turboprop_engine = new(engine); | ||
var jet_engine = new(engine); | var jet_engine = new(engine); | ||
| Line 868: | Line 907: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var new = func return {parents:arg}; | var new = func return { parents: arg }; | ||
var animal = {eyes:0,ears:0}; | var animal = { eyes: 0, ears: 0 }; | ||
var dog = new(animal); | var dog = new(animal); | ||
| Line 880: | Line 919: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var new = func return {parents:arg}; | var new = func return { parents: arg }; | ||
var animal = {eyes:0,ears:0,legs:0}; | var animal = { eyes: 0, ears: 0, legs: 0 }; | ||
var dog = new(animal); | var dog = new(animal); | ||
| Line 892: | Line 931: | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
var new = func return {parents:arg}; | var new = func return { parents: arg }; | ||
var leg = {length:0}; | var leg = { length: 0 }; | ||
var animal = {eyes:0,ears:0,legs:[] }; | var animal = { eyes: 0, ears: 0, legs: [] }; | ||
var dog = new(animal); | var dog = new(animal); | ||
edits