Addons updated to new doc format
[io.git] / docs / IoCoreReference.html
blobd5b0e61618bf9e326c265b752a3c0080a3e8a2af
2 <html>
3 <head>
4 <title>io - core reference</title>
5 <META HTTP-EQUIV="EXPIRES" CONTENT=0>
6 <style>
7 a
9 color : #aaa;
10 text-decoration : none;
13 body {
14 font-family: 'Serif', 'Helvetica Neue', 'Helvetica', 'Sans';
17 ul {
18 padding: 0em 0em 0em 3.1em;
21 hr {
22 width:50em;
23 height:0em;
26 .Version {
27 color: #bbb;
28 text-align: left;
31 h1 {
32 color: #000000;
33 font-family: 'Helvetica-Bold', 'Helvetica';
34 font-size: 3em;
35 font-style: normal;
36 font-variant: normal;
37 font-weight: bold;
38 letter-spacing: 0;
39 line-height: 1.3;
40 margin-bottom: 0em;
41 margin-left: 0em;
42 margin-right: 0em;
43 margin-top: 0em;
44 padding-bottom: 0em;
45 padding-top: 2em;
46 text-align: left;
47 text-decoration: none;
48 text-indent: 0.00em;
49 text-transform: none;
50 vertical-align: 0.000000em;
53 code {
54 white-space: pre;
55 color: #000000;
56 font-family: 'Courier', 'Courier';
57 font-size: .88em;
58 font-style: normal;
59 font-variant: normal;
60 font-weight: normal;
61 letter-spacing: 0;
62 line-height: 1.22;
63 margin-bottom: 1em;
64 margin-left: 8em;
65 margin-right: 0em;
66 margin-top: 0em;
67 padding-bottom: 0em;
68 padding-top: 0em;
69 text-align: left;
70 text-decoration: none;
71 text-indent: 0.00em;
72 text-transform: none;
73 vertical-align: 0.000000em;
76 h2 {
77 color: #000000;
78 font-family: 'Helvetica', 'Helvetica';
79 font-size: 1.8em;
80 font-style: normal;
81 font-variant: normal;
82 font-weight: bold;
83 letter-spacing: 0;
84 line-height: 1.21;
85 margin-bottom: .5em;
86 margin-left: 0em;
87 margin-right: 0.00em;
88 margin-top: 0.000000em;
89 padding-bottom: 7.000000pt;
90 padding-top: 21.000000pt;
91 text-align: left;
92 text-decoration: none;
93 text-indent: 0.00em;
94 text-transform: none;
95 vertical-align: 0.000000em;
98 h3 {
99 color: #777;
100 font-family: 'Helvetica-Bold', 'Helvetica';
101 font-size: 1.3em;
102 font-style: normal;
103 font-variant: normal;
104 font-weight: bold;
105 letter-spacing: 0;
106 line-height: 1.18em;
107 margin-bottom: 0em;
108 margin-left: 0em;
109 margin-right: 0em;
110 margin-top: 0em;
111 padding-bottom: 1em;
112 padding-top: 1em;
113 text-align: left;
114 text-decoration: none;
115 text-indent: 0.00em;
116 text-transform: none;
117 vertical-align: 0.000000em;
120 .PsuedoCode {
121 color: #000000;
122 font-family: 'Times-Italic', 'Times';
123 font-size: 11.00pt;
124 font-style: italic;
125 font-variant: normal;
126 font-weight: normal;
127 letter-spacing: 0;
128 line-height: 1.18;
129 margin-bottom: 0.000000em;
130 margin-left: 0em;
131 margin-right: 0.00em;
132 margin-top: 0.000000em;
133 padding-bottom: 0.000000em;
134 padding-top: 0.000000em;
135 text-align: left;
136 text-decoration: none;
137 text-indent: 0.00em;
138 text-transform: none;
139 vertical-align: 0.000000em;
142 </style>
143 </head>
144 <body>
146 <ul>
147 <h1>Io Core Reference Manual</h1>
148 <div class=Version>Version 20080120</div>
149 <h2>Prototypes</h2>
150 <ul>
151 <a href=#"abc" style="color: #555;">"abc"</a><br>
152 <a href=#Addon style="color: #555;">Addon</a><br>
153 <a href=#Block style="color: #555;">Block</a><br>
154 <a href=#CFunction style="color: #555;">CFunction</a><br>
155 <a href=#Call style="color: #555;">Call</a><br>
156 <a href=#Collector style="color: #555;">Collector</a><br>
157 <a href=#Compiler style="color: #555;">Compiler</a><br>
158 <a href=#Coroutine style="color: #555;">Coroutine</a><br>
159 <a href=#Date style="color: #555;">Date</a><br>
160 <a href=#Debugger style="color: #555;">Debugger</a><br>
161 <a href=#Directory style="color: #555;">Directory</a><br>
162 <a href=#Duration style="color: #555;">Duration</a><br>
163 <a href=#DynLib style="color: #555;">DynLib</a><br>
164 <a href=#File style="color: #555;">File</a><br>
165 <a href=#ImmutableSequence style="color: #555;">ImmutableSequence</a><br>
166 <a href=#Importer style="color: #555;">Importer</a><br>
167 <a href=#List style="color: #555;">List</a><br>
168 <a href=#Map style="color: #555;">Map</a><br>
169 <a href=#Message style="color: #555;">Message</a><br>
170 <a href=#MutableSequence style="color: #555;">MutableSequence</a><br>
171 <a href=#Number style="color: #555;">Number</a><br>
172 <a href=#Object style="color: #555;">Object</a><br>
173 <a href=#Path style="color: #555;">Path</a><br>
174 <a href=#Sandbox style="color: #555;">Sandbox</a><br>
175 <a href=#Scheduler style="color: #555;">Scheduler</a><br>
176 <a href=#Sequence style="color: #555;">Sequence</a><br>
177 <a href=#State style="color: #555;">State</a><br>
178 <a href=#System style="color: #555;">System</a><br>
179 <a href=#Tag style="color: #555;">Tag</a><br>
180 <a href=#Token style="color: #555;">Token</a><br>
181 <a href=#UnitTest style="color: #555;">UnitTest</a><br>
182 <a href=#WeakLink style="color: #555;">WeakLink</a><br>
183 <a href=#nil style="color: #555;">nil</a><br>
184 <a href=#true style="color: #555;">true</a><br>
185 </ul>
186 <h2><a name="abc"><font color=black>"abc"</font></a></h2>
187 <ul style="width:40em">
188 <b><font color=#000>Protos:</font></b> Object
189 <h3>Slot Index</h3>
190 <div style="width:40em; margin-left:2em">
191 </div>
192 <br>
193 <h3>Slots</h3>
194 <br>
195 </ul>
196 <br>
197 <hr align=left>
198 <br>
199 <h2><a name=Addon><font color=black>Addon</font></a></h2>
200 <ul style="width:40em">
201 <b><font color=#000>Protos:</font></b> Object
202 <h3>Slot Index</h3>
203 <div style="width:40em; margin-left:2em">
204 <b><a href=#Addon-addonFor(aName) >addonFor(aName)</a></b><br>
205 <b><a href=#Addon-addonPath >addonPath </a></b><br>
206 <b><a href=#Addon-addonProtos >addonProtos </a></b><br>
207 <b><a href=#Addon-addons >addons </a></b><br>
208 <b><a href=#Addon-appendSearchPath(aSequence) >appendSearchPath(aSequence)</a></b><br>
209 <b><a href=#Addon-dependencies >dependencies </a></b><br>
210 <b><a href=#Addon-dllName >dllName </a></b><br>
211 <b><a href=#Addon-dllPath >dllPath </a></b><br>
212 <b><a href=#Addon-dllSuffix >dllSuffix </a></b><br>
213 <b><a href=#Addon-exists >exists </a></b><br>
214 <b><a href=#Addon-hasAddonNamed(aName) >hasAddonNamed(aName)</a></b><br>
215 <b><a href=#Addon-ioFiles >ioFiles </a></b><br>
216 <b><a href=#Addon-load >load </a></b><br>
217 <b><a href=#Addon-loadAddonNamed(aName) >loadAddonNamed(aName)</a></b><br>
218 <b><a href=#Addon-loadDependencies >loadDependencies </a></b><br>
219 <b><a href=#Addon-name >name </a></b><br>
220 <b><a href=#Addon-platform >platform </a></b><br>
221 <b><a href=#Addon-rootPath >rootPath </a></b><br>
222 <b><a href=#Addon-searchPaths >searchPaths </a></b><br>
223 <b><a href=#Addon-setName(aSequence) >setName(aSequence)</a></b><br>
224 <b><a href=#Addon-setRootPath(aSequence) >setRootPath(aSequence)</a></b><br>
225 <b><a href=#Addon-sourcePath >sourcePath </a></b><br>
226 </div>
227 <br>
228 <h3>Slots</h3>
229 <br>
230 <b><a name=Addon-addonFor(aName)><font color=black>addonFor(aName)</font></a></b><p>
231 <div style="width:40em; margin-left:2em">
232 Returns the Addon with the given name if it can be found or nil otherwise.
234 </font>
235 </div>
236 <p><br>
237 <b><a name=Addon-addonPath ><font color=black>addonPath </font></a></b><p>
238 <div style="width:40em; margin-left:2em">
239 Implemented as Path with(rootPath, name).
241 </font>
242 </div>
243 <p><br>
244 <b><a name=Addon-addonProtos ><font color=black>addonProtos </font></a></b><p>
245 <div style="width:40em; margin-left:2em">
246 Returns names of protos defined in the addon from the addon's protos file.
248 </font>
249 </div>
250 <p><br>
251 <b><a name=Addon-addons ><font color=black>addons </font></a></b><p>
252 <div style="width:40em; margin-left:2em">
253 Looks for all addons which can be found and returns them as a list of Addon objects. Caches the result the first time it is called.
255 </font>
256 </div>
257 <p><br>
258 <b><a name=Addon-appendSearchPath(aSequence)><font color=black>appendSearchPath(aSequence)</font></a></b><p>
259 <div style="width:40em; margin-left:2em">
260 Appends the argument to the list of search paths.
262 </font>
263 </div>
264 <p><br>
265 <b><a name=Addon-dependencies ><font color=black>dependencies </font></a></b><p>
266 <div style="width:40em; margin-left:2em">
267 Returns the list of dependencies from the addon's depends file.
269 </font>
270 </div>
271 <p><br>
272 <b><a name=Addon-dllName ><font color=black>dllName </font></a></b><p>
273 <div style="width:40em; margin-left:2em">
274 Return the name of the dll for the addon.
276 </font>
277 </div>
278 <p><br>
279 <b><a name=Addon-dllPath ><font color=black>dllPath </font></a></b><p>
280 <div style="width:40em; margin-left:2em">
281 Returns the path to the dll for the addon. Note: not all addons have dlls - some just contain io files.
283 </font>
284 </div>
285 <p><br>
286 <b><a name=Addon-dllSuffix ><font color=black>dllSuffix </font></a></b><p>
287 <div style="width:40em; margin-left:2em">
288 Returns the platform specific dll suffix.
290 </font>
291 </div>
292 <p><br>
293 <b><a name=Addon-exists ><font color=black>exists </font></a></b><p>
294 <div style="width:40em; margin-left:2em">
295 Returns true if the addonPath exists, false otherwise.
297 </font>
298 </div>
299 <p><br>
300 <b><a name=Addon-hasAddonNamed(aName)><font color=black>hasAddonNamed(aName)</font></a></b><p>
301 <div style="width:40em; margin-left:2em">
302 Returns true if the named addon can be found, false otherwise.
304 </font>
305 </div>
306 <p><br>
307 <b><a name=Addon-ioFiles ><font color=black>ioFiles </font></a></b><p>
308 <div style="width:40em; margin-left:2em">
309 Return list of io File objects for the io files in the io folder of the addon.
311 </font>
312 </div>
313 <p><br>
314 <b><a name=Addon-load ><font color=black>load </font></a></b><p>
315 <div style="width:40em; margin-left:2em">
316 Loads the addon.
318 </font>
319 </div>
320 <p><br>
321 <b><a name=Addon-loadAddonNamed(aName)><font color=black>loadAddonNamed(aName)</font></a></b><p>
322 <div style="width:40em; margin-left:2em">
323 Loads the Addon with the given name if it can be found or nil otherwise.
325 </font>
326 </div>
327 <p><br>
328 <b><a name=Addon-loadDependencies ><font color=black>loadDependencies </font></a></b><p>
329 <div style="width:40em; margin-left:2em">
330 Loads the addon's dependencies. Called from the load method.
332 </font>
333 </div>
334 <p><br>
335 <b><a name=Addon-name ><font color=black>name </font></a></b><p>
336 <div style="width:40em; margin-left:2em">
337 Returns the name of the addon.
339 </font>
340 </div>
341 <p><br>
342 <b><a name=Addon-platform ><font color=black>platform </font></a></b><p>
343 <div style="width:40em; margin-left:2em">
344 Implemented as method(System platform split at(0) asLowercase).
346 </font>
347 </div>
348 <p><br>
349 <b><a name=Addon-rootPath ><font color=black>rootPath </font></a></b><p>
350 <div style="width:40em; margin-left:2em">
351 Returns the rootPath of the addon's folder.
353 </font>
354 </div>
355 <p><br>
356 <b><a name=Addon-searchPaths ><font color=black>searchPaths </font></a></b><p>
357 <div style="width:40em; margin-left:2em">
358 Returns the list of paths to search for addons.
360 </font>
361 </div>
362 <p><br>
363 <b><a name=Addon-setName(aSequence)><font color=black>setName(aSequence)</font></a></b><p>
364 <div style="width:40em; margin-left:2em">
365 Sets the name of the addon. Returns self.
367 </font>
368 </div>
369 <p><br>
370 <b><a name=Addon-setRootPath(aSequence)><font color=black>setRootPath(aSequence)</font></a></b><p>
371 <div style="width:40em; margin-left:2em">
372 Sets rootPath of the addon's folder. Returns self.
374 </font>
375 </div>
376 <p><br>
377 <b><a name=Addon-sourcePath ><font color=black>sourcePath </font></a></b><p>
378 <div style="width:40em; margin-left:2em">
379 Returns the path of the source folder for the addon.
381 </font>
382 </div>
383 <p><br>
384 </ul>
385 <br>
386 <hr align=left>
387 <br>
388 <h2><a name=Block><font color=black>Block</font></a></h2>
389 <ul style="width:40em">
390 <b><font color=#000>Protos:</font></b> Object
391 <h3>Description</h3>
392 Blocks are anonymous functions (messages with their own locals object).
393 They are typically used to represent object methods.
395 </font>
396 <h3>Slot Index</h3>
397 <div style="width:40em; margin-left:2em">
398 <b><a href=#Block-argumentNames >argumentNames</a></b><br>
399 <b><a href=#Block-asSimpleString >asSimpleString </a></b><br>
400 <b><a href=#Block-asString >asString </a></b><br>
401 <b><a href=#Block-call(arg0, arg1, ...) >call(arg0, arg1, ...)</a></b><br>
402 <b><a href=#Block-code >code</a></b><br>
403 <b><a href=#Block-justSerialized(stream) >justSerialized(stream)</a></b><br>
404 <b><a href=#Block-message >message</a></b><br>
405 <b><a href=#Block-passStops >passStops</a></b><br>
406 <b><a href=#Block-performOn(anObject, optionalLocals, optionalMessage, optionalSlotContext) >performOn(anObject, optionalLocals, optionalMessage, optionalSlotContext)</a></b><br>
407 <b><a href=#Block-print >print</a></b><br>
408 <b><a href=#Block-scope >scope</a></b><br>
409 <b><a href=#Block-setArgumentNames(aListOfStrings) >setArgumentNames(aListOfStrings)</a></b><br>
410 <b><a href=#Block-setCode(aString) >setCode(aString)</a></b><br>
411 <b><a href=#Block-setMessage(aMessage) >setMessage(aMessage)</a></b><br>
412 <b><a href=#Block-setPassStops(aBool) >setPassStops(aBool)</a></b><br>
413 <b><a href=#Block-setScope(anObjectOrNil) >setScope(anObjectOrNil)</a></b><br>
414 </div>
415 <br>
416 <h3>Slots</h3>
417 <br>
418 <b><a name=Block-argumentNames><font color=black>argumentNames</font></a></b><p>
419 <div style="width:40em; margin-left:2em">
420 Returns a List of strings containing the argument names of the receiver.
422 </font>
423 </div>
424 <p><br>
425 <b><a name=Block-asSimpleString ><font color=black>asSimpleString </font></a></b><p>
426 <div style="width:40em; margin-left:2em">
427 Returns a short description of the receiver.
429 </font>
430 </div>
431 <p><br>
432 <b><a name=Block-asString ><font color=black>asString </font></a></b><p>
433 <div style="width:40em; margin-left:2em">
434 Returns a full description of the receiver with decompiled code.
436 </font>
437 </div>
438 <p><br>
439 <b><a name=Block-call(arg0, arg1, ...)><font color=black>call(arg0, arg1, ...)</font></a></b><p>
440 <div style="width:40em; margin-left:2em">
441 Activates the receiver with the provided arguments.
443 </font>
444 </div>
445 <p><br>
446 <b><a name=Block-code><font color=black>code</font></a></b><p>
447 <div style="width:40em; margin-left:2em">
448 Returns a string containing the decompiled code of the receiver.
450 </font>
451 </div>
452 <p><br>
453 <b><a name=Block-justSerialized(stream)><font color=black>justSerialized(stream)</font></a></b><p>
454 <div style="width:40em; margin-left:2em">
455 Write's the receivers code into the stream.
457 </font>
458 </div>
459 <p><br>
460 <b><a name=Block-message><font color=black>message</font></a></b><p>
461 <div style="width:40em; margin-left:2em">
462 Returns the root message of the receiver.
464 </font>
465 </div>
466 <p><br>
467 <b><a name=Block-passStops><font color=black>passStops</font></a></b><p>
468 <div style="width:40em; margin-left:2em">
469 Returns whether or not the receiver passes return/continue/break to caller.
471 </font>
472 </div>
473 <p><br>
474 <b><a name=Block-performOn(anObject, optionalLocals, optionalMessage, optionalSlotContext)><font color=black>performOn(anObject, optionalLocals, optionalMessage, optionalSlotContext)</font></a></b><p>
475 <div style="width:40em; margin-left:2em">
476 Activates the receiver in the target context of anObject.
477 Returns the result.
479 </font>
480 </div>
481 <p><br>
482 <b><a name=Block-print><font color=black>print</font></a></b><p>
483 <div style="width:40em; margin-left:2em">
484 prints an Io source code representation of the block/method
486 </font>
487 </div>
488 <p><br>
489 <b><a name=Block-scope><font color=black>scope</font></a></b><p>
490 <div style="width:40em; margin-left:2em">
491 Returns the scope used when the block is activated or
492 Nil if the target of the message is the scope.
494 </font>
495 </div>
496 <p><br>
497 <b><a name=Block-setArgumentNames(aListOfStrings)><font color=black>setArgumentNames(aListOfStrings)</font></a></b><p>
498 <div style="width:40em; margin-left:2em">
499 Sets the receiver's argument names to those specified in
500 aListOfStrings. Returns self.
502 </font>
503 </div>
504 <p><br>
505 <b><a name=Block-setCode(aString)><font color=black>setCode(aString)</font></a></b><p>
506 <div style="width:40em; margin-left:2em">
507 Set's the reciever's message to a compiled version of aString. Returns self
509 </font>
510 </div>
511 <p><br>
512 <b><a name=Block-setMessage(aMessage)><font color=black>setMessage(aMessage)</font></a></b><p>
513 <div style="width:40em; margin-left:2em">
514 Sets the root message of the receiver to aMessage.
516 </font>
517 </div>
518 <p><br>
519 <b><a name=Block-setPassStops(aBool)><font color=black>setPassStops(aBool)</font></a></b><p>
520 <div style="width:40em; margin-left:2em">
521 Sets whether the receiver passes return/continue/break to caller.
523 </font>
524 </div>
525 <p><br>
526 <b><a name=Block-setScope(anObjectOrNil)><font color=black>setScope(anObjectOrNil)</font></a></b><p>
527 <div style="width:40em; margin-left:2em">
528 If argument is an object, when the block is activated,
529 it will set the proto and self slots of it's locals to the specified
530 object. If Nil, it will set them to the target of the message.
532 </font>
533 </div>
534 <p><br>
535 </ul>
536 <br>
537 <hr align=left>
538 <br>
539 <h2><a name=CFunction><font color=black>CFunction</font></a></h2>
540 <ul style="width:40em">
541 <b><font color=#000>Protos:</font></b> Object
542 <h3>Description</h3>
543 A container for a pointer to a C function binding.
544 CFunction's can only be defined from the C side and act
545 like blocks in that when placed in a slot, are called when the
546 slot is activated. The for, if, while and clone methods of the Lobby
547 are examples of CFunctions. CFunctions are useful for implementing
548 methods that require the speed of C or binding to a C library.
550 </font>
551 <h3>Slot Index</h3>
552 <div style="width:40em; margin-left:2em">
553 <b><a href=#CFunction-==(anObject) >==(anObject)</a></b><br>
554 <b><a href=#CFunction-asSimpleString >asSimpleString </a></b><br>
555 <b><a href=#CFunction-asString >asString </a></b><br>
556 <b><a href=#CFunction-id >id</a></b><br>
557 <b><a href=#CFunction-name >name </a></b><br>
558 <b><a href=#CFunction-performOn(target, blockLocals, optionalMessage, optionalContext) >performOn(target, blockLocals, optionalMessage, optionalContext)</a></b><br>
559 <b><a href=#CFunction-type >type</a></b><br>
560 <b><a href=#CFunction-typeName >typeName</a></b><br>
561 <b><a href=#CFunction-uniqueName >uniqueName</a></b><br>
562 </div>
563 <br>
564 <h3>Slots</h3>
565 <br>
566 <b><a name=CFunction-==(anObject)><font color=black>==(anObject)</font></a></b><p>
567 <div style="width:40em; margin-left:2em">
568 Returns self if the argument is a CFunction with the same internal C function pointer.
570 </font>
571 </div>
572 <p><br>
573 <b><a name=CFunction-asSimpleString ><font color=black>asSimpleString </font></a></b><p>
574 <div style="width:40em; margin-left:2em">
575 Returns the CFunction name.
577 </font>
578 </div>
579 <p><br>
580 <b><a name=CFunction-asString ><font color=black>asString </font></a></b><p>
581 <div style="width:40em; margin-left:2em">
582 Same as asSimpleString.
584 </font>
585 </div>
586 <p><br>
587 <b><a name=CFunction-id><font color=black>id</font></a></b><p>
588 <div style="width:40em; margin-left:2em">
589 Returns a number containing a unique id for the receiver's internal C function.
591 </font>
592 </div>
593 <p><br>
594 <b><a name=CFunction-name ><font color=black>name </font></a></b><p>
595 <div style="width:40em; margin-left:2em">
596 Returns the CFunction name in the form CFunction_Pointer.")
598 </font>
599 </div>
600 <p><br>
601 <b><a name=CFunction-performOn(target, blockLocals, optionalMessage, optionalContext)><font color=black>performOn(target, blockLocals, optionalMessage, optionalContext)</font></a></b><p>
602 <div style="width:40em; margin-left:2em">
603 Activates the CFunctions with the supplied settings.
605 </font>
606 </div>
607 <p><br>
608 <b><a name=CFunction-type><font color=black>type</font></a></b><p>
609 <div style="width:40em; margin-left:2em">
610 Returns "Cfunction".
612 </font>
613 </div>
614 <p><br>
615 <b><a name=CFunction-typeName><font color=black>typeName</font></a></b><p>
616 <div style="width:40em; margin-left:2em">
617 Returns the owning type of the CFunction or nil if the CFunction can be called on any object.
619 </font>
620 </div>
621 <p><br>
622 <b><a name=CFunction-uniqueName><font color=black>uniqueName</font></a></b><p>
623 <div style="width:40em; margin-left:2em">
624 Returns the name given to the CFunction.
626 </font>
627 </div>
628 <p><br>
629 </ul>
630 <br>
631 <hr align=left>
632 <br>
633 <h2><a name=Call><font color=black>Call</font></a></h2>
634 <ul style="width:40em">
635 <b><font color=#000>Protos:</font></b> Object
636 <h3>Description</h3>
637 Call stores slots related to activation.
639 </font>
640 <h3>Slot Index</h3>
641 <div style="width:40em; margin-left:2em">
642 <b><a href=#Call-activated >activated</a></b><br>
643 <b><a href=#Call-argAt(argNumber) >argAt(argNumber)</a></b><br>
644 <b><a href=#Call-description >description </a></b><br>
645 <b><a href=#Call-evalArgAt(argNumber) >evalArgAt(argNumber)</a></b><br>
646 <b><a href=#Call-message >message</a></b><br>
647 <b><a href=#Call-sender >sender</a></b><br>
648 <b><a href=#Call-slotContext >slotContext</a></b><br>
649 <b><a href=#Call-target >target</a></b><br>
650 </div>
651 <br>
652 <h3>Slots</h3>
653 <br>
654 <b><a name=Call-activated><font color=black>activated</font></a></b><p>
655 <div style="width:40em; margin-left:2em">
656 Returns the coroutine in which the message was sent.
658 </font>
659 </div>
660 <p><br>
661 <b><a name=Call-argAt(argNumber)><font color=black>argAt(argNumber)</font></a></b><p>
662 <div style="width:40em; margin-left:2em">
663 Returns the message's argNumber arg. Shorthand for same as call message argAt(argNumber).
665 </font>
666 </div>
667 <p><br>
668 <b><a name=Call-description ><font color=black>description </font></a></b><p>
669 <div style="width:40em; margin-left:2em">
670 Returns a description of the receiver as a String.
672 </font>
673 </div>
674 <p><br>
675 <b><a name=Call-evalArgAt(argNumber)><font color=black>evalArgAt(argNumber)</font></a></b><p>
676 <div style="width:40em; margin-left:2em">
677 Evaluates the specified argument of the Call's message in the context of it's sender.
679 </font>
680 </div>
681 <p><br>
682 <b><a name=Call-message><font color=black>message</font></a></b><p>
683 <div style="width:40em; margin-left:2em">
684 Returns the message value.
686 </font>
687 </div>
688 <p><br>
689 <b><a name=Call-sender><font color=black>sender</font></a></b><p>
690 <div style="width:40em; margin-left:2em">
691 Returns the sender value.
693 </font>
694 </div>
695 <p><br>
696 <b><a name=Call-slotContext><font color=black>slotContext</font></a></b><p>
697 <div style="width:40em; margin-left:2em">
698 Returns the slotContext value.
700 </font>
701 </div>
702 <p><br>
703 <b><a name=Call-target><font color=black>target</font></a></b><p>
704 <div style="width:40em; margin-left:2em">
705 Returns the target value.
707 </font>
708 </div>
709 <p><br>
710 </ul>
711 <br>
712 <hr align=left>
713 <br>
714 <h2><a name=Collector><font color=black>Collector</font></a></h2>
715 <ul style="width:40em">
716 <b><font color=#000>Protos:</font></b> Object
717 <h3>Description</h3>
718 Contains methods related to Io's garbage collector.
719 Io currently uses a incremental, non-moving, generational
720 collector based on the tri-color (black/gray/white)
721 algorithm with a write-barrier.
723 Every N number of object allocs, the collector will walk
724 some of the objects marked as gray, marking their connected
725 white objects as gray and turning themselves black.
726 Every M allocs, it will pause for a sweep where it makes sure
727 all grays are marked black and io_frees all whites.
729 If the sweepsPerGeneration is set to zero, it will immediately mark
730 all blacks as white again and mark the root objects as gray. Otherwise,
731 it will wait until the sweepsPerGeneration count is reached to do this.
732 By adjusting the allocsPerSweep and sweepsPerGeneration appropriately, the
733 collector can be tuned efficiently for various usage cases.
735 Generally, the more objects in your heap, the larger you'll want this number.
737 </font>
738 <h3>Slot Index</h3>
739 <div style="width:40em; margin-left:2em">
740 <b><a href=#Collector-allObjects >allObjects</a></b><br>
741 <b><a href=#Collector-allocatedStep >allocatedStep</a></b><br>
742 <b><a href=#Collector-allocsPerMark >allocsPerMark</a></b><br>
743 <b><a href=#Collector-collect >collect</a></b><br>
744 <b><a href=#Collector-setAllocatedStep(aNumber) >setAllocatedStep(aNumber)</a></b><br>
745 <b><a href=#Collector-setDebug(aBool) >setDebug(aBool)</a></b><br>
746 <b><a href=#Collector-setMarksPerAlloc(aNumber) >setMarksPerAlloc(aNumber)</a></b><br>
747 <b><a href=#Collector-timeUsed >timeUsed</a></b><br>
748 </div>
749 <br>
750 <h3>Slots</h3>
751 <br>
752 <b><a name=Collector-allObjects><font color=black>allObjects</font></a></b><p>
753 <div style="width:40em; margin-left:2em">
754 Returns a List containing all objects known to the collector.
756 </font>
757 </div>
758 <p><br>
759 <b><a name=Collector-allocatedStep><font color=black>allocatedStep</font></a></b><p>
760 <div style="width:40em; margin-left:2em">
761 Return the allocation step value as a Number.
763 </font>
764 </div>
765 <p><br>
766 <b><a name=Collector-allocsPerMark><font color=black>allocsPerMark</font></a></b><p>
767 <div style="width:40em; margin-left:2em">
768 Return the number of allocations per collector mark pass.
770 </font>
771 </div>
772 <p><br>
773 <b><a name=Collector-collect><font color=black>collect</font></a></b><p>
774 <div style="width:40em; margin-left:2em">
775 Runs garbage collector. Returns the number of items collected.
777 </font>
778 </div>
779 <p><br>
780 <b><a name=Collector-setAllocatedStep(aNumber)><font color=black>setAllocatedStep(aNumber)</font></a></b><p>
781 <div style="width:40em; margin-left:2em">
782 Sets the allocatedStep (can have a fractional component,
783 but must be larger than 1). A collector sweep is forced when the
784 number of allocated objects exceeds the allocatedSweepLevel.
785 After a sweep, the allocatedSweepLevel is set to the allocated
786 object count times the allocatedStep. Returns self.
788 </font>
789 </div>
790 <p><br>
791 <b><a name=Collector-setDebug(aBool)><font color=black>setDebug(aBool)</font></a></b><p>
792 <div style="width:40em; margin-left:2em">
793 Turns on/off printing of collector debugging messages. Returns self.
795 </font>
796 </div>
797 <p><br>
798 <b><a name=Collector-setMarksPerAlloc(aNumber)><font color=black>setMarksPerAlloc(aNumber)</font></a></b><p>
799 <div style="width:40em; margin-left:2em">
800 Sets the number of incremental collector marks per object
801 allocation (can be fractional). Returns self.
803 </font>
804 </div>
805 <p><br>
806 <b><a name=Collector-timeUsed><font color=black>timeUsed</font></a></b><p>
807 <div style="width:40em; margin-left:2em">
808 Return the time used so far by the collector in seconds.
810 </font>
811 </div>
812 <p><br>
813 </ul>
814 <br>
815 <hr align=left>
816 <br>
817 <h2><a name=Compiler><font color=black>Compiler</font></a></h2>
818 <ul style="width:40em">
819 <b><font color=#000>Protos:</font></b> Object
820 <h3>Description</h3>
821 Contains methods related to the compiling code.
823 </font>
824 <h3>Slot Index</h3>
825 <div style="width:40em; margin-left:2em">
826 <b><a href=#Compiler-messageForString(aString, optionalLabelString) >messageForString(aString, optionalLabelString)</a></b><br>
827 <b><a href=#Compiler-messageForTokens(aList) >messageForTokens(aList)</a></b><br>
828 <b><a href=#Compiler-tokensForString(aString) >tokensForString(aString)</a></b><br>
829 </div>
830 <br>
831 <h3>Slots</h3>
832 <br>
833 <b><a name=Compiler-messageForString(aString, optionalLabelString)><font color=black>messageForString(aString, optionalLabelString)</font></a></b><p>
834 <div style="width:40em; margin-left:2em">
835 Returns the compiled message object for aString.
837 </font>
838 </div>
839 <p><br>
840 <b><a name=Compiler-messageForTokens(aList)><font color=black>messageForTokens(aList)</font></a></b><p>
841 <div style="width:40em; margin-left:2em">
842 Returns the compiled message object for the given token list.
844 </font>
845 </div>
846 <p><br>
847 <b><a name=Compiler-tokensForString(aString)><font color=black>tokensForString(aString)</font></a></b><p>
848 <div style="width:40em; margin-left:2em">
849 Returns a list of token objects lexed from the input string.
851 </font>
852 </div>
853 <p><br>
854 </ul>
855 <br>
856 <hr align=left>
857 <br>
858 <h2><a name=Coroutine><font color=black>Coroutine</font></a></h2>
859 <ul style="width:40em">
860 <b><font color=#000>Protos:</font></b> Object
861 <h3>Description</h3>
862 Object wrapper for an Io coroutine.
864 </font>
865 <h3>Slot Index</h3>
866 <div style="width:40em; margin-left:2em">
867 <b><a href=#Coroutine-exception >exception </a></b><br>
868 <b><a href=#Coroutine-inException >inException </a></b><br>
869 <b><a href=#Coroutine-ioStack >ioStack</a></b><br>
870 <b><a href=#Coroutine-label >label </a></b><br>
871 <b><a href=#Coroutine-parentCoroutine >parentCoroutine </a></b><br>
872 <b><a href=#Coroutine-result >result </a></b><br>
873 <b><a href=#Coroutine-runLocals >runLocals </a></b><br>
874 <b><a href=#Coroutine-runMessage >runMessage </a></b><br>
875 <b><a href=#Coroutine-runTarget >runTarget </a></b><br>
876 <b><a href=#Coroutine-setMessageDebugging(aBoolean) >setMessageDebugging(aBoolean)</a></b><br>
877 <b><a href=#Coroutine-stackSize >stackSize </a></b><br>
878 <b><a href=#Coroutine-yieldingCoros >yieldingCoros </a></b><br>
879 </div>
880 <br>
881 <h3>Slots</h3>
882 <br>
883 <b><a name=Coroutine-exception ><font color=black>exception </font></a></b><p>
884 <div style="width:40em; margin-left:2em">
885 Returns the current exception or nil if there is none.
887 </font>
888 </div>
889 <p><br>
890 <b><a name=Coroutine-inException ><font color=black>inException </font></a></b><p>
891 <div style="width:40em; margin-left:2em">
892 Set to true when processing an exception in the coroutine.
894 </font>
895 </div>
896 <p><br>
897 <b><a name=Coroutine-ioStack><font color=black>ioStack</font></a></b><p>
898 <div style="width:40em; margin-left:2em">
899 Returns List of values on this coroutine's stack.
901 </font>
902 </div>
903 <p><br>
904 <b><a name=Coroutine-label ><font color=black>label </font></a></b><p>
905 <div style="width:40em; margin-left:2em">
906 A label slot useful for debugging purposes.
908 </font>
909 </div>
910 <p><br>
911 <b><a name=Coroutine-parentCoroutine ><font color=black>parentCoroutine </font></a></b><p>
912 <div style="width:40em; margin-left:2em">
913 Returns the parent coroutine this one was chained from or nil if it wasn't chained. When a Coroutine ends, it will attempt to resume it's parent.
915 </font>
916 </div>
917 <p><br>
918 <b><a name=Coroutine-result ><font color=black>result </font></a></b><p>
919 <div style="width:40em; margin-left:2em">
920 The result set when the coroutine ends.
922 </font>
923 </div>
924 <p><br>
925 <b><a name=Coroutine-runLocals ><font color=black>runLocals </font></a></b><p>
926 <div style="width:40em; margin-left:2em">
927 The locals object in whose context the coroutine will send it's run message.
929 </font>
930 </div>
931 <p><br>
932 <b><a name=Coroutine-runMessage ><font color=black>runMessage </font></a></b><p>
933 <div style="width:40em; margin-left:2em">
934 The message to send to the runTarget when the coroutine starts.
936 </font>
937 </div>
938 <p><br>
939 <b><a name=Coroutine-runTarget ><font color=black>runTarget </font></a></b><p>
940 <div style="width:40em; margin-left:2em">
941 The object which the coroutine will send a message to when it starts.
943 </font>
944 </div>
945 <p><br>
946 <b><a name=Coroutine-setMessageDebugging(aBoolean)><font color=black>setMessageDebugging(aBoolean)</font></a></b><p>
947 <div style="width:40em; margin-left:2em">
948 Turns on message level debugging for this coro. When on, this
949 coro will send a vmWillSendMessage message to the Debugger object before
950 each message send and pause itself. See the Debugger object documentation
951 for more information.
953 </font>
954 </div>
955 <p><br>
956 <b><a name=Coroutine-stackSize ><font color=black>stackSize </font></a></b><p>
957 <div style="width:40em; margin-left:2em">
958 Stack size allocated for each new coroutine. Coroutines will automatically chain themselves as need if more stack space is required.
960 </font>
961 </div>
962 <p><br>
963 <b><a name=Coroutine-yieldingCoros ><font color=black>yieldingCoros </font></a></b><p>
964 <div style="width:40em; margin-left:2em">
965 Reference to Scheduler yieldingCoros.
967 </font>
968 </div>
969 <p><br>
970 </ul>
971 <br>
972 <hr align=left>
973 <br>
974 <h2><a name=Date><font color=black>Date</font></a></h2>
975 <ul style="width:40em">
976 <b><font color=#000>Protos:</font></b> Object
977 <h3>Description</h3>
978 A container for a date and time information.
980 </font>
981 <h3>Slot Index</h3>
982 <div style="width:40em; margin-left:2em">
983 <b><a href=#Date-+(aDuration) >+(aDuration)</a></b><br>
984 <b><a href=#Date-+=(aDuration) >+=(aDuration)</a></b><br>
985 <b><a href=#Date--(aDurationOrDate) >-(aDurationOrDate)</a></b><br>
986 <b><a href=#Date--=(aDuration) >-=(aDuration)</a></b><br>
987 <b><a href=#Date-asAtomDate >asAtomDate </a></b><br>
988 <b><a href=#Date-asNumber >asNumber</a></b><br>
989 <b><a href=#Date-asString(optionalFormatString) >asString(optionalFormatString)</a></b><br>
990 <b><a href=#Date-clock >clock</a></b><br>
991 <b><a href=#Date-copy(aDate) >copy(aDate)</a></b><br>
992 <b><a href=#Date-cpuSecondsToRun(expression) >cpuSecondsToRun(expression)</a></b><br>
993 <b><a href=#Date-day >day</a></b><br>
994 <b><a href=#Date-format >format</a></b><br>
995 <b><a href=#Date-fromNumber(aNumber) >fromNumber(aNumber)</a></b><br>
996 <b><a href=#Date-fromString(aString, formatString) >fromString(aString, formatString)</a></b><br>
997 <b><a href=#Date-gmtOffset >gmtOffset</a></b><br>
998 <b><a href=#Date-gmtOffsetSeconds >gmtOffsetSeconds</a></b><br>
999 <b><a href=#Date-hour >hour</a></b><br>
1000 <b><a href=#Date-isDaylightSavingsTime >isDaylightSavingsTime</a></b><br>
1001 <b><a href=#Date-isPast >isPast</a></b><br>
1002 <b><a href=#Date-isToday >isToday </a></b><br>
1003 <b><a href=#Date-isValidTime(hour, min, sec) >isValidTime(hour, min, sec)</a></b><br>
1004 <b><a href=#Date-minute >minute</a></b><br>
1005 <b><a href=#Date-month >month</a></b><br>
1006 <b><a href=#Date-now >now</a></b><br>
1007 <b><a href=#Date-print >print</a></b><br>
1008 <b><a href=#Date-second >second</a></b><br>
1009 <b><a href=#Date-secondsSince(aDate) >secondsSince(aDate)</a></b><br>
1010 <b><a href=#Date-secondsSinceNow(aDate) >secondsSinceNow(aDate)</a></b><br>
1011 <b><a href=#Date-secondsToRun(expression) >secondsToRun(expression)</a></b><br>
1012 <b><a href=#Date-setDay(aNumber) >setDay(aNumber)</a></b><br>
1013 <b><a href=#Date-setHour(aNumber) >setHour(aNumber)</a></b><br>
1014 <b><a href=#Date-setMinute(aNumber) >setMinute(aNumber)</a></b><br>
1015 <b><a href=#Date-setMonth(aNumber) >setMonth(aNumber)</a></b><br>
1016 <b><a href=#Date-setSecond(aNumber) >setSecond(aNumber)</a></b><br>
1017 <b><a href=#Date-setYear(aNumber) >setYear(aNumber)</a></b><br>
1018 <b><a href=#Date-today >today </a></b><br>
1019 <b><a href=#Date-year >year</a></b><br>
1020 <b><a href=#Date-zone >zone</a></b><br>
1021 </div>
1022 <br>
1023 <h3>Slots</h3>
1024 <br>
1025 <b><a name=Date-+(aDuration)><font color=black>+(aDuration)</font></a></b><p>
1026 <div style="width:40em; margin-left:2em">
1027 Return a new Date with the receiver's value plus an amount
1028 of time specified by aDuration object to the receiver.
1030 </font>
1031 </div>
1032 <p><br>
1033 <b><a name=Date-+=(aDuration)><font color=black>+=(aDuration)</font></a></b><p>
1034 <div style="width:40em; margin-left:2em">
1035 Add aDuration to the receiver. Returns self.
1037 </font>
1038 </div>
1039 <p><br>
1040 <b><a name=Date--(aDurationOrDate)><font color=black>-(aDurationOrDate)</font></a></b><p>
1041 <div style="width:40em; margin-left:2em">
1042 Return a new Date with the receiver's value minus an amount of time specified by aDuration to the receiver. Returns self.
1044 </font>
1045 </div>
1046 <p><br>
1047 <b><a name=Date--=(aDuration)><font color=black>-=(aDuration)</font></a></b><p>
1048 <div style="width:40em; margin-left:2em">
1049 Subtract aDuration from the receiver. Returns self.
1051 </font>
1052 </div>
1053 <p><br>
1054 <b><a name=Date-asAtomDate ><font color=black>asAtomDate </font></a></b><p>
1055 <div style="width:40em; margin-left:2em">
1056 Returns the date formatted as a valid atom date (rfc4287) in the system's timezone.
1058 </font>
1059 </div>
1060 <p><br>
1061 <b><a name=Date-asNumber><font color=black>asNumber</font></a></b><p>
1062 <div style="width:40em; margin-left:2em">
1063 Returns the date as seconds since 1970.
1065 </font>
1066 </div>
1067 <p><br>
1068 <b><a name=Date-asString(optionalFormatString)><font color=black>asString(optionalFormatString)</font></a></b><p>
1069 <div style="width:40em; margin-left:2em">
1070 Returns a string representation of the receiver using the
1071 receivers format. If the optionalFormatString argument is present, the
1072 receiver's format is set to it first. Formatting is according to ANSI C
1073 date formating rules.
1075 <code>
1076 %a abbreviated weekday name (Sun, Mon, etc.)
1077 %A full weekday name (Sunday, Monday, etc.)
1078 %b abbreviated month name (Jan, Feb, etc.)
1079 %B full month name (January, February, etc.)
1080 %c full date and time string
1081 %d day of the month as two-digit decimal integer (01-31)
1082 %H hour as two-digit 24-hour clock decimal integer (00-23)
1083 %I hour as two-digit 12-hour clock decimal integer (01-12)
1084 %m month as a two-digit decimal integer (01-12)
1085 %M minute as a two-digit decimal integer (00-59)
1086 %p either "AM" or "PM"
1087 %S second as a two-digit decimal integer (00-59)
1088 %U number of week in the year as two-digit decimal integer (00-52)
1089 with Sunday considered as first day of the week
1090 %w weekday as one-digit decimal integer (0-6) with Sunday as 0
1091 %W number of week in the year as two-digit decimal integer (00-52)
1092 with Monday considered as first day of the week
1093 %x full date string (no time); in the C locale, this is equivalent
1094 to "%m/%d/%y".
1095 %y year without century as two-digit decimal number (00-99)
1096 %Y year with century as four-digit decimal number
1097 %Z time zone name (e.g. EST);
1098 null string if no time zone can be obtained
1099 %% stands for '%' character in output string.
1100 </code>
1102 </font>
1103 </div>
1104 <p><br>
1105 <b><a name=Date-clock><font color=black>clock</font></a></b><p>
1106 <div style="width:40em; margin-left:2em">
1107 Returns a number containing the number of seconds
1108 of processor time since the beginning of the program or -1 if unavailable.
1110 </font>
1111 </div>
1112 <p><br>
1113 <b><a name=Date-copy(aDate)><font color=black>copy(aDate)</font></a></b><p>
1114 <div style="width:40em; margin-left:2em">
1115 Sets the receiver to be the same date as aDate. Returns self.
1117 </font>
1118 </div>
1119 <p><br>
1120 <b><a name=Date-cpuSecondsToRun(expression)><font color=black>cpuSecondsToRun(expression)</font></a></b><p>
1121 <div style="width:40em; margin-left:2em">
1122 Evaluates message and returns a Number whose value
1123 is the cpu seconds taken to do the evaluation.
1125 </font>
1126 </div>
1127 <p><br>
1128 <b><a name=Date-day><font color=black>day</font></a></b><p>
1129 <div style="width:40em; margin-left:2em">
1130 Returns a number containing the day of the month of the receiver.
1132 </font>
1133 </div>
1134 <p><br>
1135 <b><a name=Date-format><font color=black>format</font></a></b><p>
1136 <div style="width:40em; margin-left:2em">
1137 Returns the format string for the receiver. Tthe default is \"%Y-%m-%d %H:%M:%S %Z\".
1139 </font>
1140 </div>
1141 <p><br>
1142 <b><a name=Date-fromNumber(aNumber)><font color=black>fromNumber(aNumber)</font></a></b><p>
1143 <div style="width:40em; margin-left:2em">
1144 Sets the receiver to be aNumber seconds since 1970.
1146 </font>
1147 </div>
1148 <p><br>
1149 <b><a name=Date-fromString(aString, formatString)><font color=black>fromString(aString, formatString)</font></a></b><p>
1150 <div style="width:40em; margin-left:2em">
1151 Sets the receiver to the date specified by aString as parsed according to the given formatString. See the Date asString method for formating rules. Returns self.
1153 </font>
1154 </div>
1155 <p><br>
1156 <b><a name=Date-gmtOffset><font color=black>gmtOffset</font></a></b><p>
1157 <div style="width:40em; margin-left:2em">
1158 Returns the system's timezone string. E.g., +1300 or -0500.
1160 </font>
1161 </div>
1162 <p><br>
1163 <b><a name=Date-gmtOffsetSeconds><font color=black>gmtOffsetSeconds</font></a></b><p>
1164 <div style="width:40em; margin-left:2em">
1165 Returns the system's seconds east of UTC.
1167 </font>
1168 </div>
1169 <p><br>
1170 <b><a name=Date-hour><font color=black>hour</font></a></b><p>
1171 <div style="width:40em; margin-left:2em">
1172 Returns a number containing the hour of the day(0-23) of the receiver.
1174 </font>
1175 </div>
1176 <p><br>
1177 <b><a name=Date-isDaylightSavingsTime><font color=black>isDaylightSavingsTime</font></a></b><p>
1178 <div style="width:40em; margin-left:2em">
1179 Returns self if Daylight Saving Time is in effect for the receiver, otherwise returns Nil.
1181 </font>
1182 </div>
1183 <p><br>
1184 <b><a name=Date-isPast><font color=black>isPast</font></a></b><p>
1185 <div style="width:40em; margin-left:2em">
1186 Returns true if the receiver is a date in the past.
1188 </font>
1189 </div>
1190 <p><br>
1191 <b><a name=Date-isToday ><font color=black>isToday </font></a></b><p>
1192 <div style="width:40em; margin-left:2em">
1193 Returns true if the receiver's date is today's date.
1195 </font>
1196 </div>
1197 <p><br>
1198 <b><a name=Date-isValidTime(hour, min, sec)><font color=black>isValidTime(hour, min, sec)</font></a></b><p>
1199 <div style="width:40em; margin-left:2em">
1200 Returns self if the specified time is valid, otherwise returns Nil.
1201 A negative value will count back; i.e., a value of -5 for the hour,
1202 will count back 5 hours to return a value of 19. No adjustment is
1203 done for values above 24.
1205 </font>
1206 </div>
1207 <p><br>
1208 <b><a name=Date-minute><font color=black>minute</font></a></b><p>
1209 <div style="width:40em; margin-left:2em">
1210 Returns a number containing the minute of the hour(0-59) of the receiver.
1212 </font>
1213 </div>
1214 <p><br>
1215 <b><a name=Date-month><font color=black>month</font></a></b><p>
1216 <div style="width:40em; margin-left:2em">
1217 Returns a number containing the month(1-12) of the year of the receiver.
1219 </font>
1220 </div>
1221 <p><br>
1222 <b><a name=Date-now><font color=black>now</font></a></b><p>
1223 <div style="width:40em; margin-left:2em">
1224 Sets the receiver to the current time. Returns self.
1226 </font>
1227 </div>
1228 <p><br>
1229 <b><a name=Date-print><font color=black>print</font></a></b><p>
1230 <div style="width:40em; margin-left:2em">
1231 Prints the receiver. Returns self.
1233 </font>
1234 </div>
1235 <p><br>
1236 <b><a name=Date-second><font color=black>second</font></a></b><p>
1237 <div style="width:40em; margin-left:2em">
1238 Returns a number containing the seconds of the minute(0-59) of the receiver. This number may contain fractions of seconds.
1240 </font>
1241 </div>
1242 <p><br>
1243 <b><a name=Date-secondsSince(aDate)><font color=black>secondsSince(aDate)</font></a></b><p>
1244 <div style="width:40em; margin-left:2em">
1245 Returns a number of seconds of between aDate and the receiver.
1247 </font>
1248 </div>
1249 <p><br>
1250 <b><a name=Date-secondsSinceNow(aDate)><font color=black>secondsSinceNow(aDate)</font></a></b><p>
1251 <div style="width:40em; margin-left:2em">
1252 Returns the number of seconds since aDate.
1254 </font>
1255 </div>
1256 <p><br>
1257 <b><a name=Date-secondsToRun(expression)><font color=black>secondsToRun(expression)</font></a></b><p>
1258 <div style="width:40em; margin-left:2em">
1259 Evaluates message and returns a Number whose value is the number of seconds taken to do the evaluation
1261 </font>
1262 </div>
1263 <p><br>
1264 <b><a name=Date-setDay(aNumber)><font color=black>setDay(aNumber)</font></a></b><p>
1265 <div style="width:40em; margin-left:2em">
1266 Sets the day of the receiver. Returns self.
1268 </font>
1269 </div>
1270 <p><br>
1271 <b><a name=Date-setHour(aNumber)><font color=black>setHour(aNumber)</font></a></b><p>
1272 <div style="width:40em; margin-left:2em">
1273 Sets the hour of the receiver. Returns self.
1275 </font>
1276 </div>
1277 <p><br>
1278 <b><a name=Date-setMinute(aNumber)><font color=black>setMinute(aNumber)</font></a></b><p>
1279 <div style="width:40em; margin-left:2em">
1280 Sets the minute of the receiver. Returns self.
1282 </font>
1283 </div>
1284 <p><br>
1285 <b><a name=Date-setMonth(aNumber)><font color=black>setMonth(aNumber)</font></a></b><p>
1286 <div style="width:40em; margin-left:2em">
1287 Sets the month(1-12) of the receiver. Returns self.
1289 </font>
1290 </div>
1291 <p><br>
1292 <b><a name=Date-setSecond(aNumber)><font color=black>setSecond(aNumber)</font></a></b><p>
1293 <div style="width:40em; margin-left:2em">
1294 Sets the second of the receiver. Returns self.
1296 </font>
1297 </div>
1298 <p><br>
1299 <b><a name=Date-setYear(aNumber)><font color=black>setYear(aNumber)</font></a></b><p>
1300 <div style="width:40em; margin-left:2em">
1301 Sets the year of the receiver.
1303 </font>
1304 </div>
1305 <p><br>
1306 <b><a name=Date-today ><font color=black>today </font></a></b><p>
1307 <div style="width:40em; margin-left:2em">
1308 Set the receiver to the current date, no time information
1309 is included. See `now' for the current date and time.
1311 </font>
1312 </div>
1313 <p><br>
1314 <b><a name=Date-year><font color=black>year</font></a></b><p>
1315 <div style="width:40em; margin-left:2em">
1316 Returns a number containing the year of the receiver.
1318 </font>
1319 </div>
1320 <p><br>
1321 <b><a name=Date-zone><font color=black>zone</font></a></b><p>
1322 <div style="width:40em; margin-left:2em">
1323 Returns a string containing the system's time zone code.
1325 </font>
1326 </div>
1327 <p><br>
1328 </ul>
1329 <br>
1330 <hr align=left>
1331 <br>
1332 <h2><a name=Debugger><font color=black>Debugger</font></a></h2>
1333 <ul style="width:40em">
1334 <b><font color=#000>Protos:</font></b> Object
1335 <h3>Description</h3>
1336 Contains methods related to the IoVM debugger.
1338 </font>
1339 <h3>Slot Index</h3>
1340 <div style="width:40em; margin-left:2em">
1341 <b><a href=#Debugger-debuggerCoroutine >debuggerCoroutine </a></b><br>
1342 <b><a href=#Debugger-description >description</a></b><br>
1343 <b><a href=#Debugger-start >start </a></b><br>
1344 <b><a href=#Debugger-vmWillSendMessage >vmWillSendMessage </a></b><br>
1345 </div>
1346 <br>
1347 <h3>Slots</h3>
1348 <br>
1349 <b><a name=Debugger-debuggerCoroutine ><font color=black>debuggerCoroutine </font></a></b><p>
1350 <div style="width:40em; margin-left:2em">
1351 Returns the coroutine used for the debugger.")
1353 </font>
1354 </div>
1355 <p><br>
1356 <b><a name=Debugger-description><font color=black>description</font></a></b><p>
1357 <div style="width:40em; margin-left:2em">
1358 To start debugging a coroutine, call
1359 <code>
1360 Coroutine currentCoroutine setMessageDebugging(true)
1361 </code>
1362 Then each message sent within that coroutine will cause the Debugger
1363 vmWillSendMessage slot to be activated and the Debugger slots:
1364 messageCoroutine, messageSelf, messageLocals, and message will be set with the
1365 values related to the current message send. You can override vmWillSendMessage to
1366 implement your own debugging mechanisms.
1368 </font>
1369 </div>
1370 <p><br>
1371 <b><a name=Debugger-start ><font color=black>start </font></a></b><p>
1372 <div style="width:40em; margin-left:2em">
1373 Starts the debugger.")
1375 </font>
1376 </div>
1377 <p><br>
1378 <b><a name=Debugger-vmWillSendMessage ><font color=black>vmWillSendMessage </font></a></b><p>
1379 <div style="width:40em; margin-left:2em">
1380 Override this method to implement your own debugging mechanisms. Default behavior is to print every message sent.")
1382 </font>
1383 </div>
1384 <p><br>
1385 </ul>
1386 <br>
1387 <hr align=left>
1388 <br>
1389 <h2><a name=Directory><font color=black>Directory</font></a></h2>
1390 <ul style="width:40em">
1391 <b><font color=#000>Protos:</font></b> Object
1392 <h3>Description</h3>
1393 The Directory object supports accessing filesystem directories. A note on paths;
1394 if a path begins with a "/" it's the root,
1395 if it beings with a "./" it's the launch path,
1396 if not specified, "./" is assumed.""")
1398 </font>
1399 <h3>Slot Index</h3>
1400 <div style="width:40em; margin-left:2em">
1401 <b><a href=#Directory-at(aString) >at(aString)</a></b><br>
1402 <b><a href=#Directory-create >create</a></b><br>
1403 <b><a href=#Directory-createSubdirectory(name) >createSubdirectory(name)</a></b><br>
1404 <b><a href=#Directory-currentWorkingDirectory >currentWorkingDirectory</a></b><br>
1405 <b><a href=#Directory-exists(optionalPath) >exists(optionalPath)</a></b><br>
1406 <b><a href=#Directory-items >items</a></b><br>
1407 <b><a href=#Directory-name >name</a></b><br>
1408 <b><a href=#Directory-path >path</a></b><br>
1409 <b><a href=#Directory-setCurrentWorkingDirectory(pathString) >setCurrentWorkingDirectory(pathString)</a></b><br>
1410 <b><a href=#Directory-setPath(aString) >setPath(aString)</a></b><br>
1411 <b><a href=#Directory-size >size</a></b><br>
1412 <b><a href=#Directory-with(aPath) >with(aPath)</a></b><br>
1413 </div>
1414 <br>
1415 <h3>Slots</h3>
1416 <br>
1417 <b><a name=Directory-at(aString)><font color=black>at(aString)</font></a></b><p>
1418 <div style="width:40em; margin-left:2em">
1419 Returns a File or Directory object matching the name specified
1420 by aString or Nil if no such file or directory exists.
1422 </font>
1423 </div>
1424 <p><br>
1425 <b><a name=Directory-create><font color=black>create</font></a></b><p>
1426 <div style="width:40em; margin-left:2em">
1427 Create the directory if it doesn't exist.
1429 </font>
1430 </div>
1431 <p><br>
1432 <b><a name=Directory-createSubdirectory(name)><font color=black>createSubdirectory(name)</font></a></b><p>
1433 <div style="width:40em; margin-left:2em">
1434 Create a subdirectory with the specified name.
1436 </font>
1437 </div>
1438 <p><br>
1439 <b><a name=Directory-currentWorkingDirectory><font color=black>currentWorkingDirectory</font></a></b><p>
1440 <div style="width:40em; margin-left:2em">
1441 Returns the current working directory path.
1443 </font>
1444 </div>
1445 <p><br>
1446 <b><a name=Directory-exists(optionalPath)><font color=black>exists(optionalPath)</font></a></b><p>
1447 <div style="width:40em; margin-left:2em">
1448 Returns true if the Directory path exists, and false otherwise.
1449 If optionalPath string is provided, it tests the existance of that path instead.
1451 </font>
1452 </div>
1453 <p><br>
1454 <b><a name=Directory-items><font color=black>items</font></a></b><p>
1455 <div style="width:40em; margin-left:2em">
1456 Returns a list object containing File and Directory objects
1457 for the files and directories of the receiver's path.
1459 </font>
1460 </div>
1461 <p><br>
1462 <b><a name=Directory-name><font color=black>name</font></a></b><p>
1463 <div style="width:40em; margin-left:2em">
1464 Returns the receiver's last path component.
1466 </font>
1467 </div>
1468 <p><br>
1469 <b><a name=Directory-path><font color=black>path</font></a></b><p>
1470 <div style="width:40em; margin-left:2em">
1471 Returns the directory path. The default path is '.'.
1473 </font>
1474 </div>
1475 <p><br>
1476 <b><a name=Directory-setCurrentWorkingDirectory(pathString)><font color=black>setCurrentWorkingDirectory(pathString)</font></a></b><p>
1477 <div style="width:40em; margin-left:2em">
1478 Set's the current working directory path.
1479 Returns true on success or false on error.
1481 </font>
1482 </div>
1483 <p><br>
1484 <b><a name=Directory-setPath(aString)><font color=black>setPath(aString)</font></a></b><p>
1485 <div style="width:40em; margin-left:2em">
1486 Sets the directory path. Returns self.
1488 </font>
1489 </div>
1490 <p><br>
1491 <b><a name=Directory-size><font color=black>size</font></a></b><p>
1492 <div style="width:40em; margin-left:2em">
1493 Returns a Number containing the number of file and directory
1494 object at the receiver's path.
1496 </font>
1497 </div>
1498 <p><br>
1499 <b><a name=Directory-with(aPath)><font color=black>with(aPath)</font></a></b><p>
1500 <div style="width:40em; margin-left:2em">
1501 Returns a new instance with the provided path.")
1503 </font>
1504 </div>
1505 <p><br>
1506 </ul>
1507 <br>
1508 <hr align=left>
1509 <br>
1510 <h2><a name=Duration><font color=black>Duration</font></a></h2>
1511 <ul style="width:40em">
1512 <b><font color=#000>Protos:</font></b> Object
1513 <h3>Description</h3>
1514 A container for a duration of time.
1516 </font>
1517 <h3>Slot Index</h3>
1518 <div style="width:40em; margin-left:2em">
1519 <b><a href=#Duration-+ >+ </a></b><br>
1520 <b><a href=#Duration-+=(aDuration) >+=(aDuration)</a></b><br>
1521 <b><a href=#Duration-- >- </a></b><br>
1522 <b><a href=#Duration--=(aDuration) >-=(aDuration)</a></b><br>
1523 <b><a href=#Duration-asNumber >asNumber</a></b><br>
1524 <b><a href=#Duration-asString(formatString) >asString(formatString)</a></b><br>
1525 <b><a href=#Duration-days >days</a></b><br>
1526 <b><a href=#Duration-fromNumber(aNumber) >fromNumber(aNumber)</a></b><br>
1527 <b><a href=#Duration-hours >hours</a></b><br>
1528 <b><a href=#Duration-minutes >minutes</a></b><br>
1529 <b><a href=#Duration-print >print</a></b><br>
1530 <b><a href=#Duration-seconds >seconds</a></b><br>
1531 <b><a href=#Duration-setDays(aNumber) >setDays(aNumber)</a></b><br>
1532 <b><a href=#Duration-setHours(aNumber) >setHours(aNumber)</a></b><br>
1533 <b><a href=#Duration-setMinutes(aNumber) >setMinutes(aNumber)</a></b><br>
1534 <b><a href=#Duration-setSeconds(aNumber) >setSeconds(aNumber)</a></b><br>
1535 <b><a href=#Duration-setYears(aNumber) >setYears(aNumber)</a></b><br>
1536 <b><a href=#Duration-totalSeconds >totalSeconds</a></b><br>
1537 <b><a href=#Duration-years >years</a></b><br>
1538 </div>
1539 <br>
1540 <h3>Slots</h3>
1541 <br>
1542 <b><a name=Duration-+ ><font color=black>+ </font></a></b><p>
1543 <div style="width:40em; margin-left:2em">
1544 Returns a new Duration of the two added.
1546 </font>
1547 </div>
1548 <p><br>
1549 <b><a name=Duration-+=(aDuration)><font color=black>+=(aDuration)</font></a></b><p>
1550 <div style="width:40em; margin-left:2em">
1551 Add aDuration to the receiver. Returns self.
1553 </font>
1554 </div>
1555 <p><br>
1556 <b><a name=Duration-- ><font color=black>- </font></a></b><p>
1557 <div style="width:40em; margin-left:2em">
1558 Returns a new Duration of the two subtracted.
1560 </font>
1561 </div>
1562 <p><br>
1563 <b><a name=Duration--=(aDuration)><font color=black>-=(aDuration)</font></a></b><p>
1564 <div style="width:40em; margin-left:2em">
1565 Subtract aDuration to the receiver. Returns self.
1567 </font>
1568 </div>
1569 <p><br>
1570 <b><a name=Duration-asNumber><font color=black>asNumber</font></a></b><p>
1571 <div style="width:40em; margin-left:2em">
1572 Returns a number representation of the receiver.
1573 (where 1 is equal to one second)
1575 </font>
1576 </div>
1577 <p><br>
1578 <b><a name=Duration-asString(formatString)><font color=black>asString(formatString)</font></a></b><p>
1579 <div style="width:40em; margin-left:2em">
1580 Returns a string representation of the receiver. The formatString argument is optional. If present, the returned string will be formatted according to ANSI C date formating rules.
1582 <code>
1583 %y years without century as two-digit decimal number (00-99)
1584 %Y year with century as four-digit decimal number
1586 %d days
1587 %H hour as two-digit 24-hour clock decimal integer (00-23)
1588 %M minute as a two-digit decimal integer (00-59)
1589 %S second as a two-digit decimal integer (00-59)
1591 The default format is "%Y %d %H:%M:%S".
1592 </code>
1594 </font>
1595 </div>
1596 <p><br>
1597 <b><a name=Duration-days><font color=black>days</font></a></b><p>
1598 <div style="width:40em; margin-left:2em">
1599 Returns a number containing the day of the month of the receiver.
1601 </font>
1602 </div>
1603 <p><br>
1604 <b><a name=Duration-fromNumber(aNumber)><font color=black>fromNumber(aNumber)</font></a></b><p>
1605 <div style="width:40em; margin-left:2em">
1606 Sets the receiver to the Duration specified by
1607 aNumber(same format number as returned by Duration asNumber). Returns self.
1609 </font>
1610 </div>
1611 <p><br>
1612 <b><a name=Duration-hours><font color=black>hours</font></a></b><p>
1613 <div style="width:40em; margin-left:2em">
1614 Returns a number containing the hour of the day(0-23) of the receiver.
1616 </font>
1617 </div>
1618 <p><br>
1619 <b><a name=Duration-minutes><font color=black>minutes</font></a></b><p>
1620 <div style="width:40em; margin-left:2em">
1621 Returns a number containing the minute of the hour(0-59) of the receiver.
1623 </font>
1624 </div>
1625 <p><br>
1626 <b><a name=Duration-print><font color=black>print</font></a></b><p>
1627 <div style="width:40em; margin-left:2em">
1628 Prints the receiver. Returns self.
1630 </font>
1631 </div>
1632 <p><br>
1633 <b><a name=Duration-seconds><font color=black>seconds</font></a></b><p>
1634 <div style="width:40em; margin-left:2em">
1635 Returns a number containing the seconds of the minute(0-59) of the receiver.
1636 This number may contain fractions of seconds.
1638 </font>
1639 </div>
1640 <p><br>
1641 <b><a name=Duration-setDays(aNumber)><font color=black>setDays(aNumber)</font></a></b><p>
1642 <div style="width:40em; margin-left:2em">
1643 Sets the day of the receiver. Returns self.
1645 </font>
1646 </div>
1647 <p><br>
1648 <b><a name=Duration-setHours(aNumber)><font color=black>setHours(aNumber)</font></a></b><p>
1649 <div style="width:40em; margin-left:2em">
1650 Sets the hour of the receiver. Returns self.
1652 </font>
1653 </div>
1654 <p><br>
1655 <b><a name=Duration-setMinutes(aNumber)><font color=black>setMinutes(aNumber)</font></a></b><p>
1656 <div style="width:40em; margin-left:2em">
1657 Sets the minute of the receiver. Returns self.
1659 </font>
1660 </div>
1661 <p><br>
1662 <b><a name=Duration-setSeconds(aNumber)><font color=black>setSeconds(aNumber)</font></a></b><p>
1663 <div style="width:40em; margin-left:2em">
1664 Sets the second of the receiver. Return self.
1666 </font>
1667 </div>
1668 <p><br>
1669 <b><a name=Duration-setYears(aNumber)><font color=black>setYears(aNumber)</font></a></b><p>
1670 <div style="width:40em; margin-left:2em">
1671 Sets the year of the receiver. Returns self.
1673 </font>
1674 </div>
1675 <p><br>
1676 <b><a name=Duration-totalSeconds><font color=black>totalSeconds</font></a></b><p>
1677 <div style="width:40em; margin-left:2em">
1678 Same as a asNumber.
1680 </font>
1681 </div>
1682 <p><br>
1683 <b><a name=Duration-years><font color=black>years</font></a></b><p>
1684 <div style="width:40em; margin-left:2em">
1685 Returns a number containing the year of the receiver.
1687 </font>
1688 </div>
1689 <p><br>
1690 </ul>
1691 <br>
1692 <hr align=left>
1693 <br>
1694 <h2><a name=DynLib><font color=black>DynLib</font></a></h2>
1695 <ul style="width:40em">
1696 <b><font color=#000>Protos:</font></b> Object
1697 <h3>Description</h3>
1698 A DLL Loader by Kentaro A. Kurahone.
1700 </font>
1701 <h3>Slot Index</h3>
1702 <div style="width:40em; margin-left:2em">
1703 <b><a href=#DynLib-call(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...) >call(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...)</a></b><br>
1704 <b><a href=#DynLib-callPluginInit(functionName) >callPluginInit(functionName)</a></b><br>
1705 <b><a href=#DynLib-close >close</a></b><br>
1706 <b><a href=#DynLib-freeFuncName >freeFuncName</a></b><br>
1707 <b><a href=#DynLib-initFuncName >initFuncName</a></b><br>
1708 <b><a href=#DynLib-isOpen >isOpen</a></b><br>
1709 <b><a href=#DynLib-open >open</a></b><br>
1710 <b><a href=#DynLib-path >path</a></b><br>
1711 <b><a href=#DynLib-setFreeFuncName(aString) >setFreeFuncName(aString)</a></b><br>
1712 <b><a href=#DynLib-setInitFuncName(aString) >setInitFuncName(aString)</a></b><br>
1713 <b><a href=#DynLib-setPath(aString) >setPath(aString)</a></b><br>
1714 <b><a href=#DynLib-voidCall(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...) >voidCall(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...)</a></b><br>
1715 </div>
1716 <br>
1717 <h3>Slots</h3>
1718 <br>
1719 <b><a name=DynLib-call(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...)><font color=black>call(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...)</font></a></b><p>
1720 <div style="width:40em; margin-left:2em">
1721 Call's the dll function of the specified name with the arguments provided.
1722 Returns the a Number with the result value.
1724 </font>
1725 </div>
1726 <p><br>
1727 <b><a name=DynLib-callPluginInit(functionName)><font color=black>callPluginInit(functionName)</font></a></b><p>
1728 <div style="width:40em; margin-left:2em">
1729 Call's the dll function of the specified name.
1730 Returns the result as a Number or raises an exception on error.
1732 </font>
1733 </div>
1734 <p><br>
1735 <b><a name=DynLib-close><font color=black>close</font></a></b><p>
1736 <div style="width:40em; margin-left:2em">
1737 Closes the library. Returns self.
1739 </font>
1740 </div>
1741 <p><br>
1742 <b><a name=DynLib-freeFuncName><font color=black>freeFuncName</font></a></b><p>
1743 <div style="width:40em; margin-left:2em">
1744 Returns the io_free function name.
1746 </font>
1747 </div>
1748 <p><br>
1749 <b><a name=DynLib-initFuncName><font color=black>initFuncName</font></a></b><p>
1750 <div style="width:40em; margin-left:2em">
1751 Returns the initialization function name.
1753 </font>
1754 </div>
1755 <p><br>
1756 <b><a name=DynLib-isOpen><font color=black>isOpen</font></a></b><p>
1757 <div style="width:40em; margin-left:2em">
1758 Returns true if the library is open, or false otherwise.
1760 </font>
1761 </div>
1762 <p><br>
1763 <b><a name=DynLib-open><font color=black>open</font></a></b><p>
1764 <div style="width:40em; margin-left:2em">
1765 Opens the dynamic library and returns self or raises a DynLoad.open Error if there is an error.
1767 </font>
1768 </div>
1769 <p><br>
1770 <b><a name=DynLib-path><font color=black>path</font></a></b><p>
1771 <div style="width:40em; margin-left:2em">
1772 Returns the path to the dynamic library.
1774 </font>
1775 </div>
1776 <p><br>
1777 <b><a name=DynLib-setFreeFuncName(aString)><font color=black>setFreeFuncName(aString)</font></a></b><p>
1778 <div style="width:40em; margin-left:2em">
1779 Sets the io_free function name. Returns self.
1781 </font>
1782 </div>
1783 <p><br>
1784 <b><a name=DynLib-setInitFuncName(aString)><font color=black>setInitFuncName(aString)</font></a></b><p>
1785 <div style="width:40em; margin-left:2em">
1786 Sets the initialization function name for the dynamic library. Returns self.
1788 </font>
1789 </div>
1790 <p><br>
1791 <b><a name=DynLib-setPath(aString)><font color=black>setPath(aString)</font></a></b><p>
1792 <div style="width:40em; margin-left:2em">
1793 Sets the path to the dynamic library. Returns self.
1795 </font>
1796 </div>
1797 <p><br>
1798 <b><a name=DynLib-voidCall(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...)><font color=black>voidCall(functionName, &lt;arg1&gt;, &lt;arg2&gt;, ...)</font></a></b><p>
1799 <div style="width:40em; margin-left:2em">
1800 Same as call but for functions with no return value. Returns nil.
1802 </font>
1803 </div>
1804 <p><br>
1805 </ul>
1806 <br>
1807 <hr align=left>
1808 <br>
1809 <h2><a name=File><font color=black>File</font></a></h2>
1810 <ul style="width:40em">
1811 <b><font color=#000>Protos:</font></b> Object
1812 <h3>Description</h3>
1813 Encapsulates file i/o. Here's an example of opening a file,
1814 and reversing it's lines:
1815 <code>
1816 file = File clone openForUpdating("/tmp/test")
1817 lines = file readLines reverse
1818 file rewind
1819 lines foreach(i, line, file write(line, "\n"))
1820 file close
1821 </code>
1823 </font>
1824 <h3>Slot Index</h3>
1825 <div style="width:40em; margin-left:2em">
1826 <b><a href=#File-asBuffer >asBuffer</a></b><br>
1827 <b><a href=#File-at(aNumber) >at(aNumber)</a></b><br>
1828 <b><a href=#File-atPut(positionNumber, byteNumber) >atPut(positionNumber, byteNumber)</a></b><br>
1829 <b><a href=#File-close >close</a></b><br>
1830 <b><a href=#File-contents >contents</a></b><br>
1831 <b><a href=#File-descriptor >descriptor</a></b><br>
1832 <b><a href=#File-exists >exists</a></b><br>
1833 <b><a href=#File-flush >flush</a></b><br>
1834 <b><a href=#File-foreach(optionalIndex, value, message) >foreach(optionalIndex, value, message)</a></b><br>
1835 <b><a href=#File-foreachLine(optionalLineNumber, line, message) >foreachLine(optionalLineNumber, line, message)</a></b><br>
1836 <b><a href=#File-groupId >groupId</a></b><br>
1837 <b><a href=#File-isAtEnd >isAtEnd</a></b><br>
1838 <b><a href=#File-isDirectory >isDirectory</a></b><br>
1839 <b><a href=#File-isLink >isLink</a></b><br>
1840 <b><a href=#File-isOpen >isOpen</a></b><br>
1841 <b><a href=#File-isPipe >isPipe</a></b><br>
1842 <b><a href=#File-isRegularFile >isRegularFile</a></b><br>
1843 <b><a href=#File-isSocket >isSocket</a></b><br>
1844 <b><a href=#File-isUserExecutable >isUserExecutable</a></b><br>
1845 <b><a href=#File-lastAccessDate >lastAccessDate</a></b><br>
1846 <b><a href=#File-lastDataChangeDate >lastDataChangeDate</a></b><br>
1847 <b><a href=#File-lastInfoChangeDate >lastInfoChangeDate</a></b><br>
1848 <b><a href=#File-mode >mode</a></b><br>
1849 <b><a href=#File-moveTo(pathString) >moveTo(pathString)</a></b><br>
1850 <b><a href=#File-name >name</a></b><br>
1851 <b><a href=#File-open(optionalPathString) >open(optionalPathString)</a></b><br>
1852 <b><a href=#File-openForAppending(optionalPathString) >openForAppending(optionalPathString)</a></b><br>
1853 <b><a href=#File-openForReading(optionalPathString) >openForReading(optionalPathString)</a></b><br>
1854 <b><a href=#File-openForUpdating(optionalPathString) >openForUpdating(optionalPathString)</a></b><br>
1855 <b><a href=#File-path >path</a></b><br>
1856 <b><a href=#File-popen >popen</a></b><br>
1857 <b><a href=#File-position >position</a></b><br>
1858 <b><a href=#File-positionAtEnd >positionAtEnd</a></b><br>
1859 <b><a href=#File-protectionMode >protectionMode</a></b><br>
1860 <b><a href=#File-readBufferOfLength(aNumber) >readBufferOfLength(aNumber)</a></b><br>
1861 <b><a href=#File-readLine >readLine</a></b><br>
1862 <b><a href=#File-readLines >readLines</a></b><br>
1863 <b><a href=#File-readStringOfLength(aNumber) >readStringOfLength(aNumber)</a></b><br>
1864 <b><a href=#File-readToBufferOfLength(aBuffer, aNumber) >readToBufferOfLength(aBuffer, aNumber)</a></b><br>
1865 <b><a href=#File-remove >remove</a></b><br>
1866 <b><a href=#File-rewind >rewind</a></b><br>
1867 <b><a href=#File-setPath(aString) >setPath(aString)</a></b><br>
1868 <b><a href=#File-setPosition(aNumber) >setPosition(aNumber)</a></b><br>
1869 <b><a href=#File-size >size</a></b><br>
1870 <b><a href=#File-standardError >standardError</a></b><br>
1871 <b><a href=#File-standardInput >standardInput</a></b><br>
1872 <b><a href=#File-standardOutput >standardOutput</a></b><br>
1873 <b><a href=#File-stat >stat</a></b><br>
1874 <b><a href=#File-statSize >statSize</a></b><br>
1875 <b><a href=#File-temporaryFile >temporaryFile</a></b><br>
1876 <b><a href=#File-truncateToSize(numberOfBytes) >truncateToSize(numberOfBytes)</a></b><br>
1877 <b><a href=#File-userId >userId</a></b><br>
1878 <b><a href=#File-with(aPath) >with(aPath)</a></b><br>
1879 <b><a href=#File-write(aSequence1, aSequence2, ...) >write(aSequence1, aSequence2, ...)</a></b><br>
1880 </div>
1881 <br>
1882 <h3>Slots</h3>
1883 <br>
1884 <b><a name=File-asBuffer><font color=black>asBuffer</font></a></b><p>
1885 <div style="width:40em; margin-left:2em">
1886 Opens the receiver in read only mode, reads the whole
1887 contents of the file into a buffer object, closes the file and returns the buffer.
1889 </font>
1890 </div>
1891 <p><br>
1892 <b><a name=File-at(aNumber)><font color=black>at(aNumber)</font></a></b><p>
1893 <div style="width:40em; margin-left:2em">
1894 Returns a Number containing the byte at the specified
1895 byte index or Nil if the index is out of bounds.
1897 </font>
1898 </div>
1899 <p><br>
1900 <b><a name=File-atPut(positionNumber, byteNumber)><font color=black>atPut(positionNumber, byteNumber)</font></a></b><p>
1901 <div style="width:40em; margin-left:2em">
1902 Writes the byte value of byteNumber to the file position
1903 positionNumber. Returns self.
1905 </font>
1906 </div>
1907 <p><br>
1908 <b><a name=File-close><font color=black>close</font></a></b><p>
1909 <div style="width:40em; margin-left:2em">
1910 Closes the receiver if open, otherwise does nothing. Returns self.
1912 </font>
1913 </div>
1914 <p><br>
1915 <b><a name=File-contents><font color=black>contents</font></a></b><p>
1916 <div style="width:40em; margin-left:2em">
1917 Returns contents of the file as a mutable Sequence of bytes.
1919 </font>
1920 </div>
1921 <p><br>
1922 <b><a name=File-descriptor><font color=black>descriptor</font></a></b><p>
1923 <div style="width:40em; margin-left:2em">
1924 Returns the file's descriptor as a number.
1926 </font>
1927 </div>
1928 <p><br>
1929 <b><a name=File-exists><font color=black>exists</font></a></b><p>
1930 <div style="width:40em; margin-left:2em">
1931 Returns true if the file specified by the receiver's
1932 path exists, false otherwise.
1934 </font>
1935 </div>
1936 <p><br>
1937 <b><a name=File-flush><font color=black>flush</font></a></b><p>
1938 <div style="width:40em; margin-left:2em">
1939 Forces any buffered data to be written to disk. Returns self.
1941 </font>
1942 </div>
1943 <p><br>
1944 <b><a name=File-foreach(optionalIndex, value, message)><font color=black>foreach(optionalIndex, value, message)</font></a></b><p>
1945 <div style="width:40em; margin-left:2em">
1946 For each byte, set index to the index of the byte
1947 and value to the number containing the byte value and execute aMessage.
1948 Example usage:
1950 <code>
1951 aFile foreach(i, v, writeln("byte at ", i, " is ", v))
1952 aFile foreach(v, writeln("byte ", v))
1953 </code>
1955 </font>
1956 </div>
1957 <p><br>
1958 <b><a name=File-foreachLine(optionalLineNumber, line, message)><font color=black>foreachLine(optionalLineNumber, line, message)</font></a></b><p>
1959 <div style="width:40em; margin-left:2em">
1960 For each line, set index to the line number of the line
1961 and line and execute aMessage.
1962 Example usage:
1963 <code>
1964 aFile foreachLine(i, v, writeln("Line ", i, ": ", v))
1965 aFile foreach(v, writeln("Line: ", v))
1966 </code>
1968 </font>
1969 </div>
1970 <p><br>
1971 <b><a name=File-groupId><font color=black>groupId</font></a></b><p>
1972 <div style="width:40em; margin-left:2em">
1973 Returns a Number containing the group id associated with the file's path.
1975 </font>
1976 </div>
1977 <p><br>
1978 <b><a name=File-isAtEnd><font color=black>isAtEnd</font></a></b><p>
1979 <div style="width:40em; margin-left:2em">
1980 Returns true if the file is at it's end. Otherwise returns false.
1982 </font>
1983 </div>
1984 <p><br>
1985 <b><a name=File-isDirectory><font color=black>isDirectory</font></a></b><p>
1986 <div style="width:40em; margin-left:2em">
1987 Returns true if the receiver's path points to a directory, false otherwise.
1989 </font>
1990 </div>
1991 <p><br>
1992 <b><a name=File-isLink><font color=black>isLink</font></a></b><p>
1993 <div style="width:40em; margin-left:2em">
1994 Returns true if the receiver's path points to a link, false otherwise.
1996 </font>
1997 </div>
1998 <p><br>
1999 <b><a name=File-isOpen><font color=black>isOpen</font></a></b><p>
2000 <div style="width:40em; margin-left:2em">
2001 Returns self if the file is open. Otherwise returns Nil.
2003 </font>
2004 </div>
2005 <p><br>
2006 <b><a name=File-isPipe><font color=black>isPipe</font></a></b><p>
2007 <div style="width:40em; margin-left:2em">
2008 Returns true if the receiver is a pipe, false otherwise.
2010 </font>
2011 </div>
2012 <p><br>
2013 <b><a name=File-isRegularFile><font color=black>isRegularFile</font></a></b><p>
2014 <div style="width:40em; margin-left:2em">
2015 Returns true if the receiver's file descriptor is a regular file, false otherwise.
2017 </font>
2018 </div>
2019 <p><br>
2020 <b><a name=File-isSocket><font color=black>isSocket</font></a></b><p>
2021 <div style="width:40em; margin-left:2em">
2022 Returns true if the receiver's file descriptor is a Socket, false otherwise.
2024 </font>
2025 </div>
2026 <p><br>
2027 <b><a name=File-isUserExecutable><font color=black>isUserExecutable</font></a></b><p>
2028 <div style="width:40em; margin-left:2em">
2029 Returns true if the receiver is user group executable, false otherwise.
2031 </font>
2032 </div>
2033 <p><br>
2034 <b><a name=File-lastAccessDate><font color=black>lastAccessDate</font></a></b><p>
2035 <div style="width:40em; margin-left:2em">
2036 Returns a Date object containing the last date and
2037 time the file was accessed.
2039 </font>
2040 </div>
2041 <p><br>
2042 <b><a name=File-lastDataChangeDate><font color=black>lastDataChangeDate</font></a></b><p>
2043 <div style="width:40em; margin-left:2em">
2044 Returns a Date object containing the last date and
2045 time the file's contents were changed.
2047 </font>
2048 </div>
2049 <p><br>
2050 <b><a name=File-lastInfoChangeDate><font color=black>lastInfoChangeDate</font></a></b><p>
2051 <div style="width:40em; margin-left:2em">
2052 Returns a Date object containing the last date and
2053 time the file's meta info was changed.
2055 </font>
2056 </div>
2057 <p><br>
2058 <b><a name=File-mode><font color=black>mode</font></a></b><p>
2059 <div style="width:40em; margin-left:2em">
2060 Returns the open mode of the file(either read, update or append).
2062 </font>
2063 </div>
2064 <p><br>
2065 <b><a name=File-moveTo(pathString)><font color=black>moveTo(pathString)</font></a></b><p>
2066 <div style="width:40em; margin-left:2em">
2067 Moves the file specified by the receiver's path to the
2068 new path pathString. Raises an File doesNotExist exception if the
2069 file does not exist or a File nameConflict exception if the file
2070 nameString already exists.
2072 </font>
2073 </div>
2074 <p><br>
2075 <b><a name=File-name><font color=black>name</font></a></b><p>
2076 <div style="width:40em; margin-left:2em">
2077 Returns the last path component of the file path.
2079 </font>
2080 </div>
2081 <p><br>
2082 <b><a name=File-open(optionalPathString)><font color=black>open(optionalPathString)</font></a></b><p>
2083 <div style="width:40em; margin-left:2em">
2084 Opens the file. Creates one if it does not exist.
2085 If the optionalPathString argument is provided, the path is set to it before
2086 opening. Returns self or raises an File exception on error.
2088 </font>
2089 </div>
2090 <p><br>
2091 <b><a name=File-openForAppending(optionalPathString)><font color=black>openForAppending(optionalPathString)</font></a></b><p>
2092 <div style="width:40em; margin-left:2em">
2093 Sets the file mode to append (writing to the end of the file)
2094 and calls open(optionalPathString).
2096 </font>
2097 </div>
2098 <p><br>
2099 <b><a name=File-openForReading(optionalPathString)><font color=black>openForReading(optionalPathString)</font></a></b><p>
2100 <div style="width:40em; margin-left:2em">
2101 Sets the file mode to read (reading only) and calls open(optionalPathString).
2103 </font>
2104 </div>
2105 <p><br>
2106 <b><a name=File-openForUpdating(optionalPathString)><font color=black>openForUpdating(optionalPathString)</font></a></b><p>
2107 <div style="width:40em; margin-left:2em">
2108 Sets the file mode to update (reading and writing) and calls
2109 open(optionalPathString). This will not delete the file if it already exists.
2110 Use the remove method first if you need to delete an existing file before opening a new one.
2112 </font>
2113 </div>
2114 <p><br>
2115 <b><a name=File-path><font color=black>path</font></a></b><p>
2116 <div style="width:40em; margin-left:2em">
2117 Returns the file path of the receiver.
2119 </font>
2120 </div>
2121 <p><br>
2122 <b><a name=File-popen><font color=black>popen</font></a></b><p>
2123 <div style="width:40em; margin-left:2em">
2124 Open the file as a pipe. Return self.
2126 </font>
2127 </div>
2128 <p><br>
2129 <b><a name=File-position><font color=black>position</font></a></b><p>
2130 <div style="width:40em; margin-left:2em">
2131 Returns the current file pointer byte position as a Number.
2133 </font>
2134 </div>
2135 <p><br>
2136 <b><a name=File-positionAtEnd><font color=black>positionAtEnd</font></a></b><p>
2137 <div style="width:40em; margin-left:2em">
2138 Sets the file position pointer to the end of the file.
2140 </font>
2141 </div>
2142 <p><br>
2143 <b><a name=File-protectionMode><font color=black>protectionMode</font></a></b><p>
2144 <div style="width:40em; margin-left:2em">
2145 Returns a Number containing the protection mode
2146 associated with the file's path.
2148 </font>
2149 </div>
2150 <p><br>
2151 <b><a name=File-readBufferOfLength(aNumber)><font color=black>readBufferOfLength(aNumber)</font></a></b><p>
2152 <div style="width:40em; margin-left:2em">
2153 Reads a Buffer of the specified length and returns it.
2154 Returns Nil if the end of the file has been reached.
2156 </font>
2157 </div>
2158 <p><br>
2159 <b><a name=File-readLine><font color=black>readLine</font></a></b><p>
2160 <div style="width:40em; margin-left:2em">
2161 Reads the next line of the file and returns it as a
2162 string without the return character. Returns Nil if the
2163 end of the file has been reached.
2165 </font>
2166 </div>
2167 <p><br>
2168 <b><a name=File-readLines><font color=black>readLines</font></a></b><p>
2169 <div style="width:40em; margin-left:2em">
2170 Returns list containing all lines in the file.
2172 </font>
2173 </div>
2174 <p><br>
2175 <b><a name=File-readStringOfLength(aNumber)><font color=black>readStringOfLength(aNumber)</font></a></b><p>
2176 <div style="width:40em; margin-left:2em">
2177 Reads a String of the specified length and returns it.
2178 Returns Nil if the end of the file has been reached.
2180 </font>
2181 </div>
2182 <p><br>
2183 <b><a name=File-readToBufferOfLength(aBuffer, aNumber)><font color=black>readToBufferOfLength(aBuffer, aNumber)</font></a></b><p>
2184 <div style="width:40em; margin-left:2em">
2185 Reads at most aNumber number of items and appends them to aBuffer.
2186 Returns number of items read.
2188 </font>
2189 </div>
2190 <p><br>
2191 <b><a name=File-remove><font color=black>remove</font></a></b><p>
2192 <div style="width:40em; margin-left:2em">
2193 Removes the file specified by the receiver's path.
2194 Raises an error if the file exists but is not removed. Returns self.
2196 </font>
2197 </div>
2198 <p><br>
2199 <b><a name=File-rewind><font color=black>rewind</font></a></b><p>
2200 <div style="width:40em; margin-left:2em">
2201 Sets the file position pointer to the beginning of the file.
2203 </font>
2204 </div>
2205 <p><br>
2206 <b><a name=File-setPath(aString)><font color=black>setPath(aString)</font></a></b><p>
2207 <div style="width:40em; margin-left:2em">
2208 Sets the file path of the receiver to pathString.
2209 The default path is an empty string. Returns self.
2211 </font>
2212 </div>
2213 <p><br>
2214 <b><a name=File-setPosition(aNumber)><font color=black>setPosition(aNumber)</font></a></b><p>
2215 <div style="width:40em; margin-left:2em">
2216 Sets the file position pointer to the byte specified by aNumber. Returns self.
2218 </font>
2219 </div>
2220 <p><br>
2221 <b><a name=File-size><font color=black>size</font></a></b><p>
2222 <div style="width:40em; margin-left:2em">
2223 Returns the file size in bytes.
2225 </font>
2226 </div>
2227 <p><br>
2228 <b><a name=File-standardError><font color=black>standardError</font></a></b><p>
2229 <div style="width:40em; margin-left:2em">
2230 Returns a new File whose stream is set to the standard error stream.
2232 </font>
2233 </div>
2234 <p><br>
2235 <b><a name=File-standardInput><font color=black>standardInput</font></a></b><p>
2236 <div style="width:40em; margin-left:2em">
2237 Returns a new File whose stream is set to the standard input stream.
2239 </font>
2240 </div>
2241 <p><br>
2242 <b><a name=File-standardOutput><font color=black>standardOutput</font></a></b><p>
2243 <div style="width:40em; margin-left:2em">
2244 Returns a new File whose stream is set to the standard output stream.
2246 </font>
2247 </div>
2248 <p><br>
2249 <b><a name=File-stat><font color=black>stat</font></a></b><p>
2250 <div style="width:40em; margin-left:2em">
2251 Updates the receiver's meta info cache.
2253 </font>
2254 </div>
2255 <p><br>
2256 <b><a name=File-statSize><font color=black>statSize</font></a></b><p>
2257 <div style="width:40em; margin-left:2em">
2258 Returns the file's size in bytes as a Number.
2260 </font>
2261 </div>
2262 <p><br>
2263 <b><a name=File-temporaryFile><font color=black>temporaryFile</font></a></b><p>
2264 <div style="width:40em; margin-left:2em">
2265 Returns a new File object with an open temporary file. The file is
2266 automatically deleted when the returned File object is closed or garbage collected.
2268 </font>
2269 </div>
2270 <p><br>
2271 <b><a name=File-truncateToSize(numberOfBytes)><font color=black>truncateToSize(numberOfBytes)</font></a></b><p>
2272 <div style="width:40em; margin-left:2em">
2273 Trunctates the file's size to the numberOfBytes. Returns self.
2275 </font>
2276 </div>
2277 <p><br>
2278 <b><a name=File-userId><font color=black>userId</font></a></b><p>
2279 <div style="width:40em; margin-left:2em">
2280 Returns a Number containing the user id associated with the file's path.
2282 </font>
2283 </div>
2284 <p><br>
2285 <b><a name=File-with(aPath)><font color=black>with(aPath)</font></a></b><p>
2286 <div style="width:40em; margin-left:2em">
2287 Returns a new instance with the provided path.
2289 </font>
2290 </div>
2291 <p><br>
2292 <b><a name=File-write(aSequence1, aSequence2, ...)><font color=black>write(aSequence1, aSequence2, ...)</font></a></b><p>
2293 <div style="width:40em; margin-left:2em">
2294 Writes the arguments to the receiver file. Returns self.
2296 </font>
2297 </div>
2298 <p><br>
2299 </ul>
2300 <br>
2301 <hr align=left>
2302 <br>
2303 <h2><a name=ImmutableSequence><font color=black>ImmutableSequence</font></a></h2>
2304 <ul style="width:40em">
2305 <b><font color=#000>Protos:</font></b> Sequence
2306 <h3>Description</h3>
2307 A Sequence is a container for a list of data elements.
2308 Immutable Sequences are also called "Symbols".
2310 </font>
2311 <h3>Slot Index</h3>
2312 <div style="width:40em; margin-left:2em">
2313 <b><a href=#ImmutableSequence-..(aSequence) >..(aSequence)</a></b><br>
2314 <b><a href=#ImmutableSequence-afterSeq(aSequence) >afterSeq(aSequence)</a></b><br>
2315 <b><a href=#ImmutableSequence-asBinaryNumber >asBinaryNumber</a></b><br>
2316 <b><a href=#ImmutableSequence-asCapitalized >asCapitalized</a></b><br>
2317 <b><a href=#ImmutableSequence-asFixedSizeType >asFixedSizeType</a></b><br>
2318 <b><a href=#ImmutableSequence-asLowercase >asLowercase</a></b><br>
2319 <b><a href=#ImmutableSequence-asMessage(optionalLabel) >asMessage(optionalLabel)</a></b><br>
2320 <b><a href=#ImmutableSequence-asMutable >asMutable</a></b><br>
2321 <b><a href=#ImmutableSequence-asNumber >asNumber</a></b><br>
2322 <b><a href=#ImmutableSequence-asSymbol >asSymbol</a></b><br>
2323 <b><a href=#ImmutableSequence-asUTF16 >asUTF16</a></b><br>
2324 <b><a href=#ImmutableSequence-asUTF32 >asUTF32</a></b><br>
2325 <b><a href=#ImmutableSequence-asUTF8 >asUTF8</a></b><br>
2326 <b><a href=#ImmutableSequence-asUppercase >asUppercase</a></b><br>
2327 <b><a href=#ImmutableSequence-at(aNumber) >at(aNumber)</a></b><br>
2328 <b><a href=#ImmutableSequence-beforeSeq(aSequence) >beforeSeq(aSequence)</a></b><br>
2329 <b><a href=#ImmutableSequence-beginsWithSeq(aSequence) >beginsWithSeq(aSequence)</a></b><br>
2330 <b><a href=#ImmutableSequence-between(aSequence, anotherSequence) >between(aSequence, anotherSequence)</a></b><br>
2331 <b><a href=#ImmutableSequence-cloneAppendPath(aSequence) >cloneAppendPath(aSequence)</a></b><br>
2332 <b><a href=#ImmutableSequence-contains(aNumber) >contains(aNumber)</a></b><br>
2333 <b><a href=#ImmutableSequence-containsAnyCaseSeq(aSequence) >containsAnyCaseSeq(aSequence)</a></b><br>
2334 <b><a href=#ImmutableSequence-containsSeq(aSequence) >containsSeq(aSequence)</a></b><br>
2335 <b><a href=#ImmutableSequence-distanceTo(aSeq) >distanceTo(aSeq)</a></b><br>
2336 <b><a href=#ImmutableSequence-encoding >encoding</a></b><br>
2337 <b><a href=#ImmutableSequence-endsWithSeq(aSequence) >endsWithSeq(aSequence)</a></b><br>
2338 <b><a href=#ImmutableSequence-fileName >fileName</a></b><br>
2339 <b><a href=#ImmutableSequence-findSeq(aSequence, optionalStartIndex) >findSeq(aSequence, optionalStartIndex)</a></b><br>
2340 <b><a href=#ImmutableSequence-findSeqs(listOfSequences, optionalStartIndex) >findSeqs(listOfSequences, optionalStartIndex)</a></b><br>
2341 <b><a href=#ImmutableSequence-foreach(optionalIndex, value, message) >foreach(optionalIndex, value, message)</a></b><br>
2342 <b><a href=#ImmutableSequence-fromBase(aNumber) >fromBase(aNumber)</a></b><br>
2343 <b><a href=#ImmutableSequence-interpolate(ctx) >interpolate(ctx)</a></b><br>
2344 <b><a href=#ImmutableSequence-isEmpty >isEmpty</a></b><br>
2345 <b><a href=#ImmutableSequence-isEqualAnyCase(aSequence) >isEqualAnyCase(aSequence)</a></b><br>
2346 <b><a href=#ImmutableSequence-isLowercase >isLowercase</a></b><br>
2347 <b><a href=#ImmutableSequence-isMutable >isMutable</a></b><br>
2348 <b><a href=#ImmutableSequence-isSymbol >isSymbol</a></b><br>
2349 <b><a href=#ImmutableSequence-isUppercase >isUppercase</a></b><br>
2350 <b><a href=#ImmutableSequence-isZero >isZero</a></b><br>
2351 <b><a href=#ImmutableSequence-itemSize >itemSize</a></b><br>
2352 <b><a href=#ImmutableSequence-itemType >itemType</a></b><br>
2353 <b><a href=#ImmutableSequence-lastPathComponent >lastPathComponent</a></b><br>
2354 <b><a href=#ImmutableSequence-linePrint >linePrint</a></b><br>
2355 <b><a href=#ImmutableSequence-occurancesOfSeq(aSeq) >occurancesOfSeq(aSeq)</a></b><br>
2356 <b><a href=#ImmutableSequence-pathComponent >pathComponent</a></b><br>
2357 <b><a href=#ImmutableSequence-pathExtension >pathExtension</a></b><br>
2358 <b><a href=#ImmutableSequence-print >print</a></b><br>
2359 <b><a href=#ImmutableSequence-reverseFindSeq(aSequence, startIndex) >reverseFindSeq(aSequence, startIndex)</a></b><br>
2360 <b><a href=#ImmutableSequence-size >size</a></b><br>
2361 <b><a href=#ImmutableSequence-slice(startIndex, endIndex) >slice(startIndex, endIndex)</a></b><br>
2362 <b><a href=#ImmutableSequence-split(optionalArg1, optionalArg2, ...) >split(optionalArg1, optionalArg2, ...)</a></b><br>
2363 <b><a href=#ImmutableSequence-splitAt(indexNumber) >splitAt(indexNumber)</a></b><br>
2364 <b><a href=#ImmutableSequence-toBase(aNumber) >toBase(aNumber)</a></b><br>
2365 <b><a href=#ImmutableSequence-whiteSpaceStrings >whiteSpaceStrings</a></b><br>
2366 <b><a href=#ImmutableSequence-with(aSequence, ...) >with(aSequence, ...)</a></b><br>
2367 </div>
2368 <br>
2369 <h3>Slots</h3>
2370 <br>
2371 <b><a name=ImmutableSequence-..(aSequence)><font color=black>..(aSequence)</font></a></b><p>
2372 <div style="width:40em; margin-left:2em">
2373 Returns a copy of the receiver with aSequence appended to it.
2375 </font>
2376 </div>
2377 <p><br>
2378 <b><a name=ImmutableSequence-afterSeq(aSequence)><font color=black>afterSeq(aSequence)</font></a></b><p>
2379 <div style="width:40em; margin-left:2em">
2380 Returns the slice of the receiver (as a Symbol) after aSequence or
2381 nil if aSequence is not found. If aSequence is empty, the receiver
2382 (or a copy of the receiver if it is mutable) is returned.
2384 </font>
2385 </div>
2386 <p><br>
2387 <b><a name=ImmutableSequence-asBinaryNumber><font color=black>asBinaryNumber</font></a></b><p>
2388 <div style="width:40em; margin-left:2em">
2389 Returns a Number containing the first 8 bytes of the
2390 receiver without casting them to a double.
2392 </font>
2393 </div>
2394 <p><br>
2395 <b><a name=ImmutableSequence-asCapitalized><font color=black>asCapitalized</font></a></b><p>
2396 <div style="width:40em; margin-left:2em">
2397 Returns a copy of the receiver with the first charater made uppercase.
2399 </font>
2400 </div>
2401 <p><br>
2402 <b><a name=ImmutableSequence-asFixedSizeType><font color=black>asFixedSizeType</font></a></b><p>
2403 <div style="width:40em; margin-left:2em">
2404 Returns a new sequence with the receiver encoded in the
2405 minimal fixed width text encoding that it's characters can fit
2406 into (either, ascii, utf8, utf16 or utf32).
2408 </font>
2409 </div>
2410 <p><br>
2411 <b><a name=ImmutableSequence-asLowercase><font color=black>asLowercase</font></a></b><p>
2412 <div style="width:40em; margin-left:2em">
2413 Returns a symbol containing the reveiver made Lowercase.
2415 </font>
2416 </div>
2417 <p><br>
2418 <b><a name=ImmutableSequence-asMessage(optionalLabel)><font color=black>asMessage(optionalLabel)</font></a></b><p>
2419 <div style="width:40em; margin-left:2em">
2420 Returns the compiled message object for the string.
2422 </font>
2423 </div>
2424 <p><br>
2425 <b><a name=ImmutableSequence-asMutable><font color=black>asMutable</font></a></b><p>
2426 <div style="width:40em; margin-left:2em">
2427 Returns a mutable copy of the receiver.
2429 </font>
2430 </div>
2431 <p><br>
2432 <b><a name=ImmutableSequence-asNumber><font color=black>asNumber</font></a></b><p>
2433 <div style="width:40em; margin-left:2em">
2434 Returns the receiver converted to a number.
2435 Initial whitespace is ignored.
2437 </font>
2438 </div>
2439 <p><br>
2440 <b><a name=ImmutableSequence-asSymbol><font color=black>asSymbol</font></a></b><p>
2441 <div style="width:40em; margin-left:2em">
2442 Returns a immutable Sequence (aka Symbol) version of the receiver.
2444 </font>
2445 </div>
2446 <p><br>
2447 <b><a name=ImmutableSequence-asUTF16><font color=black>asUTF16</font></a></b><p>
2448 <div style="width:40em; margin-left:2em">
2449 Returns a new copy of the receiver converted to utf16 encoding.
2451 </font>
2452 </div>
2453 <p><br>
2454 <b><a name=ImmutableSequence-asUTF32><font color=black>asUTF32</font></a></b><p>
2455 <div style="width:40em; margin-left:2em">
2456 Returns a new copy of the receiver converted to utf32 encoding.
2458 </font>
2459 </div>
2460 <p><br>
2461 <b><a name=ImmutableSequence-asUTF8><font color=black>asUTF8</font></a></b><p>
2462 <div style="width:40em; margin-left:2em">
2463 Returns a new copy of the receiver converted to utf8 encoding.
2465 </font>
2466 </div>
2467 <p><br>
2468 <b><a name=ImmutableSequence-asUppercase><font color=black>asUppercase</font></a></b><p>
2469 <div style="width:40em; margin-left:2em">
2470 Returns a symbol containing the reveiver made uppercase.
2472 </font>
2473 </div>
2474 <p><br>
2475 <b><a name=ImmutableSequence-at(aNumber)><font color=black>at(aNumber)</font></a></b><p>
2476 <div style="width:40em; margin-left:2em">
2477 Returns a value at the index specified by aNumber.
2478 Returns nil if the index is out of bounds.
2480 </font>
2481 </div>
2482 <p><br>
2483 <b><a name=ImmutableSequence-beforeSeq(aSequence)><font color=black>beforeSeq(aSequence)</font></a></b><p>
2484 <div style="width:40em; margin-left:2em">
2485 Returns the slice of the receiver (as a Symbol) before
2486 aSequence or self if aSequence is not found.
2488 </font>
2489 </div>
2490 <p><br>
2491 <b><a name=ImmutableSequence-beginsWithSeq(aSequence)><font color=black>beginsWithSeq(aSequence)</font></a></b><p>
2492 <div style="width:40em; margin-left:2em">
2493 Returns true if the receiver begins with aSequence, false otherwise.
2495 </font>
2496 </div>
2497 <p><br>
2498 <b><a name=ImmutableSequence-between(aSequence, anotherSequence)><font color=black>between(aSequence, anotherSequence)</font></a></b><p>
2499 <div style="width:40em; margin-left:2em">
2500 Returns a new Sequence containing the bytes between the
2501 occurance of aSequence and anotherSequence in the receiver.
2503 </font>
2504 </div>
2505 <p><br>
2506 <b><a name=ImmutableSequence-cloneAppendPath(aSequence)><font color=black>cloneAppendPath(aSequence)</font></a></b><p>
2507 <div style="width:40em; margin-left:2em">
2508 Appends argument to a copy the receiver such that there is one
2509 and only one path separator between the two and returns the result.
2511 </font>
2512 </div>
2513 <p><br>
2514 <b><a name=ImmutableSequence-contains(aNumber)><font color=black>contains(aNumber)</font></a></b><p>
2515 <div style="width:40em; margin-left:2em">
2516 Returns true if the receiver contains an element equal in value to aNumber, false otherwise.
2518 </font>
2519 </div>
2520 <p><br>
2521 <b><a name=ImmutableSequence-containsAnyCaseSeq(aSequence)><font color=black>containsAnyCaseSeq(aSequence)</font></a></b><p>
2522 <div style="width:40em; margin-left:2em">
2523 Returns true if the receiver contains the aSequence
2524 regardless of casing, false otherwise.
2526 </font>
2527 </div>
2528 <p><br>
2529 <b><a name=ImmutableSequence-containsSeq(aSequence)><font color=black>containsSeq(aSequence)</font></a></b><p>
2530 <div style="width:40em; margin-left:2em">
2531 Returns true if the receiver contains the substring
2532 aSequence, false otherwise.
2534 </font>
2535 </div>
2536 <p><br>
2537 <b><a name=ImmutableSequence-distanceTo(aSeq)><font color=black>distanceTo(aSeq)</font></a></b><p>
2538 <div style="width:40em; margin-left:2em">
2539 Returns a number with the square root of the sum of the square
2540 of the differences of the items between the sequences.
2542 </font>
2543 </div>
2544 <p><br>
2545 <b><a name=ImmutableSequence-encoding><font color=black>encoding</font></a></b><p>
2546 <div style="width:40em; margin-left:2em">
2547 Returns the encoding of the elements.
2549 </font>
2550 </div>
2551 <p><br>
2552 <b><a name=ImmutableSequence-endsWithSeq(aSequence)><font color=black>endsWithSeq(aSequence)</font></a></b><p>
2553 <div style="width:40em; margin-left:2em">
2554 Returns true if the receiver ends with aSequence, false otherwise.
2556 </font>
2557 </div>
2558 <p><br>
2559 <b><a name=ImmutableSequence-fileName><font color=black>fileName</font></a></b><p>
2560 <div style="width:40em; margin-left:2em">
2561 Returns the last path component sans the path extension.
2563 </font>
2564 </div>
2565 <p><br>
2566 <b><a name=ImmutableSequence-findSeq(aSequence, optionalStartIndex)><font color=black>findSeq(aSequence, optionalStartIndex)</font></a></b><p>
2567 <div style="width:40em; margin-left:2em">
2568 Returns a number with the first occurrence of aSequence in
2569 the receiver after the startIndex. If no startIndex is specified,
2570 the search starts at index 0.
2571 nil is returned if no occurences are found.
2573 </font>
2574 </div>
2575 <p><br>
2576 <b><a name=ImmutableSequence-findSeqs(listOfSequences, optionalStartIndex)><font color=black>findSeqs(listOfSequences, optionalStartIndex)</font></a></b><p>
2577 <div style="width:40em; margin-left:2em">
2578 Returns a object with two slots - an \"index\" slot which contains
2579 the first occurrence of any of the sequences in listOfSequences found
2580 in the receiver after the startIndex, and a \"match\" slot, which
2581 contains a reference to the matching sequence from listOfSequences.
2582 If no startIndex is specified, the search starts at index 0.
2583 nil is returned if no occurences are found.
2585 </font>
2586 </div>
2587 <p><br>
2588 <b><a name=ImmutableSequence-foreach(optionalIndex, value, message)><font color=black>foreach(optionalIndex, value, message)</font></a></b><p>
2589 <div style="width:40em; margin-left:2em">
2590 For each element, set index to the index of the
2591 element and value the element value and execute message. Example:
2592 <code>
2593 aSequence foreach(i, v, writeln("value at index ", i, " is ", v))
2594 aSequence foreach(v, writeln("value ", v))
2595 </code>
2597 </font>
2598 </div>
2599 <p><br>
2600 <b><a name=ImmutableSequence-fromBase(aNumber)><font color=black>fromBase(aNumber)</font></a></b><p>
2601 <div style="width:40em; margin-left:2em">
2602 Returns a number with a base 10 representation of the receiver
2603 converted from the specified base. Only base 2 through 32 are currently supported.
2605 </font>
2606 </div>
2607 <p><br>
2608 <b><a name=ImmutableSequence-interpolate(ctx)><font color=black>interpolate(ctx)</font></a></b><p>
2609 <div style="width:40em; margin-left:2em">
2610 Returns immutable copy of self with interpolateInPlace(ctx) passed to the copy.
2612 </font>
2613 </div>
2614 <p><br>
2615 <b><a name=ImmutableSequence-isEmpty><font color=black>isEmpty</font></a></b><p>
2616 <div style="width:40em; margin-left:2em">
2617 Returns true if the size of the receiver is 0, false otherwise.
2619 </font>
2620 </div>
2621 <p><br>
2622 <b><a name=ImmutableSequence-isEqualAnyCase(aSequence)><font color=black>isEqualAnyCase(aSequence)</font></a></b><p>
2623 <div style="width:40em; margin-left:2em">
2624 Returns true if aSequence is equal to the receiver
2625 ignoring case differences, false otherwise.
2627 </font>
2628 </div>
2629 <p><br>
2630 <b><a name=ImmutableSequence-isLowercase><font color=black>isLowercase</font></a></b><p>
2631 <div style="width:40em; margin-left:2em">
2632 Returns self if all the characters in the string are lower case.
2634 </font>
2635 </div>
2636 <p><br>
2637 <b><a name=ImmutableSequence-isMutable><font color=black>isMutable</font></a></b><p>
2638 <div style="width:40em; margin-left:2em">
2639 Returns true if the receiver is a mutable Sequence or false otherwise.
2641 </font>
2642 </div>
2643 <p><br>
2644 <b><a name=ImmutableSequence-isSymbol><font color=black>isSymbol</font></a></b><p>
2645 <div style="width:40em; margin-left:2em">
2646 Returns true if the receiver is a
2647 immutable Sequence (aka, a Symbol) or false otherwise.
2649 </font>
2650 </div>
2651 <p><br>
2652 <b><a name=ImmutableSequence-isUppercase><font color=black>isUppercase</font></a></b><p>
2653 <div style="width:40em; margin-left:2em">
2654 Returns self if all the characters in the string are upper case.
2656 </font>
2657 </div>
2658 <p><br>
2659 <b><a name=ImmutableSequence-isZero><font color=black>isZero</font></a></b><p>
2660 <div style="width:40em; margin-left:2em">
2661 Returns true if all elements are 0, false otherwise.
2663 </font>
2664 </div>
2665 <p><br>
2666 <b><a name=ImmutableSequence-itemSize><font color=black>itemSize</font></a></b><p>
2667 <div style="width:40em; margin-left:2em">
2668 Returns number of bytes in each element.
2670 </font>
2671 </div>
2672 <p><br>
2673 <b><a name=ImmutableSequence-itemType><font color=black>itemType</font></a></b><p>
2674 <div style="width:40em; margin-left:2em">
2675 Returns machine type of elements.
2677 </font>
2678 </div>
2679 <p><br>
2680 <b><a name=ImmutableSequence-lastPathComponent><font color=black>lastPathComponent</font></a></b><p>
2681 <div style="width:40em; margin-left:2em">
2682 Returns a string containing the receiver clipped up
2683 to the last path separator.
2685 </font>
2686 </div>
2687 <p><br>
2688 <b><a name=ImmutableSequence-linePrint><font color=black>linePrint</font></a></b><p>
2689 <div style="width:40em; margin-left:2em">
2690 Prints the Sequence and a newline character.
2692 </font>
2693 </div>
2694 <p><br>
2695 <b><a name=ImmutableSequence-occurancesOfSeq(aSeq)><font color=black>occurancesOfSeq(aSeq)</font></a></b><p>
2696 <div style="width:40em; margin-left:2em">
2697 Returns count of aSeq in the receiver.
2699 </font>
2700 </div>
2701 <p><br>
2702 <b><a name=ImmutableSequence-pathComponent><font color=black>pathComponent</font></a></b><p>
2703 <div style="width:40em; margin-left:2em">
2704 Returns a slice of the receiver before the last path separator as a symbol.
2706 </font>
2707 </div>
2708 <p><br>
2709 <b><a name=ImmutableSequence-pathExtension><font color=black>pathExtension</font></a></b><p>
2710 <div style="width:40em; margin-left:2em">
2711 Returns a string containing the receiver clipped up to the last period.
2713 </font>
2714 </div>
2715 <p><br>
2716 <b><a name=ImmutableSequence-print><font color=black>print</font></a></b><p>
2717 <div style="width:40em; margin-left:2em">
2718 Prints the receiver as a string. Returns self.
2720 </font>
2721 </div>
2722 <p><br>
2723 <b><a name=ImmutableSequence-reverseFindSeq(aSequence, startIndex)><font color=black>reverseFindSeq(aSequence, startIndex)</font></a></b><p>
2724 <div style="width:40em; margin-left:2em">
2725 Returns a number with the first occurrence of aSequence in
2726 the receiver before the startIndex. The startIndex argument is optional.
2727 By default reverseFind starts at the end of the string. Nil is
2728 returned if no occurrences are found.
2730 </font>
2731 </div>
2732 <p><br>
2733 <b><a name=ImmutableSequence-size><font color=black>size</font></a></b><p>
2734 <div style="width:40em; margin-left:2em">
2735 Returns the length in bytes of the receiver. For example,
2736 <code>
2737 "abc" size == 3
2738 </code>
2740 </font>
2741 </div>
2742 <p><br>
2743 <b><a name=ImmutableSequence-slice(startIndex, endIndex)><font color=black>slice(startIndex, endIndex)</font></a></b><p>
2744 <div style="width:40em; margin-left:2em">
2745 Returns a new string containing the subset of the
2746 receiver from the startIndex to the endIndex. The endIndex argument
2747 is optional. If not given, it is assumed to be the end of the string.
2749 </font>
2750 </div>
2751 <p><br>
2752 <b><a name=ImmutableSequence-split(optionalArg1, optionalArg2, ...)><font color=black>split(optionalArg1, optionalArg2, ...)</font></a></b><p>
2753 <div style="width:40em; margin-left:2em">
2754 Returns a list containing the sub-sequences of the receiver divided by the given arguments.
2755 If no arguments are given the sequence is split on white space.
2756 Examples:
2757 <code>
2758 "a b c d" split == list("a", "b", "c", "d")
2759 "a*b*c*d" split("*") == list("a", "b", "c", "d")
2760 "a*b|c,d" split("*", "|", ",") == list("a", "b", "c", "d")
2761 "a b c d" split == list("a", "", "", "", "b", "", "", "c", "", "d")
2762 </code>
2764 </font>
2765 </div>
2766 <p><br>
2767 <b><a name=ImmutableSequence-splitAt(indexNumber)><font color=black>splitAt(indexNumber)</font></a></b><p>
2768 <div style="width:40em; margin-left:2em">
2769 Returns a list containing the two parts of the receiver as split at the given index.
2771 </font>
2772 </div>
2773 <p><br>
2774 <b><a name=ImmutableSequence-toBase(aNumber)><font color=black>toBase(aNumber)</font></a></b><p>
2775 <div style="width:40em; margin-left:2em">
2776 Returns a Sequence containing the receiver(which is
2777 assumed to be a base 10 number) converted to the specified base.
2778 Only base 8 and 16 are currently supported.
2780 </font>
2781 </div>
2782 <p><br>
2783 <b><a name=ImmutableSequence-whiteSpaceStrings><font color=black>whiteSpaceStrings</font></a></b><p>
2784 <div style="width:40em; margin-left:2em">
2785 Returns a List of strings. Each string contains a different
2786 whitespace character.
2788 </font>
2789 </div>
2790 <p><br>
2791 <b><a name=ImmutableSequence-with(aSequence, ...)><font color=black>with(aSequence, ...)</font></a></b><p>
2792 <div style="width:40em; margin-left:2em">
2793 Returns a new Sequence which is the concatination of the arguments.
2794 The returned sequence will have the same mutability status as the receiver.
2796 </font>
2797 </div>
2798 <p><br>
2799 </ul>
2800 <br>
2801 <hr align=left>
2802 <br>
2803 <h2><a name=Importer><font color=black>Importer</font></a></h2>
2804 <ul style="width:40em">
2805 <b><font color=#000>Protos:</font></b> Object
2806 <h3>Slot Index</h3>
2807 <div style="width:40em; margin-left:2em">
2808 <b><a href=#Importer-AddonImporter >AddonImporter </a></b><br>
2809 <b><a href=#Importer-FileImporter >FileImporter </a></b><br>
2810 <b><a href=#Importer-addSearchPath(path) >addSearchPath(path)</a></b><br>
2811 <b><a href=#Importer-autoImportingForward >autoImportingForward </a></b><br>
2812 <b><a href=#Importer-import(originalCallMessage) >import(originalCallMessage)</a></b><br>
2813 <b><a href=#Importer-importers >importers </a></b><br>
2814 <b><a href=#Importer-paths >paths </a></b><br>
2815 <b><a href=#Importer-removeSearchPath(path) >removeSearchPath(path)</a></b><br>
2816 <b><a href=#Importer-turnOff >turnOff </a></b><br>
2817 <b><a href=#Importer-turnOn >turnOn </a></b><br>
2818 </div>
2819 <br>
2820 <h3>Slots</h3>
2821 <br>
2822 <b><a name=Importer-AddonImporter ><font color=black>AddonImporter </font></a></b><p>
2823 <div style="width:40em; margin-left:2em">
2824 An Importer for addon modules.
2826 </font>
2827 </div>
2828 <p><br>
2829 <b><a name=Importer-FileImporter ><font color=black>FileImporter </font></a></b><p>
2830 <div style="width:40em; margin-left:2em">
2831 An Importer for local source files.
2833 </font>
2834 </div>
2835 <p><br>
2836 <b><a name=Importer-addSearchPath(path)><font color=black>addSearchPath(path)</font></a></b><p>
2837 <div style="width:40em; margin-left:2em">
2838 Add a search path to the auto importer. Relative paths are made absolute before adding.
2840 </font>
2841 </div>
2842 <p><br>
2843 <b><a name=Importer-autoImportingForward ><font color=black>autoImportingForward </font></a></b><p>
2844 <div style="width:40em; margin-left:2em">
2845 A forward method implementation placed in the Lobby when Importing is turned on.
2847 </font>
2848 </div>
2849 <p><br>
2850 <b><a name=Importer-import(originalCallMessage)><font color=black>import(originalCallMessage)</font></a></b><p>
2851 <div style="width:40em; margin-left:2em">
2852 Imports an object or addon for the given Message.
2854 </font>
2855 </div>
2856 <p><br>
2857 <b><a name=Importer-importers ><font color=black>importers </font></a></b><p>
2858 <div style="width:40em; margin-left:2em">
2859 List of Importer objects.
2861 </font>
2862 </div>
2863 <p><br>
2864 <b><a name=Importer-paths ><font color=black>paths </font></a></b><p>
2865 <div style="width:40em; margin-left:2em">
2866 List of paths the proto importer will check while searching for protos to load.
2868 </font>
2869 </div>
2870 <p><br>
2871 <b><a name=Importer-removeSearchPath(path)><font color=black>removeSearchPath(path)</font></a></b><p>
2872 <div style="width:40em; margin-left:2em">
2873 Removes a search path from the auto importer. Relative paths should be removed from the same working directory as they were added.
2875 </font>
2876 </div>
2877 <p><br>
2878 <b><a name=Importer-turnOff ><font color=black>turnOff </font></a></b><p>
2879 <div style="width:40em; margin-left:2em">
2880 Turns off the Importer. Returns self.
2882 </font>
2883 </div>
2884 <p><br>
2885 <b><a name=Importer-turnOn ><font color=black>turnOn </font></a></b><p>
2886 <div style="width:40em; margin-left:2em">
2887 Turns on the Importer. Returns self.
2889 </font>
2890 </div>
2891 <p><br>
2892 </ul>
2893 <br>
2894 <hr align=left>
2895 <br>
2896 <h2><a name=List><font color=black>List</font></a></h2>
2897 <ul style="width:40em">
2898 <b><font color=#000>Protos:</font></b> Object
2899 <h3>Description</h3>
2900 A mutable array of values. The first index is 0.")
2902 </font>
2903 <h3>Slot Index</h3>
2904 <div style="width:40em; margin-left:2em">
2905 <b><a href=#List-anyOne >anyOne </a></b><br>
2906 <b><a href=#List-append(anObject1, anObject2, ...) >append(anObject1, anObject2, ...)</a></b><br>
2907 <b><a href=#List-appendIfAbsent(anObject) >appendIfAbsent(anObject)</a></b><br>
2908 <b><a href=#List-appendSeq(aList1, aList2, ...) >appendSeq(aList1, aList2, ...)</a></b><br>
2909 <b><a href=#List-asMap >asMap </a></b><br>
2910 <b><a href=#List-asMessage Converts each element in the list to unnamed messages >asMessage Converts each element in the list to unnamed messages </a></b><br>
2911 <b><a href=#List-at(index) >at(index)</a></b><br>
2912 <b><a href=#List-atInsert(index, anObject) >atInsert(index, anObject)</a></b><br>
2913 <b><a href=#List-atPut(index, anObject) >atPut(index, anObject)</a></b><br>
2914 <b><a href=#List-average >average </a></b><br>
2915 <b><a href=#List-capacity >capacity</a></b><br>
2916 <b><a href=#List-contains(anObject) >contains(anObject)</a></b><br>
2917 <b><a href=#List-containsAll(list) >containsAll(list)</a></b><br>
2918 <b><a href=#List-containsAny(list) >containsAny(list)</a></b><br>
2919 <b><a href=#List-containsIdenticalTo(anObject) >containsIdenticalTo(anObject)</a></b><br>
2920 <b><a href=#List-cusor >cusor </a></b><br>
2921 <b><a href=#List-detect(optionalIndex, value, message) >detect(optionalIndex, value, message)</a></b><br>
2922 <b><a href=#List-difference(list) >difference(list)</a></b><br>
2923 <b><a href=#List-empty >empty</a></b><br>
2924 <b><a href=#List-first(optionalSize) >first(optionalSize)</a></b><br>
2925 <b><a href=#List-flatten >flatten </a></b><br>
2926 <b><a href=#List-foreach(optionalIndex, value, message) >foreach(optionalIndex, value, message)</a></b><br>
2927 <b><a href=#List-indexOf(anObject) >indexOf(anObject)</a></b><br>
2928 <b><a href=#List-insertAfter(item, afterItem) >insertAfter(item, afterItem) </a></b><br>
2929 <b><a href=#List-insertAt(item, index) >insertAt(item, index)</a></b><br>
2930 <b><a href=#List-insertBefore(item, beforeItem) >insertBefore(item, beforeItem)</a></b><br>
2931 <b><a href=#List-intersect(list) >intersect(list)</a></b><br>
2932 <b><a href=#List-join(optionalString) >join(optionalString) </a></b><br>
2933 <b><a href=#List-last(optionalSize) >last(optionalSize)</a></b><br>
2934 <b><a href=#List-map(optionalIndex, value, message) >map(optionalIndex, value, message)</a></b><br>
2935 <b><a href=#List-pop >pop</a></b><br>
2936 <b><a href=#List-preallocateToSize(aNumber) >preallocateToSize(aNumber)</a></b><br>
2937 <b><a href=#List-prepend(anObject1, anObject2, ...) >prepend(anObject1, anObject2, ...)</a></b><br>
2938 <b><a href=#List-push(anObject1, anObject2, ...) >push(anObject1, anObject2, ...)</a></b><br>
2939 <b><a href=#List-reduce >reduce </a></b><br>
2940 <b><a href=#List-remove(anObject, ...) >remove(anObject, ...)</a></b><br>
2941 <b><a href=#List-removeAt(index) >removeAt(index)</a></b><br>
2942 <b><a href=#List-removeFirst >removeFirst </a></b><br>
2943 <b><a href=#List-removeLast >removeLast </a></b><br>
2944 <b><a href=#List-removeSeq >removeSeq </a></b><br>
2945 <b><a href=#List-reverse >reverse</a></b><br>
2946 <b><a href=#List-reverseForeach(index, value, message) >reverseForeach(index, value, message)</a></b><br>
2947 <b><a href=#List-reverseReduce >reverseReduce </a></b><br>
2948 <b><a href=#List-select(optionalIndex, value, message)", >select(optionalIndex, value, message)",</a></b><br>
2949 <b><a href=#List-setSize >setSize</a></b><br>
2950 <b><a href=#List-shuffle >shuffle </a></b><br>
2951 <b><a href=#List-size >size</a></b><br>
2952 <b><a href=#List-slice(startIndex, endIndex) >slice(startIndex, endIndex)</a></b><br>
2953 <b><a href=#List-sliceInPlace(startIndex, endIndex) >sliceInPlace(startIndex, endIndex)</a></b><br>
2954 <b><a href=#List-sortBy(aBlock) >sortBy(aBlock)</a></b><br>
2955 <b><a href=#List-sortInPlace(optionalExpression) >sortInPlace(optionalExpression)</a></b><br>
2956 <b><a href=#List-sum >sum </a></b><br>
2957 <b><a href=#List-swapIndices(index1, index2) >swapIndices(index1, index2)</a></b><br>
2958 <b><a href=#List-union(list) >union(list)</a></b><br>
2959 <b><a href=#List-unique >unique </a></b><br>
2960 <b><a href=#List-uniqueCount >uniqueCount </a></b><br>
2961 <b><a href=#List-with(anObject, ...) >with(anObject, ...)</a></b><br>
2962 </div>
2963 <br>
2964 <h3>Slots</h3>
2965 <br>
2966 <b><a name=List-anyOne ><font color=black>anyOne </font></a></b><p>
2967 <div style="width:40em; margin-left:2em">
2968 Returns a random element of the receiver or nil if the receiver is empty.
2970 </font>
2971 </div>
2972 <p><br>
2973 <b><a name=List-append(anObject1, anObject2, ...)><font color=black>append(anObject1, anObject2, ...)</font></a></b><p>
2974 <div style="width:40em; margin-left:2em">
2975 Appends the arguments to the end of the list. Returns self.
2977 </font>
2978 </div>
2979 <p><br>
2980 <b><a name=List-appendIfAbsent(anObject)><font color=black>appendIfAbsent(anObject)</font></a></b><p>
2981 <div style="width:40em; margin-left:2em">
2982 Adds each value not already contained by the receiver, returns self.
2984 </font>
2985 </div>
2986 <p><br>
2987 <b><a name=List-appendSeq(aList1, aList2, ...)><font color=black>appendSeq(aList1, aList2, ...)</font></a></b><p>
2988 <div style="width:40em; margin-left:2em">
2989 Add the items in the lists to the receiver. Returns self.
2991 </font>
2992 </div>
2993 <p><br>
2994 <b><a name=List-asMap ><font color=black>asMap </font></a></b><p>
2995 <div style="width:40em; margin-left:2em">
2996 The reverse of Map asList: converts a list of lists (key-value pairs) into a Map. The first item of each pair list must be a sequence. The second item is the value.
2998 </font>
2999 </div>
3000 <p><br>
3001 <b><a name=List-asMessage Converts each element in the list to unnamed messages ><font color=black>asMessage Converts each element in the list to unnamed messages </font></a></b><p>
3002 <div style="width:40em; margin-left:2em">
3003 with their cached result set to the value of the element (without activating).
3004 Returns an unnamed message whose arguments map 1:1 with the elements (after being converted to messages themselves).
3006 </font>
3007 </div>
3008 <p><br>
3009 <b><a name=List-at(index)><font color=black>at(index)</font></a></b><p>
3010 <div style="width:40em; margin-left:2em">
3011 Returns the value at index. Returns Nil if the index is out of bounds.
3013 </font>
3014 </div>
3015 <p><br>
3016 <b><a name=List-atInsert(index, anObject)><font color=black>atInsert(index, anObject)</font></a></b><p>
3017 <div style="width:40em; margin-left:2em">
3018 Inserts anObject at the index specified by index.
3019 Adds anObject if the index equals the current count of the receiver.
3020 Raises an exception if the index is out of bounds. Returns self.
3022 </font>
3023 </div>
3024 <p><br>
3025 <b><a name=List-atPut(index, anObject)><font color=black>atPut(index, anObject)</font></a></b><p>
3026 <div style="width:40em; margin-left:2em">
3027 Replaces the existing value at index with anObject.
3028 Raises an exception if the index is out of bounds. Returns self.
3030 </font>
3031 </div>
3032 <p><br>
3033 <b><a name=List-average ><font color=black>average </font></a></b><p>
3034 <div style="width:40em; margin-left:2em">
3035 Returns the average of the items.
3037 </font>
3038 </div>
3039 <p><br>
3040 <b><a name=List-capacity><font color=black>capacity</font></a></b><p>
3041 <div style="width:40em; margin-left:2em">
3042 Returns the number of potential elements the receiver can hold before it needs to grow.
3044 </font>
3045 </div>
3046 <p><br>
3047 <b><a name=List-contains(anObject)><font color=black>contains(anObject)</font></a></b><p>
3048 <div style="width:40em; margin-left:2em">
3049 Returns true if the receiver contains anObject, otherwise returns false.
3051 </font>
3052 </div>
3053 <p><br>
3054 <b><a name=List-containsAll(list)><font color=black>containsAll(list)</font></a></b><p>
3055 <div style="width:40em; margin-left:2em">
3056 Returns true the target contains all of the items in the argument list.
3058 </font>
3059 </div>
3060 <p><br>
3061 <b><a name=List-containsAny(list)><font color=black>containsAny(list)</font></a></b><p>
3062 <div style="width:40em; margin-left:2em">
3063 Returns true the target contains any of the items in the argument list.
3065 </font>
3066 </div>
3067 <p><br>
3068 <b><a name=List-containsIdenticalTo(anObject)><font color=black>containsIdenticalTo(anObject)</font></a></b><p>
3069 <div style="width:40em; margin-left:2em">
3070 Returns true if the receiver contains a value identical to anObject, otherwise returns false.
3072 </font>
3073 </div>
3074 <p><br>
3075 <b><a name=List-cusor ><font color=black>cusor </font></a></b><p>
3076 <div style="width:40em; margin-left:2em">
3077 Returns a ListCursor for the receiver.
3079 </font>
3080 </div>
3081 <p><br>
3082 <b><a name=List-detect(optionalIndex, value, message)><font color=black>detect(optionalIndex, value, message)</font></a></b><p>
3083 <div style="width:40em; margin-left:2em">
3084 Returns the first value for which the message evaluates to a non-nil. Example:
3085 <code>list(1, 2, 3, 4) detect(i, v, v > 2)
3086 ==> 3
3088 list(1, 2, 3, 4) detect(v, v > 2)
3089 ==> 3</code>
3091 </font>
3092 </div>
3093 <p><br>
3094 <b><a name=List-difference(list)><font color=black>difference(list)</font></a></b><p>
3095 <div style="width:40em; margin-left:2em">
3096 Returns a new list containing items from the target list which aren't in the argument list.
3098 </font>
3099 </div>
3100 <p><br>
3101 <b><a name=List-empty><font color=black>empty</font></a></b><p>
3102 <div style="width:40em; margin-left:2em">
3103 Removes all items from the receiver.
3105 </font>
3106 </div>
3107 <p><br>
3108 <b><a name=List-first(optionalSize)><font color=black>first(optionalSize)</font></a></b><p>
3109 <div style="width:40em; margin-left:2em">
3110 Returns the first item or Nil if the list is empty.
3111 If optionalSize is provided, that number of the first items in the list are returned.
3113 </font>
3114 </div>
3115 <p><br>
3116 <b><a name=List-flatten ><font color=black>flatten </font></a></b><p>
3117 <div style="width:40em; margin-left:2em">
3118 Creates a new list, with all contained lists flattened into the new list. For example:
3119 <code>
3120 list(1,2,list(3,4,list(5))) flatten
3121 ==> list(1, 2, 3, 4, 5)
3122 </code>
3124 </font>
3125 </div>
3126 <p><br>
3127 <b><a name=List-foreach(optionalIndex, value, message)><font color=black>foreach(optionalIndex, value, message)</font></a></b><p>
3128 <div style="width:40em; margin-left:2em">
3129 Loops over the list values setting the specified index and
3130 value slots and executing the message. Returns the result of the last
3131 execution of the message. Example:
3133 <code>
3134 list(1, 2, 3) foreach(i, v, writeln(i, " = ", v))
3135 list(1, 2, 3) foreach(v, writeln(v))</code>
3137 </font>
3138 </div>
3139 <p><br>
3140 <b><a name=List-indexOf(anObject)><font color=black>indexOf(anObject)</font></a></b><p>
3141 <div style="width:40em; margin-left:2em">
3142 Returns the index of the first occurrence of anObject
3143 in the receiver. Returns Nil if the receiver doesn't contain anObject.
3145 </font>
3146 </div>
3147 <p><br>
3148 <b><a name=List-insertAfter(item, afterItem) ><font color=black>insertAfter(item, afterItem) </font></a></b><p>
3149 <div style="width:40em; margin-left:2em">
3150 Inserts item after first occurance of afterItem and returns self.
3151 If afterItem is not found, item is appended to the end of the list.
3153 </font>
3154 </div>
3155 <p><br>
3156 <b><a name=List-insertAt(item, index)><font color=black>insertAt(item, index)</font></a></b><p>
3157 <div style="width:40em; margin-left:2em">
3158 Inserts item at the specified index. Raises an exception if the index is out of bounds. Returns self.
3160 </font>
3161 </div>
3162 <p><br>
3163 <b><a name=List-insertBefore(item, beforeItem)><font color=black>insertBefore(item, beforeItem)</font></a></b><p>
3164 <div style="width:40em; margin-left:2em">
3165 Inserts item before first occurance of beforeItem or to the end of the list if beforeItem is not found. Returns self.
3167 </font>
3168 </div>
3169 <p><br>
3170 <b><a name=List-intersect(list)><font color=black>intersect(list)</font></a></b><p>
3171 <div style="width:40em; margin-left:2em">
3172 Returns a new list containing the common values from the target and argument lists.
3174 </font>
3175 </div>
3176 <p><br>
3177 <b><a name=List-join(optionalString) ><font color=black>join(optionalString) </font></a></b><p>
3178 <div style="width:40em; margin-left:2em">
3179 Returns a Sequence of the concatenated items with
3180 optionalString between each item or simply the concatenation of the items if no optionalString is supplied.
3182 </font>
3183 </div>
3184 <p><br>
3185 <b><a name=List-last(optionalSize)><font color=black>last(optionalSize)</font></a></b><p>
3186 <div style="width:40em; margin-left:2em">
3187 Returns the last item or Nil if the list is empty.
3188 If optionalSize is provided, that number of the last items in the list are returned.
3190 </font>
3191 </div>
3192 <p><br>
3193 <b><a name=List-map(optionalIndex, value, message)><font color=black>map(optionalIndex, value, message)</font></a></b><p>
3194 <div style="width:40em; margin-left:2em">
3195 Same as calling mapInPlace() on a clone of the receiver, but more efficient.
3197 </font>
3198 </div>
3199 <p><br>
3200 <b><a name=List-pop><font color=black>pop</font></a></b><p>
3201 <div style="width:40em; margin-left:2em">
3202 Returns the last item in the list and removes it
3203 from the receiver. Returns nil if the receiver is empty.
3205 </font>
3206 </div>
3207 <p><br>
3208 <b><a name=List-preallocateToSize(aNumber)><font color=black>preallocateToSize(aNumber)</font></a></b><p>
3209 <div style="width:40em; margin-left:2em">
3210 Preallocates array memory to hold aNumber number of items.
3212 </font>
3213 </div>
3214 <p><br>
3215 <b><a name=List-prepend(anObject1, anObject2, ...)><font color=black>prepend(anObject1, anObject2, ...)</font></a></b><p>
3216 <div style="width:40em; margin-left:2em">
3217 Inserts the values at the beginning of the list. Returns self.
3219 </font>
3220 </div>
3221 <p><br>
3222 <b><a name=List-push(anObject1, anObject2, ...)><font color=black>push(anObject1, anObject2, ...)</font></a></b><p>
3223 <div style="width:40em; margin-left:2em">
3224 Same as add(anObject1, anObject2, ...).
3226 </font>
3227 </div>
3228 <p><br>
3229 <b><a name=List-reduce ><font color=black>reduce </font></a></b><p>
3230 <div style="width:40em; margin-left:2em">
3231 Also known as foldl or inject. Combines values in target start on the left. reduce(+) or reduce(x, y, x + y).
3233 </font>
3234 </div>
3235 <p><br>
3236 <b><a name=List-remove(anObject, ...)><font color=black>remove(anObject, ...)</font></a></b><p>
3237 <div style="width:40em; margin-left:2em">
3238 Removes all occurrences of the arguments from the receiver. Returns self.
3240 </font>
3241 </div>
3242 <p><br>
3243 <b><a name=List-removeAt(index)><font color=black>removeAt(index)</font></a></b><p>
3244 <div style="width:40em; margin-left:2em">
3245 Removes the item at the specified index and returns the value removed.
3246 Raises an exception if the index is out of bounds.
3248 </font>
3249 </div>
3250 <p><br>
3251 <b><a name=List-removeFirst ><font color=black>removeFirst </font></a></b><p>
3252 <div style="width:40em; margin-left:2em">
3253 Returns the first item and removes it from the list. nil is returned if the list is empty.
3255 </font>
3256 </div>
3257 <p><br>
3258 <b><a name=List-removeLast ><font color=black>removeLast </font></a></b><p>
3259 <div style="width:40em; margin-left:2em">
3260 Returns the last item and removes it from the list. nil is returned if the list is empty.
3262 </font>
3263 </div>
3264 <p><br>
3265 <b><a name=List-removeSeq ><font color=black>removeSeq </font></a></b><p>
3266 <div style="width:40em; margin-left:2em">
3267 Removes each of the items from the current list which are contained in the sequence passed in.
3269 </font>
3270 </div>
3271 <p><br>
3272 <b><a name=List-reverse><font color=black>reverse</font></a></b><p>
3273 <div style="width:40em; margin-left:2em">
3274 Reverses the ordering of all the items in the receiver. Returns self.
3276 </font>
3277 </div>
3278 <p><br>
3279 <b><a name=List-reverseForeach(index, value, message)><font color=black>reverseForeach(index, value, message)</font></a></b><p>
3280 <div style="width:40em; margin-left:2em">
3281 Same as foreach, but in reverse order.
3283 </font>
3284 </div>
3285 <p><br>
3286 <b><a name=List-reverseReduce ><font color=black>reverseReduce </font></a></b><p>
3287 <div style="width:40em; margin-left:2em">
3288 Also known as foldr and inject. Combines values in target starting on the right. reverseReduce(+) or reverseReduce(x, y, x + y).
3290 </font>
3291 </div>
3292 <p><br>
3293 <b><a name=List-select(optionalIndex, value, message)",><font color=black>select(optionalIndex, value, message)",</font></a></b><p>
3294 <div style="width:40em; margin-left:2em">
3295 "Like foreach, but the values for which the result of
3296 message are non-nil are returned in a new List. Example:
3297 <code>list(1, 5, 7, 2) select(i, v, v > 3) print
3298 ==> 5, 7
3300 list(1, 5, 7, 2) select(v, v > 3) print
3301 ==> 5, 7</code>
3303 </font>
3304 </div>
3305 <p><br>
3306 <b><a name=List-setSize><font color=black>setSize</font></a></b><p>
3307 <div style="width:40em; margin-left:2em">
3308 Sets the size of the receiver by either removing excess items or adding nils as needed.
3310 </font>
3311 </div>
3312 <p><br>
3313 <b><a name=List-shuffle ><font color=black>shuffle </font></a></b><p>
3314 <div style="width:40em; margin-left:2em">
3315 Randomizes the order of the elements in the receiver. Returns self.
3317 </font>
3318 </div>
3319 <p><br>
3320 <b><a name=List-size><font color=black>size</font></a></b><p>
3321 <div style="width:40em; margin-left:2em">
3322 Returns the number of items in the receiver.
3324 </font>
3325 </div>
3326 <p><br>
3327 <b><a name=List-slice(startIndex, endIndex)><font color=black>slice(startIndex, endIndex)</font></a></b><p>
3328 <div style="width:40em; margin-left:2em">
3329 Returns a new string containing the subset of the
3330 receiver from the startIndex to the endIndex. The endIndex argument
3331 is optional. If not given, it is assumed to be the end of the string.
3333 </font>
3334 </div>
3335 <p><br>
3336 <b><a name=List-sliceInPlace(startIndex, endIndex)><font color=black>sliceInPlace(startIndex, endIndex)</font></a></b><p>
3337 <div style="width:40em; margin-left:2em">
3338 Returns the receiver containing the subset of the
3339 receiver from the startIndex to the endIndex. The endIndex argument
3340 is optional. If not given, it is assumed to be the end of the string.
3342 </font>
3343 </div>
3344 <p><br>
3345 <b><a name=List-sortBy(aBlock)><font color=black>sortBy(aBlock)</font></a></b><p>
3346 <div style="width:40em; margin-left:2em">
3347 Sort the list using aBlock as the compare function. Returns self.
3349 </font>
3350 </div>
3351 <p><br>
3352 <b><a name=List-sortInPlace(optionalExpression)><font color=black>sortInPlace(optionalExpression)</font></a></b><p>
3353 <div style="width:40em; margin-left:2em">
3354 Sorts the list using the compare method on the items. Returns self.
3355 If an optionalExpression is provided, the sort is done on the result of the evaluation
3356 of the optionalExpression on each value.
3358 </font>
3359 </div>
3360 <p><br>
3361 <b><a name=List-sum ><font color=black>sum </font></a></b><p>
3362 <div style="width:40em; margin-left:2em">
3363 Returns the sum of the items.
3365 </font>
3366 </div>
3367 <p><br>
3368 <b><a name=List-swapIndices(index1, index2)><font color=black>swapIndices(index1, index2)</font></a></b><p>
3369 <div style="width:40em; margin-left:2em">
3370 Exchanges the object at index1 with the object at index2.
3371 Raises an exception if either index is out of bounds. Returns self.
3373 </font>
3374 </div>
3375 <p><br>
3376 <b><a name=List-union(list)><font color=black>union(list)</font></a></b><p>
3377 <div style="width:40em; margin-left:2em">
3378 Returns a new list containing items from the target and items which are only in the argument list.
3380 </font>
3381 </div>
3382 <p><br>
3383 <b><a name=List-unique ><font color=black>unique </font></a></b><p>
3384 <div style="width:40em; margin-left:2em">
3385 Returns a new list containing all the values in the target, but no duplicates.
3387 </font>
3388 </div>
3389 <p><br>
3390 <b><a name=List-uniqueCount ><font color=black>uniqueCount </font></a></b><p>
3391 <div style="width:40em; margin-left:2em">
3392 Returns a list of list(value, count) for each unique value in self.
3394 </font>
3395 </div>
3396 <p><br>
3397 <b><a name=List-with(anObject, ...)><font color=black>with(anObject, ...)</font></a></b><p>
3398 <div style="width:40em; margin-left:2em">
3399 Returns a new List containing the arguments.
3401 </font>
3402 </div>
3403 <p><br>
3404 </ul>
3405 <br>
3406 <hr align=left>
3407 <br>
3408 <h2><a name=Map><font color=black>Map</font></a></h2>
3409 <ul style="width:40em">
3410 <b><font color=#000>Protos:</font></b> Object
3411 <h3>Description</h3>
3412 A key/value dictionary appropriate for holding large key/value collections.
3414 </font>
3415 <h3>Slot Index</h3>
3416 <div style="width:40em; margin-left:2em">
3417 <b><a href=#Map-asList >asList </a></b><br>
3418 <b><a href=#Map-at(keyString, optionalDefaultValue) >at(keyString, optionalDefaultValue)</a></b><br>
3419 <b><a href=#Map-atIfAbsentPut(keyString, aValue) >atIfAbsentPut(keyString, aValue)</a></b><br>
3420 <b><a href=#Map-atPut(keyString, aValue) >atPut(keyString, aValue)</a></b><br>
3421 <b><a href=#Map-empty >empty</a></b><br>
3422 <b><a href=#Map-foreach(optionalKey, value, message) >foreach(optionalKey, value, message)</a></b><br>
3423 <b><a href=#Map-hasKey(keyString) >hasKey(keyString)</a></b><br>
3424 <b><a href=#Map-hasValue(aValue) >hasValue(aValue)</a></b><br>
3425 <b><a href=#Map-keys >keys</a></b><br>
3426 <b><a href=#Map-removeAt(keyString) >removeAt(keyString)</a></b><br>
3427 <b><a href=#Map-size >size</a></b><br>
3428 <b><a href=#Map-values >values</a></b><br>
3429 </div>
3430 <br>
3431 <h3>Slots</h3>
3432 <br>
3433 <b><a name=Map-asList ><font color=black>asList </font></a></b><p>
3434 <div style="width:40em; margin-left:2em">
3435 Converts a Map to a list of lists. Each element in the returned list will be a list of two elements: the key, and the value.
3437 </font>
3438 </div>
3439 <p><br>
3440 <b><a name=Map-at(keyString, optionalDefaultValue)><font color=black>at(keyString, optionalDefaultValue)</font></a></b><p>
3441 <div style="width:40em; margin-left:2em">
3442 Returns the value for the key keyString. Returns nil if the key is absent.
3444 </font>
3445 </div>
3446 <p><br>
3447 <b><a name=Map-atIfAbsentPut(keyString, aValue)><font color=black>atIfAbsentPut(keyString, aValue)</font></a></b><p>
3448 <div style="width:40em; margin-left:2em">
3449 If a value is present at the specified key, the value is returned.
3450 Otherwise, inserts/sets aValue and returns aValue.
3452 </font>
3453 </div>
3454 <p><br>
3455 <b><a name=Map-atPut(keyString, aValue)><font color=black>atPut(keyString, aValue)</font></a></b><p>
3456 <div style="width:40em; margin-left:2em">
3457 Inserts/sets aValue with the key keyString. Returns self.
3459 </font>
3460 </div>
3461 <p><br>
3462 <b><a name=Map-empty><font color=black>empty</font></a></b><p>
3463 <div style="width:40em; margin-left:2em">
3464 Removes all keys from the receiver. Returns self.
3466 </font>
3467 </div>
3468 <p><br>
3469 <b><a name=Map-foreach(optionalKey, value, message)><font color=black>foreach(optionalKey, value, message)</font></a></b><p>
3470 <div style="width:40em; margin-left:2em">
3471 For each key value pair, sets the locals key to
3472 the key and value to the value and executes message.
3473 Example:
3474 <code> aMap foreach(k, v, writeln(k, " = ", v))
3475 aMap foreach(v, write(v))</code>
3477 Example use with a block:
3479 <code> myBlock = block(k, v, write(k, " = ", v, "\n"))
3480 aMap foreach(k, v, myBlock(k, v))</code>
3482 </font>
3483 </div>
3484 <p><br>
3485 <b><a name=Map-hasKey(keyString)><font color=black>hasKey(keyString)</font></a></b><p>
3486 <div style="width:40em; margin-left:2em">
3487 Returns true if the key is present or false otherwise.
3489 </font>
3490 </div>
3491 <p><br>
3492 <b><a name=Map-hasValue(aValue)><font color=black>hasValue(aValue)</font></a></b><p>
3493 <div style="width:40em; margin-left:2em">
3494 Returns true if the value is one of the Map's values or false otherwise.
3496 </font>
3497 </div>
3498 <p><br>
3499 <b><a name=Map-keys><font color=black>keys</font></a></b><p>
3500 <div style="width:40em; margin-left:2em">
3501 Returns a List of the receivers keys.
3503 </font>
3504 </div>
3505 <p><br>
3506 <b><a name=Map-removeAt(keyString)><font color=black>removeAt(keyString)</font></a></b><p>
3507 <div style="width:40em; margin-left:2em">
3508 Removes the specified keyString if present. Returns self.
3510 </font>
3511 </div>
3512 <p><br>
3513 <b><a name=Map-size><font color=black>size</font></a></b><p>
3514 <div style="width:40em; margin-left:2em">
3515 Returns the number of key/value pairs in the receiver.
3517 </font>
3518 </div>
3519 <p><br>
3520 <b><a name=Map-values><font color=black>values</font></a></b><p>
3521 <div style="width:40em; margin-left:2em">
3522 Returns a List of the receivers values.
3524 </font>
3525 </div>
3526 <p><br>
3527 </ul>
3528 <br>
3529 <hr align=left>
3530 <br>
3531 <h2><a name=Message><font color=black>Message</font></a></h2>
3532 <ul style="width:40em">
3533 <b><font color=#000>Protos:</font></b> Object
3534 <h3>Description</h3>
3535 A Message object encapsulates the action of a message send.
3536 Blocks are composed of a Message and its children.
3538 Terminology
3539 <code>
3540 Example;
3541 A B(C D); E F
3542 In the above example:
3544 </code>
3545 Important; Modifying the message tree of a block currently in use may cause
3546 a crash if a garbage collection cycle occurs. If the implementation were
3547 changed to retain every called message, this could be avoided.
3548 But the cost to performance seems to outweigh the need to cover this case for now.
3550 </font>
3551 <h3>Slot Index</h3>
3552 <div style="width:40em; margin-left:2em">
3553 <b><a href=#Message-appendArg(aMessage) >appendArg(aMessage)</a></b><br>
3554 <b><a href=#Message-appendCachedArg(aValue) >appendCachedArg(aValue)</a></b><br>
3555 <b><a href=#Message-argAt(indexNumber) >argAt(indexNumber)</a></b><br>
3556 <b><a href=#Message-argCount >argCount</a></b><br>
3557 <b><a href=#Message-argsEvaluatedIn(anObject) >argsEvaluatedIn(anObject)</a></b><br>
3558 <b><a href=#Message-arguments >arguments</a></b><br>
3559 <b><a href=#Message-asString >asString</a></b><br>
3560 <b><a href=#Message-cachedResult >cachedResult</a></b><br>
3561 <b><a href=#Message-characterNumber >characterNumber</a></b><br>
3562 <b><a href=#Message-clone >clone</a></b><br>
3563 <b><a href=#Message-code >code</a></b><br>
3564 <b><a href=#Message-doInContext(anObject, locals) >doInContext(anObject, locals)</a></b><br>
3565 <b><a href=#Message-evaluatedArgs >evaluatedArgs</a></b><br>
3566 <b><a href=#Message-fromString(aString) >fromString(aString)</a></b><br>
3567 <b><a href=#Message-hasCachedResult >hasCachedResult</a></b><br>
3568 <b><a href=#Message-isEndOfLine >isEndOfLine</a></b><br>
3569 <b><a href=#Message-label >label</a></b><br>
3570 <b><a href=#Message-last >last</a></b><br>
3571 <b><a href=#Message-lastBeforeEndOfLine >lastBeforeEndOfLine</a></b><br>
3572 <b><a href=#Message-lineNumber >lineNumber</a></b><br>
3573 <b><a href=#Message-name >name</a></b><br>
3574 <b><a href=#Message-next >next</a></b><br>
3575 <b><a href=#Message-nextIgnoreEndOfLines >nextIgnoreEndOfLines</a></b><br>
3576 <b><a href=#Message-previous >previous</a></b><br>
3577 <b><a href=#Message-removeCachedResult >removeCachedResult</a></b><br>
3578 <b><a href=#Message-setArguments(aListOfMessages) >setArguments(aListOfMessages)</a></b><br>
3579 <b><a href=#Message-setCachedResult(anObject) >setCachedResult(anObject)</a></b><br>
3580 <b><a href=#Message-setCharacterNumber(aNumber) >setCharacterNumber(aNumber)</a></b><br>
3581 <b><a href=#Message-setLabel(aString) >setLabel(aString)</a></b><br>
3582 <b><a href=#Message-setLineNumber(aNumber) >setLineNumber(aNumber)</a></b><br>
3583 <b><a href=#Message-setName(aString) >setName(aString)</a></b><br>
3584 <b><a href=#Message-setNextMessage(aMessageOrNil) >setNextMessage(aMessageOrNil)</a></b><br>
3585 <b><a href=#Message-setPrevious(aMessageOrNil) >setPrevious(aMessageOrNil)</a></b><br>
3586 <b><a href=#Message-union(other) Creates a union of the receiver and the other parameter. >union(other) Creates a union of the receiver and the other parameter. </a></b><br>
3587 </div>
3588 <br>
3589 <h3>Slots</h3>
3590 <br>
3591 <b><a name=Message-appendArg(aMessage)><font color=black>appendArg(aMessage)</font></a></b><p>
3592 <div style="width:40em; margin-left:2em">
3593 Adds aMessage to the argument list of receiver. Examples,
3594 <code>
3595 Io> message(a) appendArg(message(b))
3596 ==> a(b)
3598 Io> message(a(1,2)) appendArg(message(3))
3599 ==> a(1, 2, 3)
3600 </code>
3602 </font>
3603 </div>
3604 <p><br>
3605 <b><a name=Message-appendCachedArg(aValue)><font color=black>appendCachedArg(aValue)</font></a></b><p>
3606 <div style="width:40em; margin-left:2em">
3607 Adds aValue to the argument list of receiver as a cachedResult.
3609 </font>
3610 </div>
3611 <p><br>
3612 <b><a name=Message-argAt(indexNumber)><font color=black>argAt(indexNumber)</font></a></b><p>
3613 <div style="width:40em; margin-left:2em">
3614 Returns Message object for the specified argument or Nil if none exists.
3616 </font>
3617 </div>
3618 <p><br>
3619 <b><a name=Message-argCount><font color=black>argCount</font></a></b><p>
3620 <div style="width:40em; margin-left:2em">
3621 Returns the number of arguments this message has. A faster way to do, msg arguments size. Examples,
3622 <code>
3623 Io> message(a(1,2,3)) argCount
3624 ==> 3
3626 Io> message(a) argCount
3627 ==> 0
3628 </code>
3630 </font>
3631 </div>
3632 <p><br>
3633 <b><a name=Message-argsEvaluatedIn(anObject)><font color=black>argsEvaluatedIn(anObject)</font></a></b><p>
3634 <div style="width:40em; margin-left:2em">
3635 Returns a List containing the argument messages evaluated in the
3636 context of anObject.
3638 </font>
3639 </div>
3640 <p><br>
3641 <b><a name=Message-arguments><font color=black>arguments</font></a></b><p>
3642 <div style="width:40em; margin-left:2em">
3643 Returns a list of the message objects that act as the
3644 receiver's arguments. Modifying this list will not alter the actual
3645 list of arguments. Use the arguments_() method to do that.
3647 </font>
3648 </div>
3649 <p><br>
3650 <b><a name=Message-asString><font color=black>asString</font></a></b><p>
3651 <div style="width:40em; margin-left:2em">
3652 Same as code().
3654 </font>
3655 </div>
3656 <p><br>
3657 <b><a name=Message-cachedResult><font color=black>cachedResult</font></a></b><p>
3658 <div style="width:40em; margin-left:2em">
3659 Returns the cached result of the Message or Nil if there is none.
3661 </font>
3662 </div>
3663 <p><br>
3664 <b><a name=Message-characterNumber><font color=black>characterNumber</font></a></b><p>
3665 <div style="width:40em; margin-left:2em">
3666 Returns the message character number. The charcter number is typically
3667 the beggining character index in the source text from with the message was read.
3669 </font>
3670 </div>
3671 <p><br>
3672 <b><a name=Message-clone><font color=black>clone</font></a></b><p>
3673 <div style="width:40em; margin-left:2em">
3674 Returns a Message that is a deep copy of the receiver.
3676 </font>
3677 </div>
3678 <p><br>
3679 <b><a name=Message-code><font color=black>code</font></a></b><p>
3680 <div style="width:40em; margin-left:2em">
3681 Returns a String containing a decompiled code representation of the receiver.
3683 </font>
3684 </div>
3685 <p><br>
3686 <b><a name=Message-doInContext(anObject, locals)><font color=black>doInContext(anObject, locals)</font></a></b><p>
3687 <div style="width:40em; margin-left:2em">
3688 Evaluates the receiver in the context of anObject.
3690 </font>
3691 </div>
3692 <p><br>
3693 <b><a name=Message-evaluatedArgs><font color=black>evaluatedArgs</font></a></b><p>
3694 <div style="width:40em; margin-left:2em">
3695 Returns a List containing the argument messages evaluated in the context.
3697 </font>
3698 </div>
3699 <p><br>
3700 <b><a name=Message-fromString(aString)><font color=black>fromString(aString)</font></a></b><p>
3701 <div style="width:40em; margin-left:2em">
3702 Returns a new Message object for the compiled(but not executed)
3703 result of aString.
3705 </font>
3706 </div>
3707 <p><br>
3708 <b><a name=Message-hasCachedResult><font color=black>hasCachedResult</font></a></b><p>
3709 <div style="width:40em; margin-left:2em">
3710 Returns true if there is a cached result. Nil is a valid cached result.
3712 </font>
3713 </div>
3714 <p><br>
3715 <b><a name=Message-isEndOfLine><font color=black>isEndOfLine</font></a></b><p>
3716 <div style="width:40em; margin-left:2em">
3717 Returns true if the message marks the end of the line. A ';' message.
3719 </font>
3720 </div>
3721 <p><br>
3722 <b><a name=Message-label><font color=black>label</font></a></b><p>
3723 <div style="width:40em; margin-left:2em">
3724 Returns the message label. The label is typically set the the
3725 name of the file from which the source code for the message was read.
3727 </font>
3728 </div>
3729 <p><br>
3730 <b><a name=Message-last><font color=black>last</font></a></b><p>
3731 <div style="width:40em; margin-left:2em">
3732 Returns the last message in the chain.
3734 </font>
3735 </div>
3736 <p><br>
3737 <b><a name=Message-lastBeforeEndOfLine><font color=black>lastBeforeEndOfLine</font></a></b><p>
3738 <div style="width:40em; margin-left:2em">
3739 Returns the last message in the chain before the EndOfLine or nil.
3741 </font>
3742 </div>
3743 <p><br>
3744 <b><a name=Message-lineNumber><font color=black>lineNumber</font></a></b><p>
3745 <div style="width:40em; margin-left:2em">
3746 Returns the line number of the message. The charcter number
3747 is typically the line number in the source text from with the message was read.
3749 </font>
3750 </div>
3751 <p><br>
3752 <b><a name=Message-name><font color=black>name</font></a></b><p>
3753 <div style="width:40em; margin-left:2em">
3754 Returns the name of the receiver.
3756 </font>
3757 </div>
3758 <p><br>
3759 <b><a name=Message-next><font color=black>next</font></a></b><p>
3760 <div style="width:40em; margin-left:2em">
3761 Returns the next message in the message chain or nil if there is no next message.
3763 </font>
3764 </div>
3765 <p><br>
3766 <b><a name=Message-nextIgnoreEndOfLines><font color=black>nextIgnoreEndOfLines</font></a></b><p>
3767 <div style="width:40em; margin-left:2em">
3768 Returns the next message in the message chain which is not an
3769 EndOfLine or nil if there is no next message.
3771 </font>
3772 </div>
3773 <p><br>
3774 <b><a name=Message-previous><font color=black>previous</font></a></b><p>
3775 <div style="width:40em; margin-left:2em">
3776 Returns the previous message in the message chain or Nil if there is no previous message.
3778 </font>
3779 </div>
3780 <p><br>
3781 <b><a name=Message-removeCachedResult><font color=black>removeCachedResult</font></a></b><p>
3782 <div style="width:40em; margin-left:2em">
3783 Removes the cached result of the Message.
3785 </font>
3786 </div>
3787 <p><br>
3788 <b><a name=Message-setArguments(aListOfMessages)><font color=black>setArguments(aListOfMessages)</font></a></b><p>
3789 <div style="width:40em; margin-left:2em">
3790 Sets the arguments of the receiver to deep copies of
3791 those contained in aListOfMessages. Returns self.
3793 </font>
3794 </div>
3795 <p><br>
3796 <b><a name=Message-setCachedResult(anObject)><font color=black>setCachedResult(anObject)</font></a></b><p>
3797 <div style="width:40em; margin-left:2em">
3798 Sets the cached result of the message. Returns self.
3800 </font>
3801 </div>
3802 <p><br>
3803 <b><a name=Message-setCharacterNumber(aNumber)><font color=black>setCharacterNumber(aNumber)</font></a></b><p>
3804 <div style="width:40em; margin-left:2em">
3805 Sets the character number of the message. Returns self.
3807 </font>
3808 </div>
3809 <p><br>
3810 <b><a name=Message-setLabel(aString)><font color=black>setLabel(aString)</font></a></b><p>
3811 <div style="width:40em; margin-left:2em">
3812 Sets the label of the message and its children. Returns self.
3814 </font>
3815 </div>
3816 <p><br>
3817 <b><a name=Message-setLineNumber(aNumber)><font color=black>setLineNumber(aNumber)</font></a></b><p>
3818 <div style="width:40em; margin-left:2em">
3819 Sets the line number of the message. Returns self.
3821 </font>
3822 </div>
3823 <p><br>
3824 <b><a name=Message-setName(aString)><font color=black>setName(aString)</font></a></b><p>
3825 <div style="width:40em; margin-left:2em">
3826 Sets the name of the receiver. Returns self.
3828 </font>
3829 </div>
3830 <p><br>
3831 <b><a name=Message-setNextMessage(aMessageOrNil)><font color=black>setNextMessage(aMessageOrNil)</font></a></b><p>
3832 <div style="width:40em; margin-left:2em">
3833 Sets the next message in the message chain to a deep copy of
3834 aMessage or it removes the next message if aMessage is nil.
3836 </font>
3837 </div>
3838 <p><br>
3839 <b><a name=Message-setPrevious(aMessageOrNil)><font color=black>setPrevious(aMessageOrNil)</font></a></b><p>
3840 <div style="width:40em; margin-left:2em">
3841 Sets the previous message in the message chain to a deep copy of
3842 aMessage or it removes the previous message if aMessage is Nil.
3844 </font>
3845 </div>
3846 <p><br>
3847 <b><a name=Message-union(other) Creates a union of the receiver and the other parameter. ><font color=black>union(other) Creates a union of the receiver and the other parameter. </font></a></b><p>
3848 <div style="width:40em; margin-left:2em">
3849 Returns a new message object with the receivers message as the first argument of the returned message,
3850 and the other parameter's arguments as each successive argument to the new message.
3852 </font>
3853 </div>
3854 <p><br>
3855 </ul>
3856 <br>
3857 <hr align=left>
3858 <br>
3859 <h2><a name=MutableSequence><font color=black>MutableSequence</font></a></h2>
3860 <ul style="width:40em">
3861 <b><font color=#000>Protos:</font></b> Object
3862 <h3>Slot Index</h3>
3863 <div style="width:40em; margin-left:2em">
3864 <b><a href=#MutableSequence-Lowercase >Lowercase</a></b><br>
3865 <b><a href=#MutableSequence-append(aNumber) >append(aNumber)</a></b><br>
3866 <b><a href=#MutableSequence-appendPathSeq(aSeq) >appendPathSeq(aSeq)</a></b><br>
3867 <b><a href=#MutableSequence-appendSeq(object1, object2, ...) >appendSeq(object1, object2, ...)</a></b><br>
3868 <b><a href=#MutableSequence-atInsertSeq(indexNumber, object) >atInsertSeq(indexNumber, object)</a></b><br>
3869 <b><a href=#MutableSequence-atPut(aNumberIndex, aNumber) >atPut(aNumberIndex, aNumber)</a></b><br>
3870 <b><a href=#MutableSequence-capitalize >capitalize</a></b><br>
3871 <b><a href=#MutableSequence-clear >clear</a></b><br>
3872 <b><a href=#MutableSequence-clipAfterSeq(aSequence) >clipAfterSeq(aSequence)</a></b><br>
3873 <b><a href=#MutableSequence-clipAfterStartOfSeq(aSequence) >clipAfterStartOfSeq(aSequence)</a></b><br>
3874 <b><a href=#MutableSequence-clipBeforeEndOfSeq(aSequence) >clipBeforeEndOfSeq(aSequence)</a></b><br>
3875 <b><a href=#MutableSequence-clipBeforeSeq(aSequence) >clipBeforeSeq(aSequence)</a></b><br>
3876 <b><a href=#MutableSequence-copy(aSequence) >copy(aSequence)</a></b><br>
3877 <b><a href=#MutableSequence-duplicateIndexes >duplicateIndexes</a></b><br>
3878 <b><a href=#MutableSequence-escape >escape</a></b><br>
3879 <b><a href=#MutableSequence-interpolateInPlace(optionalContext) >interpolateInPlace(optionalContext)</a></b><br>
3880 <b><a href=#MutableSequence-lstrip(aSequence) >lstrip(aSequence)</a></b><br>
3881 <b><a href=#MutableSequence-preallocateToSize(aNumber) >preallocateToSize(aNumber)</a></b><br>
3882 <b><a href=#MutableSequence-removeAt(index) >removeAt(index)</a></b><br>
3883 <b><a href=#MutableSequence-removeEvenIndexes >removeEvenIndexes</a></b><br>
3884 <b><a href=#MutableSequence-removeLast >removeLast</a></b><br>
3885 <b><a href=#MutableSequence-removeOddIndexes >removeOddIndexes</a></b><br>
3886 <b><a href=#MutableSequence-removePrefix(aSequence) >removePrefix(aSequence)</a></b><br>
3887 <b><a href=#MutableSequence-removeSeq(aSequence) >removeSeq(aSequence)</a></b><br>
3888 <b><a href=#MutableSequence-removeSlice(startIndex, endIndex) >removeSlice(startIndex, endIndex)</a></b><br>
3889 <b><a href=#MutableSequence-removeSuffix(aSequence) >removeSuffix(aSequence)</a></b><br>
3890 <b><a href=#MutableSequence-replaceFirstSeq(aSequence, anotherSequence, optionalStartIndex) >replaceFirstSeq(aSequence, anotherSequence, optionalStartIndex)</a></b><br>
3891 <b><a href=#MutableSequence-replaceMap(aMap) >replaceMap(aMap)</a></b><br>
3892 <b><a href=#MutableSequence-replaceSeq(aSequence, anotherSequence) >replaceSeq(aSequence, anotherSequence)</a></b><br>
3893 <b><a href=#MutableSequence-reverse >reverse</a></b><br>
3894 <b><a href=#MutableSequence-rstrip(aSequence) >rstrip(aSequence)</a></b><br>
3895 <b><a href=#MutableSequence-setEncoding(encodingName) >setEncoding(encodingName)</a></b><br>
3896 <b><a href=#MutableSequence-setItemType(aTypeName) >setItemType(aTypeName)</a></b><br>
3897 <b><a href=#MutableSequence-setSize(aNumber) >setSize(aNumber)</a></b><br>
3898 <b><a href=#MutableSequence-strip(optionalSequence) >strip(optionalSequence)</a></b><br>
3899 <b><a href=#MutableSequence-translate(fromChars, toChars) >translate(fromChars, toChars)</a></b><br>
3900 <b><a href=#MutableSequence-unescape >unescape</a></b><br>
3901 <b><a href=#MutableSequence-uppercase >uppercase</a></b><br>
3902 </div>
3903 <br>
3904 <h3>Slots</h3>
3905 <br>
3906 <b><a name=MutableSequence-Lowercase><font color=black>Lowercase</font></a></b><p>
3907 <div style="width:40em; margin-left:2em">
3908 Returns a copy of the receiver with all characters made Lowercase.
3910 </font>
3911 </div>
3912 <p><br>
3913 <b><a name=MutableSequence-append(aNumber)><font color=black>append(aNumber)</font></a></b><p>
3914 <div style="width:40em; margin-left:2em">
3915 Appends aNumber (cast to a byte) to the receiver. Returns self.
3917 </font>
3918 </div>
3919 <p><br>
3920 <b><a name=MutableSequence-appendPathSeq(aSeq)><font color=black>appendPathSeq(aSeq)</font></a></b><p>
3921 <div style="width:40em; margin-left:2em">
3922 Appends argument to the receiver such that there is one
3923 and only one path separator between the two. Returns self.
3925 </font>
3926 </div>
3927 <p><br>
3928 <b><a name=MutableSequence-appendSeq(object1, object2, ...)><font color=black>appendSeq(object1, object2, ...)</font></a></b><p>
3929 <div style="width:40em; margin-left:2em">
3930 Calls asString on the arguments and appends the string to the receiver. Returns self.
3932 </font>
3933 </div>
3934 <p><br>
3935 <b><a name=MutableSequence-atInsertSeq(indexNumber, object)><font color=black>atInsertSeq(indexNumber, object)</font></a></b><p>
3936 <div style="width:40em; margin-left:2em">
3937 Calls asString on object and inserts the string at position indexNumber. Returns self.
3939 </font>
3940 </div>
3941 <p><br>
3942 <b><a name=MutableSequence-atPut(aNumberIndex, aNumber)><font color=black>atPut(aNumberIndex, aNumber)</font></a></b><p>
3943 <div style="width:40em; margin-left:2em">
3944 Sets the value at the index specified by aNumberIndex to aNumber. Returns self.
3946 </font>
3947 </div>
3948 <p><br>
3949 <b><a name=MutableSequence-capitalize><font color=black>capitalize</font></a></b><p>
3950 <div style="width:40em; margin-left:2em">
3951 First charater of the receiver is made uppercase.
3953 </font>
3954 </div>
3955 <p><br>
3956 <b><a name=MutableSequence-clear><font color=black>clear</font></a></b><p>
3957 <div style="width:40em; margin-left:2em">
3958 Sets all bytes in the receiver to 0x0 and sets
3959 it's length to 0. Returns self.
3961 </font>
3962 </div>
3963 <p><br>
3964 <b><a name=MutableSequence-clipAfterSeq(aSequence)><font color=black>clipAfterSeq(aSequence)</font></a></b><p>
3965 <div style="width:40em; margin-left:2em">
3966 Removes the contents of the receiver after the end of
3967 the first occurance of aSequence. Returns true if anything was
3968 removed, or false otherwise.
3970 </font>
3971 </div>
3972 <p><br>
3973 <b><a name=MutableSequence-clipAfterStartOfSeq(aSequence)><font color=black>clipAfterStartOfSeq(aSequence)</font></a></b><p>
3974 <div style="width:40em; margin-left:2em">
3975 Removes the contents of the receiver after the beginning of
3976 the first occurance of aSequence. Returns true if anything was
3977 removed, or false otherwise.
3979 </font>
3980 </div>
3981 <p><br>
3982 <b><a name=MutableSequence-clipBeforeEndOfSeq(aSequence)><font color=black>clipBeforeEndOfSeq(aSequence)</font></a></b><p>
3983 <div style="width:40em; margin-left:2em">
3984 Removes the contents of the receiver before the end of
3985 the first occurance of aSequence. Returns true if anything was
3986 removed, or false otherwise.
3988 </font>
3989 </div>
3990 <p><br>
3991 <b><a name=MutableSequence-clipBeforeSeq(aSequence)><font color=black>clipBeforeSeq(aSequence)</font></a></b><p>
3992 <div style="width:40em; margin-left:2em">
3993 Clips receiver before aSequence.
3995 </font>
3996 </div>
3997 <p><br>
3998 <b><a name=MutableSequence-copy(aSequence)><font color=black>copy(aSequence)</font></a></b><p>
3999 <div style="width:40em; margin-left:2em">
4000 Replaces the bytes of the receiver with a copy of those in aSequence. Returns self.
4002 </font>
4003 </div>
4004 <p><br>
4005 <b><a name=MutableSequence-duplicateIndexes><font color=black>duplicateIndexes</font></a></b><p>
4006 <div style="width:40em; margin-left:2em">
4007 Duplicates all indexes in the receiver.
4008 For example, list(1,2,3) duplicateIndexes == list(1,1,2,2,3,3). Returns self.")
4010 </font>
4011 </div>
4012 <p><br>
4013 <b><a name=MutableSequence-escape><font color=black>escape</font></a></b><p>
4014 <div style="width:40em; margin-left:2em">
4015 Escape characters in the receiver are replaced with escape codes.
4016 For example a string containing a single return character would contain the
4017 following 2 characters after being escaped: "\n". Returns self.
4019 </font>
4020 </div>
4021 <p><br>
4022 <b><a name=MutableSequence-interpolateInPlace(optionalContext)><font color=black>interpolateInPlace(optionalContext)</font></a></b><p>
4023 <div style="width:40em; margin-left:2em">
4024 Replaces all #{expression} with expression evaluated in the optionalContext.
4025 If optionalContext not given, the current context is used. Returns self.
4027 </font>
4028 </div>
4029 <p><br>
4030 <b><a name=MutableSequence-lstrip(aSequence)><font color=black>lstrip(aSequence)</font></a></b><p>
4031 <div style="width:40em; margin-left:2em">
4032 Strips the characters in aSequence
4033 stripped from the beginning of the receiver. Example:
4034 <code>
4035 "Keep the tail" lstrip(" eKp")
4036 ==> "the tail"
4037 </code>
4039 </font>
4040 </div>
4041 <p><br>
4042 <b><a name=MutableSequence-preallocateToSize(aNumber)><font color=black>preallocateToSize(aNumber)</font></a></b><p>
4043 <div style="width:40em; margin-left:2em">
4044 If needed, resize the memory alloced for the receivers
4045 byte array to be large enough to fit the number of bytes specified by
4046 aNumber. This is useful for pio_reallocating the memory so it doesn't
4047 keep getting allocated as the Sequence is appended to. This operation
4048 will not change the Sequence's length or contents. Returns self.
4050 </font>
4051 </div>
4052 <p><br>
4053 <b><a name=MutableSequence-removeAt(index)><font color=black>removeAt(index)</font></a></b><p>
4054 <div style="width:40em; margin-left:2em">
4055 Removes the item at index. Returns self.
4057 </font>
4058 </div>
4059 <p><br>
4060 <b><a name=MutableSequence-removeEvenIndexes><font color=black>removeEvenIndexes</font></a></b><p>
4061 <div style="width:40em; margin-left:2em">
4062 Removes even indexes in the receiver.
4063 For example, list(1,2,3) removeEvenIndexes == list(1, 3). Returns self.
4065 </font>
4066 </div>
4067 <p><br>
4068 <b><a name=MutableSequence-removeLast><font color=black>removeLast</font></a></b><p>
4069 <div style="width:40em; margin-left:2em">
4070 Removes the last element from the receiver. Returns self.
4072 </font>
4073 </div>
4074 <p><br>
4075 <b><a name=MutableSequence-removeOddIndexes><font color=black>removeOddIndexes</font></a></b><p>
4076 <div style="width:40em; margin-left:2em">
4077 Removes odd indexes in the receiver.
4078 For example, list(1,2,3) removeOddIndexes == list(2). Returns self.
4080 </font>
4081 </div>
4082 <p><br>
4083 <b><a name=MutableSequence-removePrefix(aSequence)><font color=black>removePrefix(aSequence)</font></a></b><p>
4084 <div style="width:40em; margin-left:2em">
4085 If the receiver begins with aSequence, it is removed. Returns self.
4087 </font>
4088 </div>
4089 <p><br>
4090 <b><a name=MutableSequence-removeSeq(aSequence)><font color=black>removeSeq(aSequence)</font></a></b><p>
4091 <div style="width:40em; margin-left:2em">
4092 Removes occurances of aSequence from the receiver.
4094 </font>
4095 </div>
4096 <p><br>
4097 <b><a name=MutableSequence-removeSlice(startIndex, endIndex)><font color=black>removeSlice(startIndex, endIndex)</font></a></b><p>
4098 <div style="width:40em; margin-left:2em">
4099 Removes the items from startIndex to endIndex.
4100 Returns self.
4102 </font>
4103 </div>
4104 <p><br>
4105 <b><a name=MutableSequence-removeSuffix(aSequence)><font color=black>removeSuffix(aSequence)</font></a></b><p>
4106 <div style="width:40em; margin-left:2em">
4107 If the receiver end with aSequence, it is removed. Returns self.
4109 </font>
4110 </div>
4111 <p><br>
4112 <b><a name=MutableSequence-replaceFirstSeq(aSequence, anotherSequence, optionalStartIndex)><font color=black>replaceFirstSeq(aSequence, anotherSequence, optionalStartIndex)</font></a></b><p>
4113 <div style="width:40em; margin-left:2em">
4114 Returns a new Sequence with the first occurance of aSequence
4115 replaced with anotherSequence in the receiver. If optionalStartIndex is
4116 provided, the search for aSequence begins at that index. Returns self.
4118 </font>
4119 </div>
4120 <p><br>
4121 <b><a name=MutableSequence-replaceMap(aMap)><font color=black>replaceMap(aMap)</font></a></b><p>
4122 <div style="width:40em; margin-left:2em">
4123 In the receiver, the keys of aMap replaced with it's values. Returns self.
4125 </font>
4126 </div>
4127 <p><br>
4128 <b><a name=MutableSequence-replaceSeq(aSequence, anotherSequence)><font color=black>replaceSeq(aSequence, anotherSequence)</font></a></b><p>
4129 <div style="width:40em; margin-left:2em">
4130 Returns a new Sequence with all occurances of aSequence
4131 replaced with anotherSequence in the receiver. Returns self.
4133 </font>
4134 </div>
4135 <p><br>
4136 <b><a name=MutableSequence-reverse><font color=black>reverse</font></a></b><p>
4137 <div style="width:40em; margin-left:2em">
4138 Reverses the bytes in the receiver, in-place.
4140 </font>
4141 </div>
4142 <p><br>
4143 <b><a name=MutableSequence-rstrip(aSequence)><font color=black>rstrip(aSequence)</font></a></b><p>
4144 <div style="width:40em; margin-left:2em">
4145 Strips the characters in
4146 aSequence stripped from the end of the receiver. Example:
4147 <code>
4148 "Cut the tail off" rstrip(" afilot")
4149 ==> "Cut the"
4150 </code>
4152 </font>
4153 </div>
4154 <p><br>
4155 <b><a name=MutableSequence-setEncoding(encodingName)><font color=black>setEncoding(encodingName)</font></a></b><p>
4156 <div style="width:40em; margin-left:2em">
4157 Sets the encoding flag of the receiver (only the encoding flag,
4158 itemSize and itemType will change, no conversion is done between UTF
4159 encodings - you can use convertToUTF8, etc methods for conversions).
4160 Valid encodings are number, utf8, utf16, and utf32. Returns self.
4162 </font>
4163 </div>
4164 <p><br>
4165 <b><a name=MutableSequence-setItemType(aTypeName)><font color=black>setItemType(aTypeName)</font></a></b><p>
4166 <div style="width:40em; margin-left:2em">
4167 Sets the underlying machine type for the elements.
4168 Valid names are uint8, uint16, uint32, uint64, int8, int16, int32,
4169 int64, float32, and float64. Note that 64 bit types are only available
4170 on platforms that support such types. Returns self.
4172 </font>
4173 </div>
4174 <p><br>
4175 <b><a name=MutableSequence-setSize(aNumber)><font color=black>setSize(aNumber)</font></a></b><p>
4176 <div style="width:40em; margin-left:2em">
4177 Sets the length in bytes of the receiver to aNumber. Return self.
4179 </font>
4180 </div>
4181 <p><br>
4182 <b><a name=MutableSequence-strip(optionalSequence)><font color=black>strip(optionalSequence)</font></a></b><p>
4183 <div style="width:40em; margin-left:2em">
4184 Trims the whitespace (or optionalSequence) off both ends:
4186 <code>
4187 " Trim this string \r\n" strip
4188 ==> "Trim this string"
4189 </code>
4191 </font>
4192 </div>
4193 <p><br>
4194 <b><a name=MutableSequence-translate(fromChars, toChars)><font color=black>translate(fromChars, toChars)</font></a></b><p>
4195 <div style="width:40em; margin-left:2em">
4196 In the receiver, the characters in fromChars are replaced with those in the same positions in toChars. Returns self.
4198 </font>
4199 </div>
4200 <p><br>
4201 <b><a name=MutableSequence-unescape><font color=black>unescape</font></a></b><p>
4202 <div style="width:40em; margin-left:2em">
4203 Escape codes replaced with escape characters. Returns self.
4205 </font>
4206 </div>
4207 <p><br>
4208 <b><a name=MutableSequence-uppercase><font color=black>uppercase</font></a></b><p>
4209 <div style="width:40em; margin-left:2em">
4210 Makes all characters of the receiver uppercase.
4212 </font>
4213 </div>
4214 <p><br>
4215 </ul>
4216 <br>
4217 <hr align=left>
4218 <br>
4219 <h2><a name=Number><font color=black>Number</font></a></h2>
4220 <ul style="width:40em">
4221 <b><font color=#000>Protos:</font></b> Object
4222 <h3>Description</h3>
4223 A container for a double (a 64bit floating point number on most platforms).
4225 </font>
4226 <h3>Slot Index</h3>
4227 <div style="width:40em; margin-left:2em">
4228 <b><a href=#Number-%(aNumber) >%(aNumber)</a></b><br>
4229 <b><a href=#Number-&(aNumber) >&(aNumber)</a></b><br>
4230 <b><a href=#Number-*(aNumber) >*(aNumber)</a></b><br>
4231 <b><a href=#Number-**(aNumber) >**(aNumber)</a></b><br>
4232 <b><a href=#Number-+(aNumber) >+(aNumber)</a></b><br>
4233 <b><a href=#Number--(aNumber) >-(aNumber)</a></b><br>
4234 <b><a href=#Number-/(aNumber) >/(aNumber)</a></b><br>
4235 <b><a href=#Number-^(aNumber) >^(aNumber)</a></b><br>
4236 <b><a href=#Number-abs >abs</a></b><br>
4237 <b><a href=#Number-acos >acos</a></b><br>
4238 <b><a href=#Number-asBinary >asBinary </a></b><br>
4239 <b><a href=#Number-asBuffer(optionalNumberOfBytes) >asBuffer(optionalNumberOfBytes)</a></b><br>
4240 <b><a href=#Number-asCharacter >asCharacter</a></b><br>
4241 <b><a href=#Number-asHex >asHex </a></b><br>
4242 <b><a href=#Number-asLowercase >asLowercase</a></b><br>
4243 <b><a href=#Number-asNumber >asNumber</a></b><br>
4244 <b><a href=#Number-asOctal >asOctal </a></b><br>
4245 <b><a href=#Number-asString(optionalIntegerDigits, optionalFactionDigits) >asString(optionalIntegerDigits, optionalFactionDigits)</a></b><br>
4246 <b><a href=#Number-asUint32Buffer >asUint32Buffer</a></b><br>
4247 <b><a href=#Number-asUppercase >asUppercase</a></b><br>
4248 <b><a href=#Number-asin >asin</a></b><br>
4249 <b><a href=#Number-at(bitIndexNumber) >at(bitIndexNumber)</a></b><br>
4250 <b><a href=#Number-atan >atan</a></b><br>
4251 <b><a href=#Number-atan2(aNumber) >atan2(aNumber)</a></b><br>
4252 <b><a href=#Number-between(aNumber1, aNumber2) >between(aNumber1, aNumber2)</a></b><br>
4253 <b><a href=#Number-bitwiseAnd(aNumber) >bitwiseAnd(aNumber)</a></b><br>
4254 <b><a href=#Number-bitwiseComplement >bitwiseComplement</a></b><br>
4255 <b><a href=#Number-bitwiseOr(aNumber) >bitwiseOr(aNumber)</a></b><br>
4256 <b><a href=#Number-bitwiseXor(aNumber) >bitwiseXor(aNumber)</a></b><br>
4257 <b><a href=#Number-ceil >ceil</a></b><br>
4258 <b><a href=#Number-clip(aNumber1, aNumber2) >clip(aNumber1, aNumber2)</a></b><br>
4259 <b><a href=#Number-combinations(size) >combinations(size)</a></b><br>
4260 <b><a href=#Number-constants >constants </a></b><br>
4261 <b><a href=#Number-cos >cos</a></b><br>
4262 <b><a href=#Number-cubed >cubed</a></b><br>
4263 <b><a href=#Number-days >days </a></b><br>
4264 <b><a href=#Number-doubleMin >doubleMin</a></b><br>
4265 <b><a href=#Number-e >e </a></b><br>
4266 <b><a href=#Number-exp >exp</a></b><br>
4267 <b><a href=#Number-factorial >factorial</a></b><br>
4268 <b><a href=#Number-floatMax >floatMax</a></b><br>
4269 <b><a href=#Number-floatMin >floatMin</a></b><br>
4270 <b><a href=#Number-floor >floor</a></b><br>
4271 <b><a href=#Number-hours >hours </a></b><br>
4272 <b><a href=#Number-inf >inf </a></b><br>
4273 <b><a href=#Number-integerMax >integerMax</a></b><br>
4274 <b><a href=#Number-integerMin >integerMin</a></b><br>
4275 <b><a href=#Number-isAlphaNumeric >isAlphaNumeric</a></b><br>
4276 <b><a href=#Number-isControlCharacter >isControlCharacter</a></b><br>
4277 <b><a href=#Number-isDigit >isDigit</a></b><br>
4278 <b><a href=#Number-isEven >isEven</a></b><br>
4279 <b><a href=#Number-isGraph >isGraph</a></b><br>
4280 <b><a href=#Number-isHexDigit >isHexDigit</a></b><br>
4281 <b><a href=#Number-isInASequenceSet >isInASequenceSet </a></b><br>
4282 <b><a href=#Number-isLetter >isLetter</a></b><br>
4283 <b><a href=#Number-isLowercase >isLowercase</a></b><br>
4284 <b><a href=#Number-isNan >isNan</a></b><br>
4285 <b><a href=#Number-isOdd >isOdd</a></b><br>
4286 <b><a href=#Number-isPrint >isPrint</a></b><br>
4287 <b><a href=#Number-isPunctuation >isPunctuation</a></b><br>
4288 <b><a href=#Number-isSpace >isSpace</a></b><br>
4289 <b><a href=#Number-isUppercase >isUppercase</a></b><br>
4290 <b><a href=#Number-log >log</a></b><br>
4291 <b><a href=#Number-log10 >log10</a></b><br>
4292 <b><a href=#Number-log2 >log2</a></b><br>
4293 <b><a href=#Number-longMax >longMax</a></b><br>
4294 <b><a href=#Number-longMin >longMin</a></b><br>
4295 <b><a href=#Number-max(aNumber) >max(aNumber)</a></b><br>
4296 <b><a href=#Number-min(aNumber) >min(aNumber)</a></b><br>
4297 <b><a href=#Number-minMax(low, high) >minMax(low, high)</a></b><br>
4298 <b><a href=#Number-minutes >minutes </a></b><br>
4299 <b><a href=#Number-mod(aNumber) >mod(aNumber)</a></b><br>
4300 <b><a href=#Number-nan >nan </a></b><br>
4301 <b><a href=#Number-negate >negate</a></b><br>
4302 <b><a href=#Number-permutations(size) >permutations(size)</a></b><br>
4303 <b><a href=#Number-pi >pi </a></b><br>
4304 <b><a href=#Number-pow(aNumber) >pow(aNumber)</a></b><br>
4305 <b><a href=#Number-print >print</a></b><br>
4306 <b><a href=#Number-repeat(optionalIndex, expression) >repeat(optionalIndex, expression)</a></b><br>
4307 <b><a href=#Number-round >round</a></b><br>
4308 <b><a href=#Number-roundDown >roundDown</a></b><br>
4309 <b><a href=#Number-seconds >seconds </a></b><br>
4310 <b><a href=#Number-shiftLeft(aNumber) >shiftLeft(aNumber)</a></b><br>
4311 <b><a href=#Number-shiftRight(aNumber) >shiftRight(aNumber)</a></b><br>
4312 <b><a href=#Number-shortMax >shortMax</a></b><br>
4313 <b><a href=#Number-shortMin >shortMin</a></b><br>
4314 <b><a href=#Number-sin >sin</a></b><br>
4315 <b><a href=#Number-sqrt >sqrt</a></b><br>
4316 <b><a href=#Number-squared >squared</a></b><br>
4317 <b><a href=#Number-tan >tan</a></b><br>
4318 <b><a href=#Number-toggle >toggle</a></b><br>
4319 <b><a href=#Number-unsignedIntMax >unsignedIntMax</a></b><br>
4320 <b><a href=#Number-unsignedLongMax >unsignedLongMax</a></b><br>
4321 <b><a href=#Number-unsignedShortMax >unsignedShortMax</a></b><br>
4322 <b><a href=#Number-years Returns Duration of receiver's years. >years Returns Duration of receiver's years.</a></b><br>
4323 <b><a href=#Number-|(aNumber) >|(aNumber)</a></b><br>
4324 </div>
4325 <br>
4326 <h3>Slots</h3>
4327 <br>
4328 <b><a name=Number-%(aNumber)><font color=black>%(aNumber)</font></a></b><p>
4329 <div style="width:40em; margin-left:2em">
4330 Returns the receiver modulus aNumber.
4332 </font>
4333 </div>
4334 <p><br>
4335 <b><a name=Number-&(aNumber)><font color=black>&(aNumber)</font></a></b><p>
4336 <div style="width:40em; margin-left:2em">
4337 Returns a new number with the bitwise AND of the receiver and aNumber.
4339 </font>
4340 </div>
4341 <p><br>
4342 <b><a name=Number-*(aNumber)><font color=black>*(aNumber)</font></a></b><p>
4343 <div style="width:40em; margin-left:2em">
4344 Returns a new number that is the product of the receiver and aNumber.
4346 </font>
4347 </div>
4348 <p><br>
4349 <b><a name=Number-**(aNumber)><font color=black>**(aNumber)</font></a></b><p>
4350 <div style="width:40em; margin-left:2em">
4351 Same as pow(aNumber).
4353 </font>
4354 </div>
4355 <p><br>
4356 <b><a name=Number-+(aNumber)><font color=black>+(aNumber)</font></a></b><p>
4357 <div style="width:40em; margin-left:2em">
4358 Returns a new number that is the sum of the receiver and aNumber.
4360 </font>
4361 </div>
4362 <p><br>
4363 <b><a name=Number--(aNumber)><font color=black>-(aNumber)</font></a></b><p>
4364 <div style="width:40em; margin-left:2em">
4365 Returns a new number that is the difference of the receiver and aNumber.
4367 </font>
4368 </div>
4369 <p><br>
4370 <b><a name=Number-/(aNumber)><font color=black>/(aNumber)</font></a></b><p>
4371 <div style="width:40em; margin-left:2em">
4372 Returns a new number with the value of the receiver diveded by aNumber.
4374 </font>
4375 </div>
4376 <p><br>
4377 <b><a name=Number-^(aNumber)><font color=black>^(aNumber)</font></a></b><p>
4378 <div style="width:40em; margin-left:2em">
4379 Returns the bitwise xor with the receiver (both numbers are converted to longs for the operation).
4381 </font>
4382 </div>
4383 <p><br>
4384 <b><a name=Number-abs><font color=black>abs</font></a></b><p>
4385 <div style="width:40em; margin-left:2em">
4386 Returns a number with the absolute value of the receiver.
4388 </font>
4389 </div>
4390 <p><br>
4391 <b><a name=Number-acos><font color=black>acos</font></a></b><p>
4392 <div style="width:40em; margin-left:2em">
4393 Returns a number with the arc cosine of the receiver.
4395 </font>
4396 </div>
4397 <p><br>
4398 <b><a name=Number-asBinary ><font color=black>asBinary </font></a></b><p>
4399 <div style="width:40em; margin-left:2em">
4400 Returns the number as binary digits inside a string. 42 asBinary -> "101010"
4402 </font>
4403 </div>
4404 <p><br>
4405 <b><a name=Number-asBuffer(optionalNumberOfBytes)><font color=black>asBuffer(optionalNumberOfBytes)</font></a></b><p>
4406 <div style="width:40em; margin-left:2em">
4407 Returns a Buffer containing a the number of bytes specified by
4408 optionalNumberOfBytes (up to the size of a double on the platform) of the reciever.
4409 If no optionalNumberOfBytes is specified, it is assumed to be the number of bytes
4410 in a double on the host platform.
4412 </font>
4413 </div>
4414 <p><br>
4415 <b><a name=Number-asCharacter><font color=black>asCharacter</font></a></b><p>
4416 <div style="width:40em; margin-left:2em">
4417 Returns a String containing a single character whose
4418 value is the ascii value of the first byte of the receiver.
4420 </font>
4421 </div>
4422 <p><br>
4423 <b><a name=Number-asHex ><font color=black>asHex </font></a></b><p>
4424 <div style="width:40em; margin-left:2em">
4425 Returns the number as hex digits inside a string. 97 asHex -> "61"
4427 </font>
4428 </div>
4429 <p><br>
4430 <b><a name=Number-asLowercase><font color=black>asLowercase</font></a></b><p>
4431 <div style="width:40em; margin-left:2em">
4432 Returns a new Number containing a lower case version of the receiver.
4434 </font>
4435 </div>
4436 <p><br>
4437 <b><a name=Number-asNumber><font color=black>asNumber</font></a></b><p>
4438 <div style="width:40em; margin-left:2em">
4439 Returns self.
4441 </font>
4442 </div>
4443 <p><br>
4444 <b><a name=Number-asOctal ><font color=black>asOctal </font></a></b><p>
4445 <div style="width:40em; margin-left:2em">
4446 Returns the number as octal digits inside a string. 436 asOctal -> "664"
4448 </font>
4449 </div>
4450 <p><br>
4451 <b><a name=Number-asString(optionalIntegerDigits, optionalFactionDigits)><font color=black>asString(optionalIntegerDigits, optionalFactionDigits)</font></a></b><p>
4452 <div style="width:40em; margin-left:2em">
4453 Returns a string representation of the receiver. For example:
4454 <code> 1234.5678 asString(0, 2)</code>
4455 would return:
4456 <code> $1234.56</code>
4458 </font>
4459 </div>
4460 <p><br>
4461 <b><a name=Number-asUint32Buffer><font color=black>asUint32Buffer</font></a></b><p>
4462 <div style="width:40em; margin-left:2em">
4463 Returns a Sequence containing a 4 byte representation of the uint32 value of the receiver.
4465 </font>
4466 </div>
4467 <p><br>
4468 <b><a name=Number-asUppercase><font color=black>asUppercase</font></a></b><p>
4469 <div style="width:40em; margin-left:2em">
4470 Returns a new Number containing a upper case version of the receiver.
4472 </font>
4473 </div>
4474 <p><br>
4475 <b><a name=Number-asin><font color=black>asin</font></a></b><p>
4476 <div style="width:40em; margin-left:2em">
4477 Returns a number with the arc sine of the receiver.
4479 </font>
4480 </div>
4481 <p><br>
4482 <b><a name=Number-at(bitIndexNumber)><font color=black>at(bitIndexNumber)</font></a></b><p>
4483 <div style="width:40em; margin-left:2em">
4484 Returns a new Number containing 1 if the receiver cast to a long
4485 has it's bit set to 1 at bitIndexNumber. Otherwise returns 0.
4487 </font>
4488 </div>
4489 <p><br>
4490 <b><a name=Number-atan><font color=black>atan</font></a></b><p>
4491 <div style="width:40em; margin-left:2em">
4492 Returns a number with the arc tangent of the receiver.
4494 </font>
4495 </div>
4496 <p><br>
4497 <b><a name=Number-atan2(aNumber)><font color=black>atan2(aNumber)</font></a></b><p>
4498 <div style="width:40em; margin-left:2em">
4499 Returns a number with the arc tangent of y/x where y is the receiver and x is aNumber.
4501 </font>
4502 </div>
4503 <p><br>
4504 <b><a name=Number-between(aNumber1, aNumber2)><font color=black>between(aNumber1, aNumber2)</font></a></b><p>
4505 <div style="width:40em; margin-left:2em">
4506 Returns the true if the receiver's value is between or
4507 equal to aNumber1 and aNumber2, otherwise returns false.
4509 </font>
4510 </div>
4511 <p><br>
4512 <b><a name=Number-bitwiseAnd(aNumber)><font color=black>bitwiseAnd(aNumber)</font></a></b><p>
4513 <div style="width:40em; margin-left:2em">
4514 Returns a new number with the bitwise AND of the receiver and aNumber.
4516 </font>
4517 </div>
4518 <p><br>
4519 <b><a name=Number-bitwiseComplement><font color=black>bitwiseComplement</font></a></b><p>
4520 <div style="width:40em; margin-left:2em">
4521 Returns a new number with the bitwise complement of the
4522 receiver. (Turns the 0 bits of become 1s and the 1 bits become 0s. )
4524 </font>
4525 </div>
4526 <p><br>
4527 <b><a name=Number-bitwiseOr(aNumber)><font color=black>bitwiseOr(aNumber)</font></a></b><p>
4528 <div style="width:40em; margin-left:2em">
4529 Returns a new number with the bitwise AND of the receiver and aNumber.
4531 </font>
4532 </div>
4533 <p><br>
4534 <b><a name=Number-bitwiseXor(aNumber)><font color=black>bitwiseXor(aNumber)</font></a></b><p>
4535 <div style="width:40em; margin-left:2em">
4536 Returns a new number with the bitwise XOR of the receiver and aNumber.
4538 </font>
4539 </div>
4540 <p><br>
4541 <b><a name=Number-ceil><font color=black>ceil</font></a></b><p>
4542 <div style="width:40em; margin-left:2em">
4543 Returns the a number with the receiver's value rounded up to
4544 the nearest integer if it's fractional component is greater than 0.
4546 </font>
4547 </div>
4548 <p><br>
4549 <b><a name=Number-clip(aNumber1, aNumber2)><font color=black>clip(aNumber1, aNumber2)</font></a></b><p>
4550 <div style="width:40em; margin-left:2em">
4551 Returns self if the receiver is between aNumber1 and aNumber2.
4552 Returns aNumber1 if it is less than aNumber1. Returns aNumber2 if it is greater than aNumber2.
4554 </font>
4555 </div>
4556 <p><br>
4557 <b><a name=Number-combinations(size)><font color=black>combinations(size)</font></a></b><p>
4558 <div style="width:40em; margin-left:2em">
4559 Returns the combinations where the receiver is the number of different objects and size is the number to be arranged.
4561 </font>
4562 </div>
4563 <p><br>
4564 <b><a name=Number-constants ><font color=black>constants </font></a></b><p>
4565 <div style="width:40em; margin-left:2em">
4566 Object containing number constants e, inf, nan and pi.
4568 </font>
4569 </div>
4570 <p><br>
4571 <b><a name=Number-cos><font color=black>cos</font></a></b><p>
4572 <div style="width:40em; margin-left:2em">
4573 Returns the cosine of the receiver.
4575 </font>
4576 </div>
4577 <p><br>
4578 <b><a name=Number-cubed><font color=black>cubed</font></a></b><p>
4579 <div style="width:40em; margin-left:2em">
4580 Returns the cube of the receiver.
4582 </font>
4583 </div>
4584 <p><br>
4585 <b><a name=Number-days ><font color=black>days </font></a></b><p>
4586 <div style="width:40em; margin-left:2em">
4587 Returns Duration of receiver's days. See `years' for a few examples.
4589 </font>
4590 </div>
4591 <p><br>
4592 <b><a name=Number-doubleMin><font color=black>doubleMin</font></a></b><p>
4593 <div style="width:40em; margin-left:2em">
4594 Returns the minimum double precision float value.
4596 </font>
4597 </div>
4598 <p><br>
4599 <b><a name=Number-e ><font color=black>e </font></a></b><p>
4600 <div style="width:40em; margin-left:2em">
4601 Returns the constant e.
4603 </font>
4604 </div>
4605 <p><br>
4606 <b><a name=Number-exp><font color=black>exp</font></a></b><p>
4607 <div style="width:40em; margin-left:2em">
4608 Returns e to the power of the receiver.
4610 </font>
4611 </div>
4612 <p><br>
4613 <b><a name=Number-factorial><font color=black>factorial</font></a></b><p>
4614 <div style="width:40em; margin-left:2em">
4615 Returns the factorial of the receiver.
4617 </font>
4618 </div>
4619 <p><br>
4620 <b><a name=Number-floatMax><font color=black>floatMax</font></a></b><p>
4621 <div style="width:40em; margin-left:2em">
4622 Returns the maximum double precision float value.
4624 </font>
4625 </div>
4626 <p><br>
4627 <b><a name=Number-floatMin><font color=black>floatMin</font></a></b><p>
4628 <div style="width:40em; margin-left:2em">
4629 Returns the minimum float value.
4631 </font>
4632 </div>
4633 <p><br>
4634 <b><a name=Number-floor><font color=black>floor</font></a></b><p>
4635 <div style="width:40em; margin-left:2em">
4636 Returns the a number with the receiver's value rounded
4637 down to the nearest integer if it's fractional component is not 0.
4639 </font>
4640 </div>
4641 <p><br>
4642 <b><a name=Number-hours ><font color=black>hours </font></a></b><p>
4643 <div style="width:40em; margin-left:2em">
4644 Returns Duration of receiver's hours. See `years' for a few examples.
4646 </font>
4647 </div>
4648 <p><br>
4649 <b><a name=Number-inf ><font color=black>inf </font></a></b><p>
4650 <div style="width:40em; margin-left:2em">
4651 Returns a not-a-number constant.
4653 </font>
4654 </div>
4655 <p><br>
4656 <b><a name=Number-integerMax><font color=black>integerMax</font></a></b><p>
4657 <div style="width:40em; margin-left:2em">
4658 Returns the maximum integer value.
4660 </font>
4661 </div>
4662 <p><br>
4663 <b><a name=Number-integerMin><font color=black>integerMin</font></a></b><p>
4664 <div style="width:40em; margin-left:2em">
4665 Returns the minimum integer value.
4667 </font>
4668 </div>
4669 <p><br>
4670 <b><a name=Number-isAlphaNumeric><font color=black>isAlphaNumeric</font></a></b><p>
4671 <div style="width:40em; margin-left:2em">
4672 Returns self if the receiver is an alphanumeric
4673 character value. Otherwise returns Nil.
4675 </font>
4676 </div>
4677 <p><br>
4678 <b><a name=Number-isControlCharacter><font color=black>isControlCharacter</font></a></b><p>
4679 <div style="width:40em; margin-left:2em">
4680 Returns self if the receiver is an control
4681 character value. Otherwise returns Nil.
4683 </font>
4684 </div>
4685 <p><br>
4686 <b><a name=Number-isDigit><font color=black>isDigit</font></a></b><p>
4687 <div style="width:40em; margin-left:2em">
4688 Returns self if the receiver is an numeric
4689 digit character value. Otherwise returns Nil.
4691 </font>
4692 </div>
4693 <p><br>
4694 <b><a name=Number-isEven><font color=black>isEven</font></a></b><p>
4695 <div style="width:40em; margin-left:2em">
4696 Returns self if integer form of the receiver is even. Otherwise returns Nil.
4698 </font>
4699 </div>
4700 <p><br>
4701 <b><a name=Number-isGraph><font color=black>isGraph</font></a></b><p>
4702 <div style="width:40em; margin-left:2em">
4703 Returns self if the receiver is a printing character
4704 value except space. Otherwise returns Nil.
4706 </font>
4707 </div>
4708 <p><br>
4709 <b><a name=Number-isHexDigit><font color=black>isHexDigit</font></a></b><p>
4710 <div style="width:40em; margin-left:2em">
4711 Returns self if the receiver is hexidecimal digit
4712 character value. Otherwise returns Nil.
4714 </font>
4715 </div>
4716 <p><br>
4717 <b><a name=Number-isInASequenceSet ><font color=black>isInASequenceSet </font></a></b><p>
4718 <div style="width:40em; margin-left:2em">
4719 Return true if receiver is in one of the Sequence sequenceSets, otherwise false.
4721 </font>
4722 </div>
4723 <p><br>
4724 <b><a name=Number-isLetter><font color=black>isLetter</font></a></b><p>
4725 <div style="width:40em; margin-left:2em">
4726 Returns self if the receiver is an alphanetic character value. Otherwise returns Nil.
4728 </font>
4729 </div>
4730 <p><br>
4731 <b><a name=Number-isLowercase><font color=black>isLowercase</font></a></b><p>
4732 <div style="width:40em; margin-left:2em">
4733 Returns self if the receiver is an lower case
4734 character value. Otherwise returns Nil.
4736 </font>
4737 </div>
4738 <p><br>
4739 <b><a name=Number-isNan><font color=black>isNan</font></a></b><p>
4740 <div style="width:40em; margin-left:2em">
4741 Returns true if the receiver is not a number. Otherwise returns false.
4743 </font>
4744 </div>
4745 <p><br>
4746 <b><a name=Number-isOdd><font color=black>isOdd</font></a></b><p>
4747 <div style="width:40em; margin-left:2em">
4748 Returns self if integer form of the receiver is even. Otherwise returns Nil.
4750 </font>
4751 </div>
4752 <p><br>
4753 <b><a name=Number-isPrint><font color=black>isPrint</font></a></b><p>
4754 <div style="width:40em; margin-left:2em">
4755 Returns self if the receiver is an printing character
4756 value, including space. Otherwise returns Nil.
4758 </font>
4759 </div>
4760 <p><br>
4761 <b><a name=Number-isPunctuation><font color=black>isPunctuation</font></a></b><p>
4762 <div style="width:40em; margin-left:2em">
4763 Returns self if the receiver is an printing character
4764 value, except space letter or digit. Otherwise returns Nil.
4766 </font>
4767 </div>
4768 <p><br>
4769 <b><a name=Number-isSpace><font color=black>isSpace</font></a></b><p>
4770 <div style="width:40em; margin-left:2em">
4771 Returns self if the receiver is a space, formfeed,
4772 newline carriage return, tab or vertical tab character value. Otherwise returns Nil.
4774 </font>
4775 </div>
4776 <p><br>
4777 <b><a name=Number-isUppercase><font color=black>isUppercase</font></a></b><p>
4778 <div style="width:40em; margin-left:2em">
4779 Returns self if the receiver is an upper case
4780 character value. Otherwise returns Nil.
4782 </font>
4783 </div>
4784 <p><br>
4785 <b><a name=Number-log><font color=black>log</font></a></b><p>
4786 <div style="width:40em; margin-left:2em">
4787 Returns the logarithm of the receiver. The base
4788 is taken as the value of the first argument or the constant e if
4789 the first argument is omitted.
4791 </font>
4792 </div>
4793 <p><br>
4794 <b><a name=Number-log10><font color=black>log10</font></a></b><p>
4795 <div style="width:40em; margin-left:2em">
4796 Returns the base 10 logarithm of the receiver.
4798 </font>
4799 </div>
4800 <p><br>
4801 <b><a name=Number-log2><font color=black>log2</font></a></b><p>
4802 <div style="width:40em; margin-left:2em">
4803 Returns the base 2 logarithm of the receiver.
4805 </font>
4806 </div>
4807 <p><br>
4808 <b><a name=Number-longMax><font color=black>longMax</font></a></b><p>
4809 <div style="width:40em; margin-left:2em">
4810 Returns the maximum long value.
4812 </font>
4813 </div>
4814 <p><br>
4815 <b><a name=Number-longMin><font color=black>longMin</font></a></b><p>
4816 <div style="width:40em; margin-left:2em">
4817 Returns the minimum long value.
4819 </font>
4820 </div>
4821 <p><br>
4822 <b><a name=Number-max(aNumber)><font color=black>max(aNumber)</font></a></b><p>
4823 <div style="width:40em; margin-left:2em">
4824 Returns the greater of the receiver and aNumber.
4826 </font>
4827 </div>
4828 <p><br>
4829 <b><a name=Number-min(aNumber)><font color=black>min(aNumber)</font></a></b><p>
4830 <div style="width:40em; margin-left:2em">
4831 Returns the lesser of the receiver and aNumber.
4833 </font>
4834 </div>
4835 <p><br>
4836 <b><a name=Number-minMax(low, high)><font color=black>minMax(low, high)</font></a></b><p>
4837 <div style="width:40em; margin-left:2em">
4838 Returns a number between or equal to low and high. If the receiver is equal to or between low and high, the reciever is returned. If the reciever is less than low, low is returned. If the receiver is greater than high, high is returned.
4840 </font>
4841 </div>
4842 <p><br>
4843 <b><a name=Number-minutes ><font color=black>minutes </font></a></b><p>
4844 <div style="width:40em; margin-left:2em">
4845 Returns Duration of receiver's minutes. See `years' for a few examples.
4847 </font>
4848 </div>
4849 <p><br>
4850 <b><a name=Number-mod(aNumber)><font color=black>mod(aNumber)</font></a></b><p>
4851 <div style="width:40em; margin-left:2em">
4852 Returns the receiver modulus aNumber.
4854 </font>
4855 </div>
4856 <p><br>
4857 <b><a name=Number-nan ><font color=black>nan </font></a></b><p>
4858 <div style="width:40em; margin-left:2em">
4859 Returns a infinity constant.
4861 </font>
4862 </div>
4863 <p><br>
4864 <b><a name=Number-negate><font color=black>negate</font></a></b><p>
4865 <div style="width:40em; margin-left:2em">
4866 Returns new number that is negated version of the receiver.
4868 </font>
4869 </div>
4870 <p><br>
4871 <b><a name=Number-permutations(size)><font color=black>permutations(size)</font></a></b><p>
4872 <div style="width:40em; margin-left:2em">
4873 Returns the permutations where the receiver is the number of different objects and size is the number to be arranged.
4875 </font>
4876 </div>
4877 <p><br>
4878 <b><a name=Number-pi ><font color=black>pi </font></a></b><p>
4879 <div style="width:40em; margin-left:2em">
4880 Returns the constant pi.
4882 </font>
4883 </div>
4884 <p><br>
4885 <b><a name=Number-pow(aNumber)><font color=black>pow(aNumber)</font></a></b><p>
4886 <div style="width:40em; margin-left:2em">
4887 Returns the value of the receiver to the aNumber power.
4889 </font>
4890 </div>
4891 <p><br>
4892 <b><a name=Number-print><font color=black>print</font></a></b><p>
4893 <div style="width:40em; margin-left:2em">
4894 Prints the number.
4896 </font>
4897 </div>
4898 <p><br>
4899 <b><a name=Number-repeat(optionalIndex, expression)><font color=black>repeat(optionalIndex, expression)</font></a></b><p>
4900 <div style="width:40em; margin-left:2em">
4901 Evaluates message a number of times that corresponds to the receivers
4902 integer value. This is significantly faster than a for() or while() loop.
4904 </font>
4905 </div>
4906 <p><br>
4907 <b><a name=Number-round><font color=black>round</font></a></b><p>
4908 <div style="width:40em; margin-left:2em">
4909 Returns the a number with the receiver's value rounded up to
4910 the nearest integer if it's fraction component is >= .5.
4912 </font>
4913 </div>
4914 <p><br>
4915 <b><a name=Number-roundDown><font color=black>roundDown</font></a></b><p>
4916 <div style="width:40em; margin-left:2em">
4917 Returns the a number with the receiver's value rounded down to
4918 the nearest integer if it's fraction component is <= .5.
4920 </font>
4921 </div>
4922 <p><br>
4923 <b><a name=Number-seconds ><font color=black>seconds </font></a></b><p>
4924 <div style="width:40em; margin-left:2em">
4925 Returns Duration of receiver's seconds. See `years' for a few examples.
4927 </font>
4928 </div>
4929 <p><br>
4930 <b><a name=Number-shiftLeft(aNumber)><font color=black>shiftLeft(aNumber)</font></a></b><p>
4931 <div style="width:40em; margin-left:2em">
4932 Shifts the bits of the receiver left by the number of places specified by aNumber.
4934 </font>
4935 </div>
4936 <p><br>
4937 <b><a name=Number-shiftRight(aNumber)><font color=black>shiftRight(aNumber)</font></a></b><p>
4938 <div style="width:40em; margin-left:2em">
4939 Shifts the bits of the receiver right by the number of places specified by aNumber.
4941 </font>
4942 </div>
4943 <p><br>
4944 <b><a name=Number-shortMax><font color=black>shortMax</font></a></b><p>
4945 <div style="width:40em; margin-left:2em">
4946 Returns the maximum short value.
4948 </font>
4949 </div>
4950 <p><br>
4951 <b><a name=Number-shortMin><font color=black>shortMin</font></a></b><p>
4952 <div style="width:40em; margin-left:2em">
4953 Returns the minimum short value.
4955 </font>
4956 </div>
4957 <p><br>
4958 <b><a name=Number-sin><font color=black>sin</font></a></b><p>
4959 <div style="width:40em; margin-left:2em">
4960 Returns the sine of the receiver.
4962 </font>
4963 </div>
4964 <p><br>
4965 <b><a name=Number-sqrt><font color=black>sqrt</font></a></b><p>
4966 <div style="width:40em; margin-left:2em">
4967 Returns the square root of the receiver.
4969 </font>
4970 </div>
4971 <p><br>
4972 <b><a name=Number-squared><font color=black>squared</font></a></b><p>
4973 <div style="width:40em; margin-left:2em">
4974 Returns the square of the receiver.
4976 </font>
4977 </div>
4978 <p><br>
4979 <b><a name=Number-tan><font color=black>tan</font></a></b><p>
4980 <div style="width:40em; margin-left:2em">
4981 Returns the tangent of the receiver.
4983 </font>
4984 </div>
4985 <p><br>
4986 <b><a name=Number-toggle><font color=black>toggle</font></a></b><p>
4987 <div style="width:40em; margin-left:2em">
4988 Returns 1 if the receiver is 0. Returns 0 otherwise.
4990 </font>
4991 </div>
4992 <p><br>
4993 <b><a name=Number-unsignedIntMax><font color=black>unsignedIntMax</font></a></b><p>
4994 <div style="width:40em; margin-left:2em">
4995 Returns the maximum unsigned int value.
4997 </font>
4998 </div>
4999 <p><br>
5000 <b><a name=Number-unsignedLongMax><font color=black>unsignedLongMax</font></a></b><p>
5001 <div style="width:40em; margin-left:2em">
5002 Returns the maximum unsigned long value.
5004 </font>
5005 </div>
5006 <p><br>
5007 <b><a name=Number-unsignedShortMax><font color=black>unsignedShortMax</font></a></b><p>
5008 <div style="width:40em; margin-left:2em">
5009 Returns the minimum unsigned int value.
5011 </font>
5012 </div>
5013 <p><br>
5014 <b><a name=Number-years Returns Duration of receiver's years.><font color=black>years Returns Duration of receiver's years.</font></a></b><p>
5015 <div style="width:40em; margin-left:2em">
5017 Example:
5018 <code>
5019 Io> 1 years
5020 ==> 1 years 00 days 00:00:0.000000
5021 Io> 20 years
5022 ==> 20 years 00 days 00:00:0.000000
5023 </code>
5025 With this, you can do things such as:
5026 <code>
5027 Io> Date clone now + 5 years
5028 ==> 2011-11-14 18:44:33 EST
5029 Io> Date clone now + 2 years + 3 days + 22 minutes
5030 ==> 2008-11-17 19:06:54 EST
5031 </code>
5033 </font>
5034 </div>
5035 <p><br>
5036 <b><a name=Number-|(aNumber)><font color=black>|(aNumber)</font></a></b><p>
5037 <div style="width:40em; margin-left:2em">
5038 Returns a new number with the bitwise OR of the receiver and aNumber.
5040 </font>
5041 </div>
5042 <p><br>
5043 </ul>
5044 <br>
5045 <hr align=left>
5046 <br>
5047 <h2><a name=Object><font color=black>Object</font></a></h2>
5048 <ul style="width:40em">
5049 <b><font color=#000>Protos:</font></b> Object
5050 <h3>Description</h3>
5051 An Object is a key/value dictionary with string keys and values of any type.
5052 The prototype Object contains a clone slot that is a CFuntion that creates new objects.
5053 When cloned, an Object will call it's init slot (with no arguments).
5055 </font>
5056 <h3>Slot Index</h3>
5057 <div style="width:40em; margin-left:2em">
5058 <b><a href=#Object-!=(aValue) >!=(aValue)</a></b><br>
5059 <b><a href=#Object-(expression) >(expression)</a></b><br>
5060 <b><a href=#Object--(aNumber) >-(aNumber)</a></b><br>
5061 <b><a href=#Object-..(arg) >..(arg)</a></b><br>
5062 <b><a href=#Object-&lt;(expression) >&lt;(expression)</a></b><br>
5063 <b><a href=#Object-&lt;=(expression) >&lt;=(expression)</a></b><br>
5064 <b><a href=#Object-==(aValue) >==(aValue)</a></b><br>
5065 <b><a href=#Object-&gt;(expression) >&gt;(expression)</a></b><br>
5066 <b><a href=#Object-&gt;=(expression) >&gt;=(expression)</a></b><br>
5067 <b><a href=#Object-?(aMessage) >?(aMessage)</a></b><br>
5068 <b><a href=#Object-ancestorWithSlot(slotName) >ancestorWithSlot(slotName)</a></b><br>
5069 <b><a href=#Object-ancestors >ancestors </a></b><br>
5070 <b><a href=#Object-appendProto(anObject) >appendProto(anObject)</a></b><br>
5071 <b><a href=#Object-break(optionalReturnValue) >break(optionalReturnValue)</a></b><br>
5072 <b><a href=#Object-clone >clone</a></b><br>
5073 <b><a href=#Object-cloneWithoutInit >cloneWithoutInit</a></b><br>
5074 <b><a href=#Object-compact >compact</a></b><br>
5075 <b><a href=#Object-compactState >compactState</a></b><br>
5076 <b><a href=#Object-compare(anObject) >compare(anObject)</a></b><br>
5077 <b><a href=#Object-contextWithSlot(slotName) >contextWithSlot(slotName)</a></b><br>
5078 <b><a href=#Object-continue >continue</a></b><br>
5079 <b><a href=#Object-do(expression) >do(expression)</a></b><br>
5080 <b><a href=#Object-doFile(pathString) >doFile(pathString)</a></b><br>
5081 <b><a href=#Object-doMessage(aMessage, optionalContext) >doMessage(aMessage, optionalContext)</a></b><br>
5082 <b><a href=#Object-doRelativeFile(pathString) >doRelativeFile(pathString)</a></b><br>
5083 <b><a href=#Object-doString(aString) >doString(aString)</a></b><br>
5084 <b><a href=#Object-evalArg(expression) >evalArg(expression)</a></b><br>
5085 <b><a href=#Object-evalArgAndReturnNil(expression) >evalArgAndReturnNil(expression)</a></b><br>
5086 <b><a href=#Object-evalArgAndReturnSelf(expression) >evalArgAndReturnSelf(expression)</a></b><br>
5087 <b><a href=#Object-for(&lt;counter&gt;, &lt;start&gt;, &lt;end&gt;, &lt;do message&gt;) >for(&lt;counter&gt;, &lt;start&gt;, &lt;end&gt;, &lt;do message&gt;)</a></b><br>
5088 <b><a href=#Object-foreach([name,] value, message) >foreach([name,] value, message)</a></b><br>
5089 <b><a href=#Object-forward >forward</a></b><br>
5090 <b><a href=#Object-getLocalSlot(slotNameString) >getLocalSlot(slotNameString)</a></b><br>
5091 <b><a href=#Object-getSlot(slotNameString) >getSlot(slotNameString)</a></b><br>
5092 <b><a href=#Object-hasLocalSlot(slotNameString) >hasLocalSlot(slotNameString)</a></b><br>
5093 <b><a href=#Object-hasProto(anObject) >hasProto(anObject)</a></b><br>
5094 <b><a href=#Object-if(&lt;condition&gt;, &lt;trueMessage&gt;, &lt;optionalFalseMessage&gt;) >if(&lt;condition&gt;, &lt;trueMessage&gt;, &lt;optionalFalseMessage&gt;)</a></b><br>
5095 <b><a href=#Object-in(aList) >in(aList)</a></b><br>
5096 <b><a href=#Object-isActivatable >isActivatable</a></b><br>
5097 <b><a href=#Object-isIdenticalTo(aValue) >isIdenticalTo(aValue)</a></b><br>
5098 <b><a href=#Object-isKindOf(anObject) >isKindOf(anObject)</a></b><br>
5099 <b><a href=#Object-isLaunchScript >isLaunchScript </a></b><br>
5100 <b><a href=#Object-launchFile(pathString) >launchFile(pathString)</a></b><br>
5101 <b><a href=#Object-list(...) >list(...)</a></b><br>
5102 <b><a href=#Object-localsForward >localsForward</a></b><br>
5103 <b><a href=#Object-localsUpdateSlot(slotNameString, valueObject) >localsUpdateSlot(slotNameString, valueObject)</a></b><br>
5104 <b><a href=#Object-loop(expression) >loop(expression)</a></b><br>
5105 <b><a href=#Object-memorySize >memorySize</a></b><br>
5106 <b><a href=#Object-memorySizeOfState >memorySizeOfState</a></b><br>
5107 <b><a href=#Object-message(expression) >message(expression)</a></b><br>
5108 <b><a href=#Object-newSlot(slotName, aValue) >newSlot(slotName, aValue)</a></b><br>
5109 <b><a href=#Object-perform(methodName, &lt;arg1&gt;, &lt;arg2&gt;, ...) >perform(methodName, &lt;arg1&gt;, &lt;arg2&gt;, ...)</a></b><br>
5110 <b><a href=#Object-performWithArgList(methodName, argList) >performWithArgList(methodName, argList)</a></b><br>
5111 <b><a href=#Object-prependProto(anObject) >prependProto(anObject)</a></b><br>
5112 <b><a href=#Object-print >print</a></b><br>
5113 <b><a href=#Object-println >println </a></b><br>
5114 <b><a href=#Object-proto >proto</a></b><br>
5115 <b><a href=#Object-protos >protos</a></b><br>
5116 <b><a href=#Object-relativeDoFile(pathString) >relativeDoFile(pathString)</a></b><br>
5117 <b><a href=#Object-removeAllProtos >removeAllProtos</a></b><br>
5118 <b><a href=#Object-removeAllSlots >removeAllSlots</a></b><br>
5119 <b><a href=#Object-removeProto(anObject) >removeProto(anObject)</a></b><br>
5120 <b><a href=#Object-removeSlot(slotNameString) >removeSlot(slotNameString)</a></b><br>
5121 <b><a href=#Object-resend >resend</a></b><br>
5122 <b><a href=#Object-return(anObject) >return(anObject)</a></b><br>
5123 <b><a href=#Object-returnIfNonNil >returnIfNonNil</a></b><br>
5124 <b><a href=#Object-self >self</a></b><br>
5125 <b><a href=#Object-setIsActivatable(aValue) >setIsActivatable(aValue)</a></b><br>
5126 <b><a href=#Object-setProto(anObject) >setProto(anObject)</a></b><br>
5127 <b><a href=#Object-setProtos(aList) >setProtos(aList)</a></b><br>
5128 <b><a href=#Object-setSlot(slotNameString, valueObject) >setSlot(slotNameString, valueObject)</a></b><br>
5129 <b><a href=#Object-setSlotWithType(slotNameString, valueObject) >setSlotWithType(slotNameString, valueObject)</a></b><br>
5130 <b><a href=#Object-shallowCopy >shallowCopy</a></b><br>
5131 <b><a href=#Object-slotNames >slotNames</a></b><br>
5132 <b><a href=#Object-slotValues >slotValues</a></b><br>
5133 <b><a href=#Object-stopStatus >stopStatus</a></b><br>
5134 <b><a href=#Object-super(aMessage) >super(aMessage)</a></b><br>
5135 <b><a href=#Object-switch(&lt;key1&gt;, &lt;expression1&gt;, &lt;key2&gt;, &lt;expression2&gt;, ...) >switch(&lt;key1&gt;, &lt;expression1&gt;, &lt;key2&gt;, &lt;expression2&gt;, ...) </a></b><br>
5136 <b><a href=#Object-tailCall(expression) >tailCall(expression)</a></b><br>
5137 <b><a href=#Object-thisLocalContext >thisLocalContext</a></b><br>
5138 <b><a href=#Object-thisMessage >thisMessage</a></b><br>
5139 <b><a href=#Object-type >type</a></b><br>
5140 <b><a href=#Object-uniqueId >uniqueId</a></b><br>
5141 <b><a href=#Object-updateSlot(slotNameString, valueObject) >updateSlot(slotNameString, valueObject)</a></b><br>
5142 <b><a href=#Object-while(&lt;condition&gt;, expression) >while(&lt;condition&gt;, expression)</a></b><br>
5143 <b><a href=#Object-write(&lt;any number of arguments&gt;) >write(&lt;any number of arguments&gt;)</a></b><br>
5144 <b><a href=#Object-writeln(&lt;any number of arguments&gt;) >writeln(&lt;any number of arguments&gt;)</a></b><br>
5145 </div>
5146 <br>
5147 <h3>Slots</h3>
5148 <br>
5149 <b><a name=Object-!=(aValue)><font color=black>!=(aValue)</font></a></b><p>
5150 <div style="width:40em; margin-left:2em">
5151 Returns true the receiver is not equal to aValue, false otherwise.
5153 </font>
5154 </div>
5155 <p><br>
5156 <b><a name=Object-(expression)><font color=black>(expression)</font></a></b><p>
5157 <div style="width:40em; margin-left:2em">
5158 The '' method evaluates the argument and returns the result.
5160 </font>
5161 </div>
5162 <p><br>
5163 <b><a name=Object--(aNumber)><font color=black>-(aNumber)</font></a></b><p>
5164 <div style="width:40em; margin-left:2em">
5165 Returns the negative version of aNumber.
5166 Raises an exception if argument is not a number.
5168 </font>
5169 </div>
5170 <p><br>
5171 <b><a name=Object-..(arg)><font color=black>..(arg)</font></a></b><p>
5172 <div style="width:40em; margin-left:2em">
5173 .. is an alias for: method(arg, self asString append(arg asString))
5175 </font>
5176 </div>
5177 <p><br>
5178 <b><a name=Object-&lt;(expression)><font color=black>&lt;(expression)</font></a></b><p>
5179 <div style="width:40em; margin-left:2em">
5180 Evaluates argument and returns self if self is less or Nil if not.
5182 </font>
5183 </div>
5184 <p><br>
5185 <b><a name=Object-&lt;=(expression)><font color=black>&lt;=(expression)</font></a></b><p>
5186 <div style="width:40em; margin-left:2em">
5187 Evaluates argument and returns self if self is less
5188 than or equal to it, or Nil if not.
5190 </font>
5191 </div>
5192 <p><br>
5193 <b><a name=Object-==(aValue)><font color=black>==(aValue)</font></a></b><p>
5194 <div style="width:40em; margin-left:2em">
5195 Returns true if receiver and aValue are equal, false otherwise.
5197 </font>
5198 </div>
5199 <p><br>
5200 <b><a name=Object-&gt;(expression)><font color=black>&gt;(expression)</font></a></b><p>
5201 <div style="width:40em; margin-left:2em">
5202 Evaluates argument and returns self if self is greater than it, or Nil if not.
5204 </font>
5205 </div>
5206 <p><br>
5207 <b><a name=Object-&gt;=(expression)><font color=black>&gt;=(expression)</font></a></b><p>
5208 <div style="width:40em; margin-left:2em">
5209 Evaluates argument and returns self if self is greater
5210 than or equal to it, or Nil if not.
5212 </font>
5213 </div>
5214 <p><br>
5215 <b><a name=Object-?(aMessage)><font color=black>?(aMessage)</font></a></b><p>
5216 <div style="width:40em; margin-left:2em">
5217 description: Sends the message aMessage to the receiver if it can respond to it. Example:
5218 <code>
5219 MyObject test // performs test
5220 MyObject ?test // performs test if MyObject has a slot named test
5221 </code>
5222 The search for the slot only follows the receivers proto chain.
5224 </font>
5225 </div>
5226 <p><br>
5227 <b><a name=Object-ancestorWithSlot(slotName)><font color=black>ancestorWithSlot(slotName)</font></a></b><p>
5228 <div style="width:40em; margin-left:2em">
5229 Returns the first ancestor of the receiver that contains
5230 a slot of the specified name or Nil if none is found.
5232 </font>
5233 </div>
5234 <p><br>
5235 <b><a name=Object-ancestors ><font color=black>ancestors </font></a></b><p>
5236 <div style="width:40em; margin-left:2em">
5237 Returns a list of all of the receiver's ancestors as found by recursively following the protos links.
5239 </font>
5240 </div>
5241 <p><br>
5242 <b><a name=Object-appendProto(anObject)><font color=black>appendProto(anObject)</font></a></b><p>
5243 <div style="width:40em; margin-left:2em">
5244 Appends anObject to the receiver's proto list. Returns self.
5246 </font>
5247 </div>
5248 <p><br>
5249 <b><a name=Object-break(optionalReturnValue)><font color=black>break(optionalReturnValue)</font></a></b><p>
5250 <div style="width:40em; margin-left:2em">
5251 Break the current loop, if any.
5253 </font>
5254 </div>
5255 <p><br>
5256 <b><a name=Object-clone><font color=black>clone</font></a></b><p>
5257 <div style="width:40em; margin-left:2em">
5258 Returns a clone of the receiver.
5260 </font>
5261 </div>
5262 <p><br>
5263 <b><a name=Object-cloneWithoutInit><font color=black>cloneWithoutInit</font></a></b><p>
5264 <div style="width:40em; margin-left:2em">
5265 Returns a clone of the receiver but does not call init.
5267 </font>
5268 </div>
5269 <p><br>
5270 <b><a name=Object-compact><font color=black>compact</font></a></b><p>
5271 <div style="width:40em; margin-left:2em">
5272 Compact the memory for the object if possible. Returns self.
5274 </font>
5275 </div>
5276 <p><br>
5277 <b><a name=Object-compactState><font color=black>compactState</font></a></b><p>
5278 <div style="width:40em; margin-left:2em">
5279 Attempt to compact the memory of the IoState if possible.
5281 </font>
5282 </div>
5283 <p><br>
5284 <b><a name=Object-compare(anObject)><font color=black>compare(anObject)</font></a></b><p>
5285 <div style="width:40em; margin-left:2em">
5286 Returns a number containing the comparison value of the target with anObject.
5288 </font>
5289 </div>
5290 <p><br>
5291 <b><a name=Object-contextWithSlot(slotName)><font color=black>contextWithSlot(slotName)</font></a></b><p>
5292 <div style="width:40em; margin-left:2em">
5293 Returns the first context (starting with the receiver and following the lookup path)
5294 that contains a slot of the specified name or Nil if none is found.
5296 </font>
5297 </div>
5298 <p><br>
5299 <b><a name=Object-continue><font color=black>continue</font></a></b><p>
5300 <div style="width:40em; margin-left:2em">
5301 Skip the rest of the current loop iteration and start on
5302 the next, if any.
5304 </font>
5305 </div>
5306 <p><br>
5307 <b><a name=Object-do(expression)><font color=black>do(expression)</font></a></b><p>
5308 <div style="width:40em; margin-left:2em">
5309 Evaluates the message in the context of the receiver. Returns self.
5311 </font>
5312 </div>
5313 <p><br>
5314 <b><a name=Object-doFile(pathString)><font color=black>doFile(pathString)</font></a></b><p>
5315 <div style="width:40em; margin-left:2em">
5316 Evaluates the File in the context of the receiver. Returns the result.
5317 pathString is relative to the current working directory.
5319 </font>
5320 </div>
5321 <p><br>
5322 <b><a name=Object-doMessage(aMessage, optionalContext)><font color=black>doMessage(aMessage, optionalContext)</font></a></b><p>
5323 <div style="width:40em; margin-left:2em">
5324 Evaluates the message object in the context of the receiver.
5325 Returns the result. optionalContext can be used to specific the locals
5326 context in which the message is evaluated.
5328 </font>
5329 </div>
5330 <p><br>
5331 <b><a name=Object-doRelativeFile(pathString)><font color=black>doRelativeFile(pathString)</font></a></b><p>
5332 <div style="width:40em; margin-left:2em">
5333 Evaluates the File in the context of the receiver. Returns the result.
5334 pathString is relative to the file calling doRelativeFile. (Duplicate of relativeDoFile)
5336 </font>
5337 </div>
5338 <p><br>
5339 <b><a name=Object-doString(aString)><font color=black>doString(aString)</font></a></b><p>
5340 <div style="width:40em; margin-left:2em">
5341 Evaluates the string in the context of the receiver. Returns the result.
5343 </font>
5344 </div>
5345 <p><br>
5346 <b><a name=Object-evalArg(expression)><font color=black>evalArg(expression)</font></a></b><p>
5347 <div style="width:40em; margin-left:2em">
5348 The '' method evaluates the argument and returns the result.
5350 </font>
5351 </div>
5352 <p><br>
5353 <b><a name=Object-evalArgAndReturnNil(expression)><font color=black>evalArgAndReturnNil(expression)</font></a></b><p>
5354 <div style="width:40em; margin-left:2em">
5355 Evaluates the argument and returns nil.
5357 </font>
5358 </div>
5359 <p><br>
5360 <b><a name=Object-evalArgAndReturnSelf(expression)><font color=black>evalArgAndReturnSelf(expression)</font></a></b><p>
5361 <div style="width:40em; margin-left:2em">
5362 Evaluates the argument and returns the target.
5364 </font>
5365 </div>
5366 <p><br>
5367 <b><a name=Object-for(&lt;counter&gt;, &lt;start&gt;, &lt;end&gt;, &lt;do message&gt;)><font color=black>for(&lt;counter&gt;, &lt;start&gt;, &lt;end&gt;, &lt;do message&gt;)</font></a></b><p>
5368 <div style="width:40em; margin-left:2em">
5369 A for-loop control structure. See the io Programming Guide for a full description.
5371 </font>
5372 </div>
5373 <p><br>
5374 <b><a name=Object-foreach([name,] value, message)><font color=black>foreach([name,] value, message)</font></a></b><p>
5375 <div style="width:40em; margin-left:2em">
5376 For each slot, set name to the slot's
5377 name and value to the slot's value and execute message. Examples:
5379 <code>
5380 myObject foreach(n, v,
5381 writeln("slot ", n, " = ", v type)
5384 myObject foreach(v,
5385 writeln("slot type ", v type)
5387 </code>
5389 </font>
5390 </div>
5391 <p><br>
5392 <b><a name=Object-forward><font color=black>forward</font></a></b><p>
5393 <div style="width:40em; margin-left:2em">
5394 Called when the receiver is sent a message it doesn't recognize.
5395 Default implementation raises an "Object doesNotRespond" exception.
5396 Subclasses can override this method to implement proxies or special error handling.
5398 Example:
5400 <code>
5401 myProxy forward = method(
5402 messageName := thisMessage name
5403 arguments := thisMessage arguments
5404 myObject doMessage(thisMessage)
5406 </code>
5408 </font>
5409 </div>
5410 <p><br>
5411 <b><a name=Object-getLocalSlot(slotNameString)><font color=black>getLocalSlot(slotNameString)</font></a></b><p>
5412 <div style="width:40em; margin-left:2em">
5413 Returns the value of the slot named slotNameString
5414 (not looking in the object's protos) or nil if no such slot is found.
5416 </font>
5417 </div>
5418 <p><br>
5419 <b><a name=Object-getSlot(slotNameString)><font color=black>getSlot(slotNameString)</font></a></b><p>
5420 <div style="width:40em; margin-left:2em">
5421 Returns the value of the slot named slotNameString
5422 (following the lookup path) or nil if no such slot is found.
5424 </font>
5425 </div>
5426 <p><br>
5427 <b><a name=Object-hasLocalSlot(slotNameString)><font color=black>hasLocalSlot(slotNameString)</font></a></b><p>
5428 <div style="width:40em; margin-left:2em">
5429 Returns true if the slot exists in the receiver or false otherwise.
5431 </font>
5432 </div>
5433 <p><br>
5434 <b><a name=Object-hasProto(anObject)><font color=black>hasProto(anObject)</font></a></b><p>
5435 <div style="width:40em; margin-left:2em">
5436 Returns true if anObject is found in the proto path of the target, false otherwise.
5438 </font>
5439 </div>
5440 <p><br>
5441 <b><a name=Object-if(&lt;condition&gt;, &lt;trueMessage&gt;, &lt;optionalFalseMessage&gt;)><font color=black>if(&lt;condition&gt;, &lt;trueMessage&gt;, &lt;optionalFalseMessage&gt;)</font></a></b><p>
5442 <div style="width:40em; margin-left:2em">
5443 Evaluates trueMessage if condition evaluates to a non-Nil.
5444 Otherwise evaluates optionalFalseMessage if it is present.
5445 Returns the result of the evaluated message or Nil if none was evaluated.
5447 </font>
5448 </div>
5449 <p><br>
5450 <b><a name=Object-in(aList)><font color=black>in(aList)</font></a></b><p>
5451 <div style="width:40em; margin-left:2em">
5452 Same as: aList contains(self)
5454 </font>
5455 </div>
5456 <p><br>
5457 <b><a name=Object-isActivatable><font color=black>isActivatable</font></a></b><p>
5458 <div style="width:40em; margin-left:2em">
5459 Returns true if the receiver is activatable, false otherwise.
5461 </font>
5462 </div>
5463 <p><br>
5464 <b><a name=Object-isIdenticalTo(aValue)><font color=black>isIdenticalTo(aValue)</font></a></b><p>
5465 <div style="width:40em; margin-left:2em">
5466 Returns true if the receiver is identical to aValue, false otherwise.
5468 </font>
5469 </div>
5470 <p><br>
5471 <b><a name=Object-isKindOf(anObject)><font color=black>isKindOf(anObject)</font></a></b><p>
5472 <div style="width:40em; margin-left:2em">
5473 Returns true if anObject is in the receiver's ancestors.
5475 </font>
5476 </div>
5477 <p><br>
5478 <b><a name=Object-isLaunchScript ><font color=black>isLaunchScript </font></a></b><p>
5479 <div style="width:40em; margin-left:2em">
5480 Returns true if the current file was run on the command line. Io's version of Python's __file__ == "__main__"
5482 </font>
5483 </div>
5484 <p><br>
5485 <b><a name=Object-launchFile(pathString)><font color=black>launchFile(pathString)</font></a></b><p>
5486 <div style="width:40em; margin-left:2em">
5487 Eval file at pathString as if from the command line in it's folder.
5489 </font>
5490 </div>
5491 <p><br>
5492 <b><a name=Object-list(...)><font color=black>list(...)</font></a></b><p>
5493 <div style="width:40em; margin-left:2em">
5494 Returns a List containing the arguments.
5496 </font>
5497 </div>
5498 <p><br>
5499 <b><a name=Object-localsForward><font color=black>localsForward</font></a></b><p>
5500 <div style="width:40em; margin-left:2em">
5501 CFunction used by Locals prototype for forwarding.
5503 </font>
5504 </div>
5505 <p><br>
5506 <b><a name=Object-localsUpdateSlot(slotNameString, valueObject)><font color=black>localsUpdateSlot(slotNameString, valueObject)</font></a></b><p>
5507 <div style="width:40em; margin-left:2em">
5508 Local's version of updateSlot mthod.
5510 </font>
5511 </div>
5512 <p><br>
5513 <b><a name=Object-loop(expression)><font color=black>loop(expression)</font></a></b><p>
5514 <div style="width:40em; margin-left:2em">
5515 Keeps evaluating message until a break.
5517 </font>
5518 </div>
5519 <p><br>
5520 <b><a name=Object-memorySize><font color=black>memorySize</font></a></b><p>
5521 <div style="width:40em; margin-left:2em">
5522 Return the amount of memory used by the object.
5524 </font>
5525 </div>
5526 <p><br>
5527 <b><a name=Object-memorySizeOfState><font color=black>memorySizeOfState</font></a></b><p>
5528 <div style="width:40em; margin-left:2em">
5529 Returns the number of bytes in the IoState
5530 (this may not include memory allocated by C libraries).
5532 </font>
5533 </div>
5534 <p><br>
5535 <b><a name=Object-message(expression)><font color=black>message(expression)</font></a></b><p>
5536 <div style="width:40em; margin-left:2em">
5537 Return the message object for the argument or Nil if there is no argument.
5539 </font>
5540 </div>
5541 <p><br>
5542 <b><a name=Object-newSlot(slotName, aValue)><font color=black>newSlot(slotName, aValue)</font></a></b><p>
5543 <div style="width:40em; margin-left:2em">
5544 Creates a getter and setter for the slot with the name slotName
5545 and sets it's default the value aValue. Returns self. For example,
5546 newSlot("foo", 1) would create slot named foo with the value 1 as well as a setter method setFoo().
5548 </font>
5549 </div>
5550 <p><br>
5551 <b><a name=Object-perform(methodName, &lt;arg1&gt;, &lt;arg2&gt;, ...)><font color=black>perform(methodName, &lt;arg1&gt;, &lt;arg2&gt;, ...)</font></a></b><p>
5552 <div style="width:40em; margin-left:2em">
5553 Performs the method corresponding to methodName with the arguments supplied.
5555 </font>
5556 </div>
5557 <p><br>
5558 <b><a name=Object-performWithArgList(methodName, argList)><font color=black>performWithArgList(methodName, argList)</font></a></b><p>
5559 <div style="width:40em; margin-left:2em">
5560 Performs the method corresponding to methodName with the arguments in the argList.
5562 </font>
5563 </div>
5564 <p><br>
5565 <b><a name=Object-prependProto(anObject)><font color=black>prependProto(anObject)</font></a></b><p>
5566 <div style="width:40em; margin-left:2em">
5567 Prepends anObject to the receiver's proto list. Returns self.
5569 </font>
5570 </div>
5571 <p><br>
5572 <b><a name=Object-print><font color=black>print</font></a></b><p>
5573 <div style="width:40em; margin-left:2em">
5574 Prints a string representation of the object. Returns Nil.
5576 </font>
5577 </div>
5578 <p><br>
5579 <b><a name=Object-println ><font color=black>println </font></a></b><p>
5580 <div style="width:40em; margin-left:2em">
5581 Same as print, but also prints a new line. Returns self.
5583 </font>
5584 </div>
5585 <p><br>
5586 <b><a name=Object-proto><font color=black>proto</font></a></b><p>
5587 <div style="width:40em; margin-left:2em">
5588 Same as; method(self protos first)
5590 </font>
5591 </div>
5592 <p><br>
5593 <b><a name=Object-protos><font color=black>protos</font></a></b><p>
5594 <div style="width:40em; margin-left:2em">
5595 Returns a copy of the receiver's protos list.
5597 </font>
5598 </div>
5599 <p><br>
5600 <b><a name=Object-relativeDoFile(pathString)><font color=black>relativeDoFile(pathString)</font></a></b><p>
5601 <div style="width:40em; margin-left:2em">
5602 Evaluates the File in the context of the receiver. Returns the result.
5603 pathString is relative to the file calling doRelativeFile. (Duplicate of doRelativeFile)
5605 </font>
5606 </div>
5607 <p><br>
5608 <b><a name=Object-removeAllProtos><font color=black>removeAllProtos</font></a></b><p>
5609 <div style="width:40em; margin-left:2em">
5610 Removes all of the receiver's protos. Returns self.
5612 </font>
5613 </div>
5614 <p><br>
5615 <b><a name=Object-removeAllSlots><font color=black>removeAllSlots</font></a></b><p>
5616 <div style="width:40em; margin-left:2em">
5617 Removes all of the receiver's slots. Returns self.
5619 </font>
5620 </div>
5621 <p><br>
5622 <b><a name=Object-removeProto(anObject)><font color=black>removeProto(anObject)</font></a></b><p>
5623 <div style="width:40em; margin-left:2em">
5624 Removes anObject from the receiver's proto list if it
5625 is present. Returns self.
5627 </font>
5628 </div>
5629 <p><br>
5630 <b><a name=Object-removeSlot(slotNameString)><font color=black>removeSlot(slotNameString)</font></a></b><p>
5631 <div style="width:40em; margin-left:2em">
5632 Removes the specified slot (only) in the receiver if it exists. Returns self.
5634 </font>
5635 </div>
5636 <p><br>
5637 <b><a name=Object-resend><font color=black>resend</font></a></b><p>
5638 <div style="width:40em; margin-left:2em">
5639 Send the message used to activate the current method to the Object's proto.
5640 For example;
5641 <code>
5642 Dog := Mammal clone do(
5643 init := method(
5644 resend
5647 </code>
5648 calling Dog init will send an init method to Mammal, but using the Dog's context.
5650 </font>
5651 </div>
5652 <p><br>
5653 <b><a name=Object-return(anObject)><font color=black>return(anObject)</font></a></b><p>
5654 <div style="width:40em; margin-left:2em">
5655 Return anObject from the current execution block.
5657 </font>
5658 </div>
5659 <p><br>
5660 <b><a name=Object-returnIfNonNil><font color=black>returnIfNonNil</font></a></b><p>
5661 <div style="width:40em; margin-left:2em">
5662 Returns the receiver from the current execution block if it is non nil.
5663 Otherwise returns the receiver locally.
5665 </font>
5666 </div>
5667 <p><br>
5668 <b><a name=Object-self><font color=black>self</font></a></b><p>
5669 <div style="width:40em; margin-left:2em">
5670 Returns self.
5672 </font>
5673 </div>
5674 <p><br>
5675 <b><a name=Object-setIsActivatable(aValue)><font color=black>setIsActivatable(aValue)</font></a></b><p>
5676 <div style="width:40em; margin-left:2em">
5677 When called with a non-Nil aValue, sets the object
5678 to call it's activate slot when accessed as a value. Turns this behavior
5679 off if aValue is Nil. Only works on Objects which are not Activatable
5680 Primitives (such as CFunction or Block). Returns self.
5682 </font>
5683 </div>
5684 <p><br>
5685 <b><a name=Object-setProto(anObject)><font color=black>setProto(anObject)</font></a></b><p>
5686 <div style="width:40em; margin-left:2em">
5687 Sets the first proto of the receiver to anObject, replacing the
5688 current one, if any. Returns self.
5690 </font>
5691 </div>
5692 <p><br>
5693 <b><a name=Object-setProtos(aList)><font color=black>setProtos(aList)</font></a></b><p>
5694 <div style="width:40em; margin-left:2em">
5695 Replaces the receiver's protos with a copy of aList. Returns self.
5697 </font>
5698 </div>
5699 <p><br>
5700 <b><a name=Object-setSlot(slotNameString, valueObject)><font color=black>setSlot(slotNameString, valueObject)</font></a></b><p>
5701 <div style="width:40em; margin-left:2em">
5702 Sets the slot slotNameString in the receiver to
5703 hold valueObject. Returns valueObject.
5705 </font>
5706 </div>
5707 <p><br>
5708 <b><a name=Object-setSlotWithType(slotNameString, valueObject)><font color=black>setSlotWithType(slotNameString, valueObject)</font></a></b><p>
5709 <div style="width:40em; margin-left:2em">
5710 Sets the slot slotNameString in the receiver to
5711 hold valueObject and sets the type slot of valueObject
5712 to be slotNameString. Returns valueObject.
5714 </font>
5715 </div>
5716 <p><br>
5717 <b><a name=Object-shallowCopy><font color=black>shallowCopy</font></a></b><p>
5718 <div style="width:40em; margin-left:2em">
5719 Returns a shallow copy of the receiver.
5721 </font>
5722 </div>
5723 <p><br>
5724 <b><a name=Object-slotNames><font color=black>slotNames</font></a></b><p>
5725 <div style="width:40em; margin-left:2em">
5726 Returns a list of strings containing the names of the
5727 slots in the receiver (but not in it's lookup path).
5729 </font>
5730 </div>
5731 <p><br>
5732 <b><a name=Object-slotValues><font color=black>slotValues</font></a></b><p>
5733 <div style="width:40em; margin-left:2em">
5734 Returns a list of the values held in the slots of the receiver.
5736 </font>
5737 </div>
5738 <p><br>
5739 <b><a name=Object-stopStatus><font color=black>stopStatus</font></a></b><p>
5740 <div style="width:40em; margin-left:2em">
5741 Returns the internal IoState->stopStatus.
5743 </font>
5744 </div>
5745 <p><br>
5746 <b><a name=Object-super(aMessage)><font color=black>super(aMessage)</font></a></b><p>
5747 <div style="width:40em; margin-left:2em">
5748 Sends the message aMessage to the receiver's proto with the context of self. Example:
5749 <code>
5750 self test(1, 2) // performs test(1, 2) on self
5751 super(test(1, 2)) // performs test(1, 2) on self proto but with the context of self
5752 </code>
5754 </font>
5755 </div>
5756 <p><br>
5757 <b><a name=Object-switch(&lt;key1&gt;, &lt;expression1&gt;, &lt;key2&gt;, &lt;expression2&gt;, ...) ><font color=black>switch(&lt;key1&gt;, &lt;expression1&gt;, &lt;key2&gt;, &lt;expression2&gt;, ...) </font></a></b><p>
5758 <div style="width:40em; margin-left:2em">
5759 Execute an expression depending on the value of the caller. (This is an equivalent to C switch/case)
5760 <code>
5761 hour := Date hour switch(
5762 12, "midday",
5763 0, "midnight",
5764 17, "teatime",
5765 Date hour asString
5767 </code>
5769 </font>
5770 </div>
5771 <p><br>
5772 <b><a name=Object-tailCall(expression)><font color=black>tailCall(expression)</font></a></b><p>
5773 <div style="width:40em; margin-left:2em">
5774 Does a tailCall on the currently executing Block. Example:
5775 <code>
5776 Io> a := method(x, x = x + 1; if(x > 10, return x); tailCall(x))
5777 ==> method(x, updateSlot("x", x +(1));
5778 if(x >(10), return(x));
5779 tailCall(x))
5780 Io> a(1)
5781 ==> 11
5782 </code>
5784 </font>
5785 </div>
5786 <p><br>
5787 <b><a name=Object-thisLocalContext><font color=black>thisLocalContext</font></a></b><p>
5788 <div style="width:40em; margin-left:2em">
5789 Returns current locals.
5791 </font>
5792 </div>
5793 <p><br>
5794 <b><a name=Object-thisMessage><font color=black>thisMessage</font></a></b><p>
5795 <div style="width:40em; margin-left:2em">
5796 Returns the calling message.
5798 </font>
5799 </div>
5800 <p><br>
5801 <b><a name=Object-type><font color=black>type</font></a></b><p>
5802 <div style="width:40em; margin-left:2em">
5803 Returns a string containing the name of the type of Object (Number, String, etc).
5805 </font>
5806 </div>
5807 <p><br>
5808 <b><a name=Object-uniqueId><font color=black>uniqueId</font></a></b><p>
5809 <div style="width:40em; margin-left:2em">
5810 Returns a Number containing a unique id for the receiver.
5812 </font>
5813 </div>
5814 <p><br>
5815 <b><a name=Object-updateSlot(slotNameString, valueObject)><font color=black>updateSlot(slotNameString, valueObject)</font></a></b><p>
5816 <div style="width:40em; margin-left:2em">
5817 Same as setSlot(), but raises an error if the slot does not
5818 already exist in the receiver's slot lookup path.
5820 </font>
5821 </div>
5822 <p><br>
5823 <b><a name=Object-while(&lt;condition&gt;, expression)><font color=black>while(&lt;condition&gt;, expression)</font></a></b><p>
5824 <div style="width:40em; margin-left:2em">
5825 Keeps evaluating message until condition return Nil.
5826 Returns the result of the last message evaluated or Nil if none were evaluated.
5828 </font>
5829 </div>
5830 <p><br>
5831 <b><a name=Object-write(&lt;any number of arguments&gt;)><font color=black>write(&lt;any number of arguments&gt;)</font></a></b><p>
5832 <div style="width:40em; margin-left:2em">
5833 Sends a print message to the evaluated result of each argument. Returns Nil.
5835 </font>
5836 </div>
5837 <p><br>
5838 <b><a name=Object-writeln(&lt;any number of arguments&gt;)><font color=black>writeln(&lt;any number of arguments&gt;)</font></a></b><p>
5839 <div style="width:40em; margin-left:2em">
5840 Same as write() but also writes a return character at the end. Returns Nil.
5842 </font>
5843 </div>
5844 <p><br>
5845 </ul>
5846 <br>
5847 <hr align=left>
5848 <br>
5849 <h2><a name=Path><font color=black>Path</font></a></h2>
5850 <ul style="width:40em">
5851 <b><font color=#000>Protos:</font></b> Object
5852 <h3>Slot Index</h3>
5853 <div style="width:40em; margin-left:2em">
5854 <b><a href=#Path-absolute >absolute </a></b><br>
5855 <b><a href=#Path-hasDriveLetters >hasDriveLetters </a></b><br>
5856 <b><a href=#Path-isPathAbsolute >isPathAbsolute </a></b><br>
5857 <b><a href=#Path-with(aSequence) >with(aSequence)</a></b><br>
5858 </div>
5859 <br>
5860 <h3>Slots</h3>
5861 <br>
5862 <b><a name=Path-absolute ><font color=black>absolute </font></a></b><p>
5863 <div style="width:40em; margin-left:2em">
5864 Returns an absolute version of the path.
5866 </font>
5867 </div>
5868 <p><br>
5869 <b><a name=Path-hasDriveLetters ><font color=black>hasDriveLetters </font></a></b><p>
5870 <div style="width:40em; margin-left:2em">
5871 returns true if the platform requires DOS C: style drive letters.
5873 </font>
5874 </div>
5875 <p><br>
5876 <b><a name=Path-isPathAbsolute ><font color=black>isPathAbsolute </font></a></b><p>
5877 <div style="width:40em; margin-left:2em">
5878 Returns true if path is absolute, false if it is relative.
5880 </font>
5881 </div>
5882 <p><br>
5883 <b><a name=Path-with(aSequence)><font color=black>with(aSequence)</font></a></b><p>
5884 <div style="width:40em; margin-left:2em">
5885 Returns a new Path object for the given Sequence.
5887 </font>
5888 </div>
5889 <p><br>
5890 </ul>
5891 <br>
5892 <hr align=left>
5893 <br>
5894 <h2><a name=Sandbox><font color=black>Sandbox</font></a></h2>
5895 <ul style="width:40em">
5896 <b><font color=#000>Protos:</font></b> Object
5897 <h3>Description</h3>
5898 Sandbox can be used to run separate instances of Io within the same process.
5900 </font>
5901 <h3>Slot Index</h3>
5902 <div style="width:40em; margin-left:2em">
5903 <b><a href=#Sandbox-doSandboxString(aString) >doSandboxString(aString)</a></b><br>
5904 <b><a href=#Sandbox-messageCount >messageCount</a></b><br>
5905 <b><a href=#Sandbox-printCallback(string) >printCallback(string)</a></b><br>
5906 <b><a href=#Sandbox-setMessageCount(anInteger) >setMessageCount(anInteger)</a></b><br>
5907 <b><a href=#Sandbox-setTimeLimit(aDouble) >setTimeLimit(aDouble)</a></b><br>
5908 <b><a href=#Sandbox-timeLimit >timeLimit</a></b><br>
5909 </div>
5910 <br>
5911 <h3>Slots</h3>
5912 <br>
5913 <b><a name=Sandbox-doSandboxString(aString)><font color=black>doSandboxString(aString)</font></a></b><p>
5914 <div style="width:40em; margin-left:2em">
5915 Evaluate aString inside the Sandbox.
5917 </font>
5918 </div>
5919 <p><br>
5920 <b><a name=Sandbox-messageCount><font color=black>messageCount</font></a></b><p>
5921 <div style="width:40em; margin-left:2em">
5922 Returns a number containing the messageCount limit of the Sandbox.
5924 </font>
5925 </div>
5926 <p><br>
5927 <b><a name=Sandbox-printCallback(string)><font color=black>printCallback(string)</font></a></b><p>
5928 <div style="width:40em; margin-left:2em">
5929 default implementation is; method(string, string print)
5931 </font>
5932 </div>
5933 <p><br>
5934 <b><a name=Sandbox-setMessageCount(anInteger)><font color=black>setMessageCount(anInteger)</font></a></b><p>
5935 <div style="width:40em; margin-left:2em">
5936 Sets the messageCount limit of the receiver.
5938 </font>
5939 </div>
5940 <p><br>
5941 <b><a name=Sandbox-setTimeLimit(aDouble)><font color=black>setTimeLimit(aDouble)</font></a></b><p>
5942 <div style="width:40em; margin-left:2em">
5943 Sets the time limit of the Sandbox.
5945 </font>
5946 </div>
5947 <p><br>
5948 <b><a name=Sandbox-timeLimit><font color=black>timeLimit</font></a></b><p>
5949 <div style="width:40em; margin-left:2em">
5950 Returns a number containing the time limit of calls made to the Sandbox.
5952 </font>
5953 </div>
5954 <p><br>
5955 </ul>
5956 <br>
5957 <hr align=left>
5958 <br>
5959 <h2><a name=Scheduler><font color=black>Scheduler</font></a></h2>
5960 <ul style="width:40em">
5961 <b><font color=#000>Protos:</font></b> Object
5962 <h3>Slot Index</h3>
5963 <div style="width:40em; margin-left:2em">
5964 <b><a href=#Scheduler-currentCoroutine >currentCoroutine </a></b><br>
5965 <b><a href=#Scheduler-setTimers(aListOfTimers) >setTimers(aListOfTimers)</a></b><br>
5966 <b><a href=#Scheduler-setYieldingCoros(aListOfCoros) >setYieldingCoros(aListOfCoros)</a></b><br>
5967 <b><a href=#Scheduler-timers >timers </a></b><br>
5968 <b><a href=#Scheduler-yieldingCoros >yieldingCoros </a></b><br>
5969 </div>
5970 <br>
5971 <h3>Slots</h3>
5972 <br>
5973 <b><a name=Scheduler-currentCoroutine ><font color=black>currentCoroutine </font></a></b><p>
5974 <div style="width:40em; margin-left:2em">
5975 Returns the currently running coroutine.
5977 </font>
5978 </div>
5979 <p><br>
5980 <b><a name=Scheduler-setTimers(aListOfTimers)><font color=black>setTimers(aListOfTimers)</font></a></b><p>
5981 <div style="width:40em; margin-left:2em">
5982 Sets the list of active timers.
5984 </font>
5985 </div>
5986 <p><br>
5987 <b><a name=Scheduler-setYieldingCoros(aListOfCoros)><font color=black>setYieldingCoros(aListOfCoros)</font></a></b><p>
5988 <div style="width:40em; margin-left:2em">
5989 Sets the list of yielding Coroutine objects.
5991 </font>
5992 </div>
5993 <p><br>
5994 <b><a name=Scheduler-timers ><font color=black>timers </font></a></b><p>
5995 <div style="width:40em; margin-left:2em">
5996 The List of active timers.
5998 </font>
5999 </div>
6000 <p><br>
6001 <b><a name=Scheduler-yieldingCoros ><font color=black>yieldingCoros </font></a></b><p>
6002 <div style="width:40em; margin-left:2em">
6003 The List of yielding Coroutine objects.
6005 </font>
6006 </div>
6007 <p><br>
6008 </ul>
6009 <br>
6010 <hr align=left>
6011 <br>
6012 <h2><a name=Sequence><font color=black>Sequence</font></a></h2>
6013 <ul style="width:40em">
6014 <b><font color=#000>Protos:</font></b> Object
6015 <h3>Description</h3>
6016 A Sequence is a container for a list of data elements. Typically these elements are each 1 byte in size. A Sequence can be either mutable or immutable. When immutable, only the read-only methods can be used.
6018 Terminology
6019 <ul>
6020 <li> Buffer: A mutable Sequence of single byte elements, typically in a binary encoding
6021 <li> Symbol or String: A unique immutable Sequence, typically in a character encoding
6022 </ul>
6024 </font>
6025 <h3>Slot Index</h3>
6026 <div style="width:40em; margin-left:2em">
6027 <b><a href=#Sequence-alignCenter(width, [padding]) "" >alignCenter(width, [padding]) ""</a></b><br>
6028 <b><a href=#Sequence-alignLeft(width, [padding]) >alignLeft(width, [padding]) </a></b><br>
6029 <b><a href=#Sequence-alignLeftInPlace(width, [padding]) >alignLeftInPlace(width, [padding])</a></b><br>
6030 <b><a href=#Sequence-alignRight(width, [padding]) >alignRight(width, [padding]) </a></b><br>
6031 <b><a href=#Sequence-asFile >asFile </a></b><br>
6032 <b><a href=#Sequence-asHex >asHex </a></b><br>
6033 <b><a href=#Sequence-findNthSeq(aSequence, n) >findNthSeq(aSequence, n)</a></b><br>
6034 <b><a href=#Sequence-prependSeq(object1, object2, ...) >prependSeq(object1, object2, ...)</a></b><br>
6035 <b><a href=#Sequence-repeated(n) >repeated(n)</a></b><br>
6036 <b><a href=#Sequence-split(optionalArg1, optionalArg2, ...) >split(optionalArg1, optionalArg2, ...)</a></b><br>
6037 </div>
6038 <br>
6039 <h3>Slots</h3>
6040 <br>
6041 <b><a name=Sequence-alignCenter(width, [padding]) ""><font color=black>alignCenter(width, [padding]) ""</font></a></b><p>
6042 <div style="width:40em; margin-left:2em">
6043 Example:
6044 <code>
6045 Io> "abc" alignCenter(10, "-")
6046 ==> ---abc----
6047 Io> "abc" alignCenter(10, "-=")
6048 ==> -=-abc-=-=
6049 </code>
6051 </font>
6052 </div>
6053 <p><br>
6054 <b><a name=Sequence-alignLeft(width, [padding]) ><font color=black>alignLeft(width, [padding]) </font></a></b><p>
6055 <div style="width:40em; margin-left:2em">
6056 Example:
6057 <code>
6058 Io> "abc" alignLeft(10, "-")
6059 ==> abc-
6060 </font>
6061 </div>
6062 <p><br>
6063 <b><a name=Sequence-alignLeftInPlace(width, [padding])><font color=black>alignLeftInPlace(width, [padding])</font></a></b><p>
6064 <div style="width:40em; margin-left:2em">
6065 Same as align left but operation is performed on the receiver.")
6067 </font>
6068 </div>
6069 <p><br>
6070 <b><a name=Sequence-alignRight(width, [padding]) ><font color=black>alignRight(width, [padding]) </font></a></b><p>
6071 <div style="width:40em; margin-left:2em">
6072 Example:
6073 <code>
6074 Io> "abc" alignRight(10, "-")
6075 ==> -------abc
6076 Io> "abc" alignRight(10, "-=")
6077 ==> -=-=-=-abc
6078 </code>
6080 </font>
6081 </div>
6082 <p><br>
6083 <b><a name=Sequence-asFile ><font color=black>asFile </font></a></b><p>
6084 <div style="width:40em; margin-left:2em">
6085 Returns a new File object with the receiver as it's path.
6087 </font>
6088 </div>
6089 <p><br>
6090 <b><a name=Sequence-asHex ><font color=black>asHex </font></a></b><p>
6091 <div style="width:40em; margin-left:2em">
6092 Returns a hex string for the receiving sequence, e.g., \"abc\" asHex -> \"616263\".")
6094 </font>
6095 </div>
6096 <p><br>
6097 <b><a name=Sequence-findNthSeq(aSequence, n)><font color=black>findNthSeq(aSequence, n)</font></a></b><p>
6098 <div style="width:40em; margin-left:2em">
6099 Returns a number with the nth occurence of aSequence")
6101 </font>
6102 </div>
6103 <p><br>
6104 <b><a name=Sequence-prependSeq(object1, object2, ...)><font color=black>prependSeq(object1, object2, ...)</font></a></b><p>
6105 <div style="width:40em; margin-left:2em">
6106 Prepends given objects asString in reverse order to the receiver. Returns self.")
6108 </font>
6109 </div>
6110 <p><br>
6111 <b><a name=Sequence-repeated(n)><font color=black>repeated(n)</font></a></b><p>
6112 <div style="width:40em; margin-left:2em">
6113 Returns a new sequence containing the receiver repeated n number of times.")
6115 </font>
6116 </div>
6117 <p><br>
6118 <b><a name=Sequence-split(optionalArg1, optionalArg2, ...)><font color=black>split(optionalArg1, optionalArg2, ...)</font></a></b><p>
6119 <div style="width:40em; margin-left:2em">
6120 Returns a list containing the non-empty sub-sequences of the receiver divided by the given arguments.
6121 If no arguments are given the sequence is split on white space.
6122 Examples:
6123 <code>
6124 "a b c d" splitNoEmpties => list("a", "b", "c", "d")
6125 "a***b**c*d" splitNoEmpties("*") => list("a", "b", "c", "d")
6126 "a***b||c,d" splitNoEmpties("*", "|", ",") => list("a", "b", "c", "d")
6127 </code>
6129 </font>
6130 </div>
6131 <p><br>
6132 </ul>
6133 <br>
6134 <hr align=left>
6135 <br>
6136 <h2><a name=State><font color=black>State</font></a></h2>
6137 <ul style="width:40em">
6138 <b><font color=#000>Protos:</font></b> Object
6139 <h3>Slot Index</h3>
6140 <div style="width:40em; margin-left:2em">
6141 </div>
6142 <br>
6143 <h3>Slots</h3>
6144 <br>
6145 </ul>
6146 <br>
6147 <hr align=left>
6148 <br>
6149 <h2><a name=System><font color=black>System</font></a></h2>
6150 <ul style="width:40em">
6151 <b><font color=#000>Protos:</font></b> Object
6152 <h3>Slot Index</h3>
6153 <div style="width:40em; margin-left:2em">
6154 <b><a href=#System-activeCpus >activeCpus</a></b><br>
6155 <b><a href=#System-args >args</a></b><br>
6156 <b><a href=#System-distribution >distribution</a></b><br>
6157 <b><a href=#System-errorNumber >errorNumber</a></b><br>
6158 <b><a href=#System-exit(optionalReturnCodeNumber) >exit(optionalReturnCodeNumber)</a></b><br>
6159 <b><a href=#System-getEnvironmentVariable(nameString) >getEnvironmentVariable(nameString)</a></b><br>
6160 <b><a href=#System-getOptions(args) >getOptions(args) </a></b><br>
6161 <b><a href=#System-installPrefix >installPrefix</a></b><br>
6162 <b><a href=#System-ioPath >ioPath </a></b><br>
6163 <b><a href=#System-launchScript >launchScript </a></b><br>
6164 <b><a href=#System-maxRecycledObjects >maxRecycledObjects</a></b><br>
6165 <b><a href=#System-platform >platform</a></b><br>
6166 <b><a href=#System-platformVersion >platformVersion</a></b><br>
6167 <b><a href=#System-recycledObjectCount >recycledObjectCount</a></b><br>
6168 <b><a href=#System-setEnvironmentVariable(keyString, valueString) >setEnvironmentVariable(keyString, valueString)</a></b><br>
6169 <b><a href=#System-setLobby(anObject) >setLobby(anObject)</a></b><br>
6170 <b><a href=#System-setMaxRecycledObjects(aNumber) >setMaxRecycledObjects(aNumber)</a></b><br>
6171 <b><a href=#System-sleep(secondsNumber) >sleep(secondsNumber)</a></b><br>
6172 <b><a href=#System-symbols >symbols</a></b><br>
6173 <b><a href=#System-system(aString) >system(aString)</a></b><br>
6174 <b><a href=#System-version >version</a></b><br>
6175 </div>
6176 <br>
6177 <h3>Slots</h3>
6178 <br>
6179 <b><a name=System-activeCpus><font color=black>activeCpus</font></a></b><p>
6180 <div style="width:40em; margin-left:2em">
6181 Returns the number of active CPUs.
6183 </font>
6184 </div>
6185 <p><br>
6186 <b><a name=System-args><font color=black>args</font></a></b><p>
6187 <div style="width:40em; margin-left:2em">
6188 Returns the list of command line argument strings the program was run with.")
6190 </font>
6191 </div>
6192 <p><br>
6193 <b><a name=System-distribution><font color=black>distribution</font></a></b><p>
6194 <div style="width:40em; margin-left:2em">
6195 Returns the Io distribution name as a string.
6197 </font>
6198 </div>
6199 <p><br>
6200 <b><a name=System-errorNumber><font color=black>errorNumber</font></a></b><p>
6201 <div style="width:40em; margin-left:2em">
6202 Returns the C errno string.
6204 </font>
6205 </div>
6206 <p><br>
6207 <b><a name=System-exit(optionalReturnCodeNumber)><font color=black>exit(optionalReturnCodeNumber)</font></a></b><p>
6208 <div style="width:40em; margin-left:2em">
6209 Shutdown the IoState (io_free all objects) and return
6210 control to the calling program (if any).
6212 </font>
6213 </div>
6214 <p><br>
6215 <b><a name=System-getEnvironmentVariable(nameString)><font color=black>getEnvironmentVariable(nameString)</font></a></b><p>
6216 <div style="width:40em; margin-left:2em">
6217 Returns a string with the value of the environment
6218 variable whose name is specified by nameString.
6220 </font>
6221 </div>
6222 <p><br>
6223 <b><a name=System-getOptions(args) ><font color=black>getOptions(args) </font></a></b><p>
6224 <div style="width:40em; margin-left:2em">
6225 This primitive is used to get command line options similar to Cs getopt().
6226 It returns a map in containing the left side of the argument, with the
6227 value of the right side. (The key will not contain
6228 the beginning dashes (--).
6230 Example:
6231 <code>
6232 options := System getOptions(args)
6233 options foreach(k, v,
6234 if(v type == List type,
6235 v foreach(i, j, writeln(\"Got unnamed argument with value: \" .. j))
6236 continue
6238 writeln(\"Got option: \" .. k .. \" with value: \" .. v)
6240 </code>
6242 </font>
6243 </div>
6244 <p><br>
6245 <b><a name=System-installPrefix><font color=black>installPrefix</font></a></b><p>
6246 <div style="width:40em; margin-left:2em">
6247 Returns the root path where io was install. The default is /usr/local.
6249 </font>
6250 </div>
6251 <p><br>
6252 <b><a name=System-ioPath ><font color=black>ioPath </font></a></b><p>
6253 <div style="width:40em; margin-left:2em">
6254 Returns the path of io installation. The default is $INSTALL_PREFIX/lib/io.
6256 </font>
6257 </div>
6258 <p><br>
6259 <b><a name=System-launchScript ><font color=black>launchScript </font></a></b><p>
6260 <div style="width:40em; margin-left:2em">
6261 Returns the path of the io file run on the command line. Returns nil if no file was run.
6263 </font>
6264 </div>
6265 <p><br>
6266 <b><a name=System-maxRecycledObjects><font color=black>maxRecycledObjects</font></a></b><p>
6267 <div style="width:40em; margin-left:2em">
6268 Returns the max number of recycled objects used.
6270 </font>
6271 </div>
6272 <p><br>
6273 <b><a name=System-platform><font color=black>platform</font></a></b><p>
6274 <div style="width:40em; margin-left:2em">
6275 Returns a string description of the platform.
6277 </font>
6278 </div>
6279 <p><br>
6280 <b><a name=System-platformVersion><font color=black>platformVersion</font></a></b><p>
6281 <div style="width:40em; margin-left:2em">
6282 Returns the version id of the OS.
6284 </font>
6285 </div>
6286 <p><br>
6287 <b><a name=System-recycledObjectCount><font color=black>recycledObjectCount</font></a></b><p>
6288 <div style="width:40em; margin-left:2em">
6289 Returns the current number of objects being held for recycling.
6291 </font>
6292 </div>
6293 <p><br>
6294 <b><a name=System-setEnvironmentVariable(keyString, valueString)><font color=black>setEnvironmentVariable(keyString, valueString)</font></a></b><p>
6295 <div style="width:40em; margin-left:2em">
6296 Sets the environment variable keyString to the value valueString.
6298 </font>
6299 </div>
6300 <p><br>
6301 <b><a name=System-setLobby(anObject)><font color=black>setLobby(anObject)</font></a></b><p>
6302 <div style="width:40em; margin-left:2em">
6303 Sets the root object of the garbage collector.
6305 </font>
6306 </div>
6307 <p><br>
6308 <b><a name=System-setMaxRecycledObjects(aNumber)><font color=black>setMaxRecycledObjects(aNumber)</font></a></b><p>
6309 <div style="width:40em; margin-left:2em">
6310 Sets the max number of recycled objects used.
6312 </font>
6313 </div>
6314 <p><br>
6315 <b><a name=System-sleep(secondsNumber)><font color=black>sleep(secondsNumber)</font></a></b><p>
6316 <div style="width:40em; margin-left:2em">
6317 Performs a *blocking* sleep call for specified number of seconds.
6319 </font>
6320 </div>
6321 <p><br>
6322 <b><a name=System-symbols><font color=black>symbols</font></a></b><p>
6323 <div style="width:40em; margin-left:2em">
6324 Returns a List containing all Symbols currently in the system.
6326 </font>
6327 </div>
6328 <p><br>
6329 <b><a name=System-system(aString)><font color=black>system(aString)</font></a></b><p>
6330 <div style="width:40em; margin-left:2em">
6331 Makes a system call and returns a Number for the return value.
6333 </font>
6334 </div>
6335 <p><br>
6336 <b><a name=System-version><font color=black>version</font></a></b><p>
6337 <div style="width:40em; margin-left:2em">
6338 Returns a version number for Io.
6340 </font>
6341 </div>
6342 <p><br>
6343 </ul>
6344 <br>
6345 <hr align=left>
6346 <br>
6347 <h2><a name=Tag><font color=black>Tag</font></a></h2>
6348 <ul style="width:40em">
6349 <b><font color=#000>Protos:</font></b> Object
6350 <h3>Slot Index</h3>
6351 <div style="width:40em; margin-left:2em">
6352 </div>
6353 <br>
6354 <h3>Slots</h3>
6355 <br>
6356 </ul>
6357 <br>
6358 <hr align=left>
6359 <br>
6360 <h2><a name=Token><font color=black>Token</font></a></h2>
6361 <ul style="width:40em">
6362 <b><font color=#000>Protos:</font></b> Object
6363 <h3>Slot Index</h3>
6364 <div style="width:40em; margin-left:2em">
6365 </div>
6366 <br>
6367 <h3>Slots</h3>
6368 <br>
6369 </ul>
6370 <br>
6371 <hr align=left>
6372 <br>
6373 <h2><a name=UnitTest><font color=black>UnitTest</font></a></h2>
6374 <ul style="width:40em">
6375 <b><font color=#000>Protos:</font></b> Object
6376 <h3>Slot Index</h3>
6377 <div style="width:40em; margin-left:2em">
6378 <b><a href=#UnitTest-category >category </a></b><br>
6379 </div>
6380 <br>
6381 <h3>Slots</h3>
6382 <br>
6383 <b><a name=UnitTest-category ><font color=black>category </font></a></b><p>
6384 <div style="width:40em; margin-left:2em">
6385 Testing
6387 </font>
6388 </div>
6389 <p><br>
6390 </ul>
6391 <br>
6392 <hr align=left>
6393 <br>
6394 <h2><a name=WeakLink><font color=black>WeakLink</font></a></h2>
6395 <ul style="width:40em">
6396 <b><font color=#000>Protos:</font></b> Object
6397 <h3>Description</h3>
6398 A WeakLink is a primitive that can hold a reference to
6399 an object without preventing the garbage collector from
6400 collecting it. The link reference is set with the setLink() method.
6401 After the garbage collector collects an object, it informs any
6402 (uncollected) WeakLink objects whose link value pointed to that
6403 object by calling their "collectedLink" method.
6405 </font>
6406 <h3>Slot Index</h3>
6407 <div style="width:40em; margin-left:2em">
6408 <b><a href=#WeakLink-link >link</a></b><br>
6409 <b><a href=#WeakLink-setLink(aValue) >setLink(aValue)</a></b><br>
6410 </div>
6411 <br>
6412 <h3>Slots</h3>
6413 <br>
6414 <b><a name=WeakLink-link><font color=black>link</font></a></b><p>
6415 <div style="width:40em; margin-left:2em">
6416 Returns the link pointer or Nil if none is set.
6418 </font>
6419 </div>
6420 <p><br>
6421 <b><a name=WeakLink-setLink(aValue)><font color=black>setLink(aValue)</font></a></b><p>
6422 <div style="width:40em; margin-left:2em">
6423 Sets the link pointer. Returns self.
6425 </font>
6426 </div>
6427 <p><br>
6428 </ul>
6429 <br>
6430 <hr align=left>
6431 <br>
6432 <h2><a name=nil><font color=black>nil</font></a></h2>
6433 <ul style="width:40em">
6434 <b><font color=#000>Protos:</font></b> Object
6435 <h3>Slot Index</h3>
6436 <div style="width:40em; margin-left:2em">
6437 <b><a href=#nil-and(expression) >and(expression)</a></b><br>
6438 <b><a href=#nil-clone >clone </a></b><br>
6439 <b><a href=#nil-else(expression) >else(expression)</a></b><br>
6440 <b><a href=#nil-ifNil(expression) >ifNil(expression)</a></b><br>
6441 <b><a href=#nil-isNil >isNil </a></b><br>
6442 <b><a href=#nil-or(anObject) >or(anObject)</a></b><br>
6443 <b><a href=#nil-print >print </a></b><br>
6444 <b><a href=#nil-then(expression) >then(expression)</a></b><br>
6445 </div>
6446 <br>
6447 <h3>Slots</h3>
6448 <br>
6449 <b><a name=nil-and(expression)><font color=black>and(expression)</font></a></b><p>
6450 <div style="width:40em; margin-left:2em">
6451 Returns nil without evaluating expression.
6453 </font>
6454 </div>
6455 <p><br>
6456 <b><a name=nil-clone ><font color=black>clone </font></a></b><p>
6457 <div style="width:40em; margin-left:2em">
6458 returns self since nil is a singleton.
6460 </font>
6461 </div>
6462 <p><br>
6463 <b><a name=nil-else(expression)><font color=black>else(expression)</font></a></b><p>
6464 <div style="width:40em; margin-left:2em">
6465 Returns nil without evaluating expression.
6467 </font>
6468 </div>
6469 <p><br>
6470 <b><a name=nil-ifNil(expression)><font color=black>ifNil(expression)</font></a></b><p>
6471 <div style="width:40em; margin-left:2em">
6472 Evaluates message.
6474 </font>
6475 </div>
6476 <p><br>
6477 <b><a name=nil-isNil ><font color=black>isNil </font></a></b><p>
6478 <div style="width:40em; margin-left:2em">
6479 Returns Lobby.
6481 </font>
6482 </div>
6483 <p><br>
6484 <b><a name=nil-or(anObject)><font color=black>or(anObject)</font></a></b><p>
6485 <div style="width:40em; margin-left:2em">
6486 Returns anObject if anObject is not nil. Otherwise returns nil.
6488 </font>
6489 </div>
6490 <p><br>
6491 <b><a name=nil-print ><font color=black>print </font></a></b><p>
6492 <div style="width:40em; margin-left:2em">
6493 Prints 'nil'. Returns self.
6495 </font>
6496 </div>
6497 <p><br>
6498 <b><a name=nil-then(expression)><font color=black>then(expression)</font></a></b><p>
6499 <div style="width:40em; margin-left:2em">
6500 Returns nil without evaluating expression.
6502 </font>
6503 </div>
6504 <p><br>
6505 </ul>
6506 <br>
6507 <hr align=left>
6508 <br>
6509 <h2><a name=true><font color=black>true</font></a></h2>
6510 <ul style="width:40em">
6511 <b><font color=#000>Protos:</font></b> Object
6512 <h3>Slot Index</h3>
6513 <div style="width:40em; margin-left:2em">
6514 <b><a href=#true-and >and </a></b><br>
6515 <b><a href=#true-asSimpleString >asSimpleString </a></b><br>
6516 <b><a href=#true-asString >asString </a></b><br>
6517 <b><a href=#true-clone >clone </a></b><br>
6518 <b><a href=#true-else >else </a></b><br>
6519 <b><a href=#true-elseif >elseif </a></b><br>
6520 <b><a href=#true-ifFalse >ifFalse </a></b><br>
6521 <b><a href=#true-ifTrue >ifTrue </a></b><br>
6522 <b><a href=#true-not >not </a></b><br>
6523 <b><a href=#true-or >or </a></b><br>
6524 <b><a href=#true-then >then </a></b><br>
6525 </div>
6526 <br>
6527 <h3>Slots</h3>
6528 <br>
6529 <b><a name=true-and ><font color=black>and </font></a></b><p>
6530 <div style="width:40em; margin-left:2em">
6531 Evaluates the argument and returns the result.
6533 </font>
6534 </div>
6535 <p><br>
6536 <b><a name=true-asSimpleString ><font color=black>asSimpleString </font></a></b><p>
6537 <div style="width:40em; margin-left:2em">
6538 Returns true.
6540 </font>
6541 </div>
6542 <p><br>
6543 <b><a name=true-asString ><font color=black>asString </font></a></b><p>
6544 <div style="width:40em; margin-left:2em">
6545 Returns true.
6547 </font>
6548 </div>
6549 <p><br>
6550 <b><a name=true-clone ><font color=black>clone </font></a></b><p>
6551 <div style="width:40em; margin-left:2em">
6552 Returns self.
6554 </font>
6555 </div>
6556 <p><br>
6557 <b><a name=true-else ><font color=black>else </font></a></b><p>
6558 <div style="width:40em; margin-left:2em">
6559 Does not eval argument and returns true.
6561 </font>
6562 </div>
6563 <p><br>
6564 <b><a name=true-elseif ><font color=black>elseif </font></a></b><p>
6565 <div style="width:40em; margin-left:2em">
6566 Does not eval argument and returns true.
6568 </font>
6569 </div>
6570 <p><br>
6571 <b><a name=true-ifFalse ><font color=black>ifFalse </font></a></b><p>
6572 <div style="width:40em; margin-left:2em">
6573 Does not eval argument and returns true.
6575 </font>
6576 </div>
6577 <p><br>
6578 <b><a name=true-ifTrue ><font color=black>ifTrue </font></a></b><p>
6579 <div style="width:40em; margin-left:2em">
6580 Evaluates the argument and returns self.
6582 </font>
6583 </div>
6584 <p><br>
6585 <b><a name=true-not ><font color=black>not </font></a></b><p>
6586 <div style="width:40em; margin-left:2em">
6587 Does not eval argument and returns false.
6589 </font>
6590 </div>
6591 <p><br>
6592 <b><a name=true-or ><font color=black>or </font></a></b><p>
6593 <div style="width:40em; margin-left:2em">
6594 Does not eval argument and returns true.
6596 </font>
6597 </div>
6598 <p><br>
6599 <b><a name=true-then ><font color=black>then </font></a></b><p>
6600 <div style="width:40em; margin-left:2em">
6601 Evaluates the argument and returns nil.
6603 </font>
6604 </div>
6605 <p><br>
6606 </ul>
6607 <br>
6608 <hr align=left>
6609 <br>
6610 </ul>
6611 <br>
6612 <br>
6613 <br>
6614 <br>
6615 <br>