4 <title>io - core reference
</title>
5 <META HTTP-EQUIV=
"EXPIRES" CONTENT=
0>
10 text-decoration : none;
14 font-family: 'Serif', 'Helvetica Neue', 'Helvetica', 'Sans';
18 padding:
0em
0em
0em
3.1em;
33 font-family: 'Helvetica-Bold', 'Helvetica';
47 text-decoration: none;
50 vertical-align:
0.000000em;
55 font-family: 'Courier', 'Courier';
66 padding-bottom:
0.000000em;
67 padding-top:
0.000000em;
69 text-decoration: none;
72 vertical-align:
0.000000em;
77 font-family: 'Helvetica', 'Helvetica';
87 margin-top:
0.000000em;
88 padding-bottom:
7.000000pt;
89 padding-top:
21.000000pt;
91 text-decoration: none;
94 vertical-align:
0.000000em;
99 font-family: 'Helvetica-Bold', 'Helvetica';
102 font-variant: normal;
113 text-decoration: none;
115 text-transform: none;
116 vertical-align:
0.000000em;
121 font-family: 'Times-Italic', 'Times';
124 font-variant: normal;
128 margin-bottom:
0.000000em;
130 margin-right:
0.00em;
131 margin-top:
0.000000em;
132 padding-bottom:
0.000000em;
133 padding-top:
0.000000em;
135 text-decoration: none;
137 text-transform: none;
138 vertical-align:
0.000000em;
146 <h1>Io Core Reference Manual
</h1>
147 <div class=Version
>Version
20080117</div>
150 <a href=#Addon
style=
"color: #555;">Addon
</a><br>
151 <a href=#AddonLoader
style=
"color: #555;">AddonLoader
</a><br>
152 <a href=#Block
style=
"color: #555;">Block
</a><br>
153 <a href=#Break
style=
"color: #555;">Break
</a><br>
154 <a href=#Call
style=
"color: #555;">Call
</a><br>
155 <a href=#CFunction
style=
"color: #555;">CFunction
</a><br>
156 <a href=#CLI
style=
"color: #555;">CLI
</a><br>
157 <a href=#Collector
style=
"color: #555;">Collector
</a><br>
158 <a href=#Compiler
style=
"color: #555;">Compiler
</a><br>
159 <a href=#Continue
style=
"color: #555;">Continue
</a><br>
160 <a href=#Coroutine
style=
"color: #555;">Coroutine
</a><br>
161 <a href=#Date
style=
"color: #555;">Date
</a><br>
162 <a href=#Debugger
style=
"color: #555;">Debugger
</a><br>
163 <a href=#Directory
style=
"color: #555;">Directory
</a><br>
164 <a href=#Duration
style=
"color: #555;">Duration
</a><br>
165 <a href=#DynLib
style=
"color: #555;">DynLib
</a><br>
166 <a href=#Eol
style=
"color: #555;">Eol
</a><br>
167 <a href=#Error
style=
"color: #555;">Error
</a><br>
168 <a href=#Exception
style=
"color: #555;">Exception
</a><br>
169 <a href=#false
style=
"color: #555;">false
</a><br>
170 <a href=#File
style=
"color: #555;">File
</a><br>
171 <a href=#Future
style=
"color: #555;">Future
</a><br>
172 <a href=#FutureProxy
style=
"color: #555;">FutureProxy
</a><br>
173 <a href=#Importer
style=
"color: #555;">Importer
</a><br>
174 <a href=#Map
style=
"color: #555;">Map
</a><br>
175 <a href=#Message
style=
"color: #555;">Message
</a><br>
176 <a href=#Normal
style=
"color: #555;">Normal
</a><br>
177 <a href=#Notifier
style=
"color: #555;">Notifier
</a><br>
178 <a href=#Number
style=
"color: #555;">Number
</a><br>
179 <a href=#Object
style=
"color: #555;">Object
</a><br>
180 <a href=#OperatorTable
style=
"color: #555;">OperatorTable
</a><br>
181 <a href=#Path
style=
"color: #555;">Path
</a><br>
182 <a href=#Return
style=
"color: #555;">Return
</a><br>
183 <a href=#Sandbox
style=
"color: #555;">Sandbox
</a><br>
184 <a href=#Scheduler
style=
"color: #555;">Scheduler
</a><br>
185 <a href=#SerializationStream
style=
"color: #555;">SerializationStream
</a><br>
186 <a href=#System
style=
"color: #555;">System
</a><br>
187 <a href=#TestSuite
style=
"color: #555;">TestSuite
</a><br>
188 <a href=#true
style=
"color: #555;">true
</a><br>
189 <a href=#UnitTest
style=
"color: #555;">UnitTest
</a><br>
190 <a href=#Vector
style=
"color: #555;">Vector
</a><br>
191 <a href=#WeakLink
style=
"color: #555;">WeakLink
</a><br>
193 <h2><a name=Addon
><font color=black
>Addon
</font></a></h2>
194 <ul style=
"width:40em">
195 <b><font color=#
000>Protos:
</font></b> Object
197 <div style=
"width:40em; margin-left:2em">
198 <b><a href=#Addon-addonPath
>addonPath
</a></b><br>
199 <b><a href=#Addon-addonProtos
>addonProtos
</a></b><br>
200 <b><a href=#Addon-dependencies
>dependencies
</a></b><br>
201 <b><a href=#Addon-dllName
>dllName
</a></b><br>
202 <b><a href=#Addon-dllPath
>dllPath
</a></b><br>
203 <b><a href=#Addon-dllSuffix
>dllSuffix
</a></b><br>
204 <b><a href=#Addon-exists
>exists
</a></b><br>
205 <b><a href=#Addon-ioFiles
>ioFiles
</a></b><br>
206 <b><a href=#Addon-load
>load
</a></b><br>
207 <b><a href=#Addon-loadDependencies
>loadDependencies
</a></b><br>
208 <b><a href=#Addon-name
>name
</a></b><br>
209 <b><a href=#Addon-platform
>platform
</a></b><br>
210 <b><a href=#Addon-rootPath
>rootPath
</a></b><br>
211 <b><a href=#Addon-setName
>setName()
</a></b><br>
212 <b><a href=#Addon-setRootPath
>setRootPath()
</a></b><br>
213 <b><a href=#Addon-sourcePath
>sourcePath
</a></b><br>
218 <b><a name=Addon-addonPath
><font color=black
>addonPath
</font></a></b><p>
219 <div style=
"width:40em; margin-left:2em">
220 Implemented as Path with(rootPath, name).
224 <b><a name=Addon-addonProtos
><font color=black
>addonProtos
</font></a></b><p>
225 <div style=
"width:40em; margin-left:2em">
226 Returns names of protos defined in the addon from the addon's protos file.
230 <b><a name=Addon-dependencies
><font color=black
>dependencies
</font></a></b><p>
231 <div style=
"width:40em; margin-left:2em">
232 Returns the list of dependencies from the addon's depends file.
236 <b><a name=Addon-dllName
><font color=black
>dllName
</font></a></b><p>
237 <div style=
"width:40em; margin-left:2em">
238 Return the name of the dll for the addon.
242 <b><a name=Addon-dllPath
><font color=black
>dllPath
</font></a></b><p>
243 <div style=
"width:40em; margin-left:2em">
244 Returns the path to the dll for the addon. Note: not all addons have dlls - some just contain io files.
248 <b><a name=Addon-dllSuffix
><font color=black
>dllSuffix
</font></a></b><p>
249 <div style=
"width:40em; margin-left:2em">
250 Returns the platform specific dll suffix.
254 <b><a name=Addon-exists
><font color=black
>exists
</font></a></b><p>
255 <div style=
"width:40em; margin-left:2em">
256 Returns true if the addonPath exists, false otherwise.
260 <b><a name=Addon-ioFiles
><font color=black
>ioFiles
</font></a></b><p>
261 <div style=
"width:40em; margin-left:2em">
262 Return list of io File objects for the io files in the io folder of the addon.
266 <b><a name=Addon-load
><font color=black
>load
</font></a></b><p>
267 <div style=
"width:40em; margin-left:2em">
272 <b><a name=Addon-loadDependencies
><font color=black
>loadDependencies
</font></a></b><p>
273 <div style=
"width:40em; margin-left:2em">
274 Loads the addon's dependencies. Called from the load method.
278 <b><a name=Addon-name
><font color=black
>name
</font></a></b><p>
279 <div style=
"width:40em; margin-left:2em">
280 Returns the name of the addon.
284 <b><a name=Addon-platform
><font color=black
>platform
</font></a></b><p>
285 <div style=
"width:40em; margin-left:2em">
286 Implemented as method(System platform split at(
0) asLowercase).
290 <b><a name=Addon-rootPath
><font color=black
>rootPath
</font></a></b><p>
291 <div style=
"width:40em; margin-left:2em">
292 Returns the rootPath of the addon's folder.
296 <b><a name=Addon-setName
><font color=black
>setName(
</b><i>aSequence
</i><b>)
298 <div style=
"width:40em; margin-left:2em">
299 Sets the name of the addon. Returns self.
303 <b><a name=Addon-setRootPath
><font color=black
>setRootPath(
</b><i>aSequence
</i><b>)
305 <div style=
"width:40em; margin-left:2em">
306 Sets rootPath of the addon's folder. Returns self.
310 <b><a name=Addon-sourcePath
><font color=black
>sourcePath
</font></a></b><p>
311 <div style=
"width:40em; margin-left:2em">
312 Returns the path of the source folder for the addon.
320 <h2><a name=AddonLoader
><font color=black
>AddonLoader
</font></a></h2>
321 <ul style=
"width:40em">
322 <b><font color=#
000>Protos:
</font></b> Object
324 <div style=
"width:40em; margin-left:2em">
325 <b><a href=#AddonLoader-addonFor
>addonFor()
</a></b><br>
326 <b><a href=#AddonLoader-addons
>addons
</a></b><br>
327 <b><a href=#AddonLoader-appendSearchPath
>appendSearchPath()
</a></b><br>
328 <b><a href=#AddonLoader-hasAddonNamed
>hasAddonNamed()
</a></b><br>
329 <b><a href=#AddonLoader-loadAddonNamed
>loadAddonNamed()
</a></b><br>
330 <b><a href=#AddonLoader-searchPaths
>searchPaths
</a></b><br>
335 <b><a name=AddonLoader-addonFor
><font color=black
>addonFor(
</b><i>aName
</i><b>)
337 <div style=
"width:40em; margin-left:2em">
338 Returns the Addon with the given name if it can be found or nil otherwise.
342 <b><a name=AddonLoader-addons
><font color=black
>addons
</font></a></b><p>
343 <div style=
"width:40em; margin-left:2em">
344 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.
348 <b><a name=AddonLoader-appendSearchPath
><font color=black
>appendSearchPath(
</b><i>aSequence
</i><b>)
350 <div style=
"width:40em; margin-left:2em">
351 Appends the argument to the list of search paths.
355 <b><a name=AddonLoader-hasAddonNamed
><font color=black
>hasAddonNamed(
</b><i>aName
</i><b>)
357 <div style=
"width:40em; margin-left:2em">
358 Returns true if the named addon can be found, false otherwise.
362 <b><a name=AddonLoader-loadAddonNamed
><font color=black
>loadAddonNamed(
</b><i>aName
</i><b>)
364 <div style=
"width:40em; margin-left:2em">
365 Loads the Addon with the given name if it can be found or nil otherwise.
369 <b><a name=AddonLoader-searchPaths
><font color=black
>searchPaths
</font></a></b><p>
370 <div style=
"width:40em; margin-left:2em">
371 Returns the list of paths to search for addons.
379 <h2><a name=Block
><font color=black
>Block
</font></a></h2>
380 <ul style=
"width:40em">
381 <b><font color=#
000>Protos:
</font></b> Object
383 Blocks are anonymous functions (messages with their own locals object). They are typically used to represent object methods.
386 <div style=
"width:40em; margin-left:2em">
387 <b><a href=#Block-Formatter
>Formatter
</a></b><br>
388 <b><a href=#Block-argumentNames
>argumentNames
</a></b><br>
389 <b><a href=#Block-asSimpleString
>asSimpleString
</a></b><br>
390 <b><a href=#Block-asString
>asString
</a></b><br>
391 <b><a href=#Block-call
>call()
</a></b><br>
392 <b><a href=#Block-code
>code
</a></b><br>
393 <b><a href=#Block-justSerialized
>justSerialized()
</a></b><br>
394 <b><a href=#Block-message
>message
</a></b><br>
395 <b><a href=#Block-passStops
>passStops
</a></b><br>
396 <b><a href=#Block-performOn
>performOn()
</a></b><br>
397 <b><a href=#Block-print
>print
</a></b><br>
398 <b><a href=#Block-scope
>scope
</a></b><br>
399 <b><a href=#Block-setArgumentNames
>setArgumentNames()
</a></b><br>
400 <b><a href=#Block-setCode
>setCode()
</a></b><br>
401 <b><a href=#Block-setMessage
>setMessage()
</a></b><br>
402 <b><a href=#Block-setPassStops
>setPassStops()
</a></b><br>
403 <b><a href=#Block-setScope
>setScope()
</a></b><br>
408 <b><a name=Block-Formatter
><font color=black
>Formatter
</font></a></b><p>
409 <div style=
"width:40em; margin-left:2em">
410 <font color=red
>undocumented
</font>
414 <b><a name=Block-argumentNames
><font color=black
>argumentNames
</font></a></b><p>
415 <div style=
"width:40em; margin-left:2em">
416 Returns a List of strings containing the argument names of the receiver.
420 <b><a name=Block-asSimpleString
><font color=black
>asSimpleString
</font></a></b><p>
421 <div style=
"width:40em; margin-left:2em">
422 Returns a short description of the receiver.
426 <b><a name=Block-asString
><font color=black
>asString
</font></a></b><p>
427 <div style=
"width:40em; margin-left:2em">
428 Returns a full description of the receiver with decompiled code.
432 <b><a name=Block-call
><font color=black
>call(
</b><i>arg0, arg1, ...
</i><b>)
434 <div style=
"width:40em; margin-left:2em">
435 Activates the receiver with the provided arguments.
439 <b><a name=Block-code
><font color=black
>code
</font></a></b><p>
440 <div style=
"width:40em; margin-left:2em">
441 Returns a string containing the decompiled code of the receiver.
445 <b><a name=Block-justSerialized
><font color=black
>justSerialized(
</b><i>stream
</i><b>)
447 <div style=
"width:40em; margin-left:2em">
448 Write's the receivers code into the stream.
452 <b><a name=Block-message
><font color=black
>message
</font></a></b><p>
453 <div style=
"width:40em; margin-left:2em">
454 Returns the root message of the receiver.
458 <b><a name=Block-passStops
><font color=black
>passStops
</font></a></b><p>
459 <div style=
"width:40em; margin-left:2em">
460 Returns whether or not the receiver passes return/continue/break to caller.
464 <b><a name=Block-performOn
><font color=black
>performOn(
</b><i>anObject, optionalLocals, optionalMessage, optionalSlotContext
</i><b>)
466 <div style=
"width:40em; margin-left:2em">
467 Activates the receiver in the target context of anObject.
472 <b><a name=Block-print
><font color=black
>print
</font></a></b><p>
473 <div style=
"width:40em; margin-left:2em">
474 prints an Io source code representation of the block/method
478 <b><a name=Block-scope
><font color=black
>scope
</font></a></b><p>
479 <div style=
"width:40em; margin-left:2em">
480 Returns the scope used when the block is activated or
481 Nil if the target of the message is the scope.
485 <b><a name=Block-setArgumentNames
><font color=black
>setArgumentNames(
</b><i>aListOfStrings
</i><b>)
487 <div style=
"width:40em; margin-left:2em">
488 Sets the receiver's argument names to those specified in
489 aListOfStrings. Returns self.
493 <b><a name=Block-setCode
><font color=black
>setCode(
</b><i>aString
</i><b>)
495 <div style=
"width:40em; margin-left:2em">
496 Set's the reciever's message to a compiled version of aString. Returns self
500 <b><a name=Block-setMessage
><font color=black
>setMessage(
</b><i>aMessage
</i><b>)
502 <div style=
"width:40em; margin-left:2em">
503 Sets the root message of the receiver to aMessage.
507 <b><a name=Block-setPassStops
><font color=black
>setPassStops(
</b><i>aBool
</i><b>)
509 <div style=
"width:40em; margin-left:2em">
510 Sets whether the receiver passes return/continue/break to caller.
514 <b><a name=Block-setScope
><font color=black
>setScope(
</b><i>anObjectOrNil
</i><b>)
516 <div style=
"width:40em; margin-left:2em">
517 If argument is an object, when the block is activated,
518 it will set the proto and self slots of it's locals to the specified
519 object. If Nil, it will set them to the target of the message.
527 <h2><a name=Break
><font color=black
>Break
</font></a></h2>
528 <ul style=
"width:40em">
529 <b><font color=#
000>Protos:
</font></b> Object, Normal
531 <div style=
"width:40em; margin-left:2em">
532 <b><a href=#Break-isBreak
>isBreak
</a></b><br>
533 <b><a href=#Break-stopLooping
>stopLooping
</a></b><br>
538 <b><a name=Break-isBreak
><font color=black
>isBreak
</font></a></b><p>
539 <div style=
"width:40em; margin-left:2em">
540 <font color=red
>undocumented
</font>
544 <b><a name=Break-stopLooping
><font color=black
>stopLooping
</font></a></b><p>
545 <div style=
"width:40em; margin-left:2em">
546 <font color=red
>undocumented
</font>
554 <h2><a name=Call
><font color=black
>Call
</font></a></h2>
555 <ul style=
"width:40em">
556 <b><font color=#
000>Protos:
</font></b> Object
558 Call stores slots related to activation.
561 <div style=
"width:40em; margin-left:2em">
562 <b><a href=#Call-activated
>activated
</a></b><br>
563 <b><a href=#Call-argAt
>argAt()
</a></b><br>
564 <b><a href=#Call-argCount
>argCount
</a></b><br>
565 <b><a href=#Call-coroutine
>coroutine
</a></b><br>
566 <b><a href=#Call-delegateTo
>delegateTo
</a></b><br>
567 <b><a href=#Call-delegateToMethod
>delegateToMethod
</a></b><br>
568 <b><a href=#Call-description
>description
</a></b><br>
569 <b><a href=#Call-evalArgAt
>evalArgAt()
</a></b><br>
570 <b><a href=#Call-evalArgs
>evalArgs
</a></b><br>
571 <b><a href=#Call-hasArgs
>hasArgs
</a></b><br>
572 <b><a href=#Call-message
>message
</a></b><br>
573 <b><a href=#Call-relayStopStatus
>relayStopStatus
</a></b><br>
574 <b><a href=#Call-resetStopStatus
>resetStopStatus
</a></b><br>
575 <b><a href=#Call-sender
>sender
</a></b><br>
576 <b><a href=#Call-setStopStatus
>setStopStatus
</a></b><br>
577 <b><a href=#Call-slotContext
>slotContext
</a></b><br>
578 <b><a href=#Call-target
>target
</a></b><br>
583 <b><a name=Call-activated
><font color=black
>activated
</font></a></b><p>
584 <div style=
"width:40em; margin-left:2em">
585 Returns the coroutine in which the message was sent.
589 <b><a name=Call-argAt
><font color=black
>argAt(
</b><i>argNumber
</i><b>)
591 <div style=
"width:40em; margin-left:2em">
592 Returns the message's argNumber arg. Shorthand for same as call message argAt(argNumber).
596 <b><a name=Call-argCount
><font color=black
>argCount
</font></a></b><p>
597 <div style=
"width:40em; margin-left:2em">
598 <font color=red
>undocumented
</font>
602 <b><a name=Call-coroutine
><font color=black
>coroutine
</font></a></b><p>
603 <div style=
"width:40em; margin-left:2em">
604 <font color=red
>undocumented
</font>
608 <b><a name=Call-delegateTo
><font color=black
>delegateTo
</font></a></b><p>
609 <div style=
"width:40em; margin-left:2em">
610 <font color=red
>undocumented
</font>
614 <b><a name=Call-delegateToMethod
><font color=black
>delegateToMethod
</font></a></b><p>
615 <div style=
"width:40em; margin-left:2em">
616 <font color=red
>undocumented
</font>
620 <b><a name=Call-description
><font color=black
>description
</font></a></b><p>
621 <div style=
"width:40em; margin-left:2em">
622 Returns a description of the receiver as a String.
626 <b><a name=Call-evalArgAt
><font color=black
>evalArgAt(
</b><i>argNumber
</i><b>)
628 <div style=
"width:40em; margin-left:2em">
629 Evaluates the specified argument of the Call's message in the context of it's sender.
633 <b><a name=Call-evalArgs
><font color=black
>evalArgs
</font></a></b><p>
634 <div style=
"width:40em; margin-left:2em">
635 <font color=red
>undocumented
</font>
639 <b><a name=Call-hasArgs
><font color=black
>hasArgs
</font></a></b><p>
640 <div style=
"width:40em; margin-left:2em">
641 <font color=red
>undocumented
</font>
645 <b><a name=Call-message
><font color=black
>message
</font></a></b><p>
646 <div style=
"width:40em; margin-left:2em">
647 Returns the message value.
651 <b><a name=Call-relayStopStatus
><font color=black
>relayStopStatus
</font></a></b><p>
652 <div style=
"width:40em; margin-left:2em">
653 <font color=red
>undocumented
</font>
657 <b><a name=Call-resetStopStatus
><font color=black
>resetStopStatus
</font></a></b><p>
658 <div style=
"width:40em; margin-left:2em">
659 <font color=red
>undocumented
</font>
663 <b><a name=Call-sender
><font color=black
>sender
</font></a></b><p>
664 <div style=
"width:40em; margin-left:2em">
665 Returns the sender value.
669 <b><a name=Call-setStopStatus
><font color=black
>setStopStatus
</font></a></b><p>
670 <div style=
"width:40em; margin-left:2em">
671 <font color=red
>undocumented
</font>
675 <b><a name=Call-slotContext
><font color=black
>slotContext
</font></a></b><p>
676 <div style=
"width:40em; margin-left:2em">
677 Returns the slotContext value.
681 <b><a name=Call-target
><font color=black
>target
</font></a></b><p>
682 <div style=
"width:40em; margin-left:2em">
683 Returns the target value.
691 <h2><a name=CFunction
><font color=black
>CFunction
</font></a></h2>
692 <ul style=
"width:40em">
693 <b><font color=#
000>Protos:
</font></b> Object
695 A container for a pointer to a C function binding. CFunction's can only be defined from the C side and act like blocks in that when placed in a slot, are called when the slot is activated. The for, if, while and clone methods of the Lobby are examples of CFunctions. CFunctions are useful for implementing methods that require the speed of C or binding to a C library.
698 <div style=
"width:40em; margin-left:2em">
699 <b><a href=#CFunction-==
>==()
</a></b><br>
700 <b><a href=#CFunction-asSimpleString
>asSimpleString
</a></b><br>
701 <b><a href=#CFunction-asString
>asString
</a></b><br>
702 <b><a href=#CFunction-id
>id
</a></b><br>
703 <b><a href=#CFunction-name
>name
</a></b><br>
704 <b><a href=#CFunction-performOn
>performOn()
</a></b><br>
705 <b><a href=#CFunction-type
>type
</a></b><br>
706 <b><a href=#CFunction-typeName
>typeName
</a></b><br>
707 <b><a href=#CFunction-uniqueName
>uniqueName
</a></b><br>
712 <b><a name=CFunction-==
><font color=black
>==(
</b><i>anObject
</i><b>)
714 <div style=
"width:40em; margin-left:2em">
715 Returns self if the argument is a CFunction with the same internal C function pointer.
719 <b><a name=CFunction-asSimpleString
><font color=black
>asSimpleString
</font></a></b><p>
720 <div style=
"width:40em; margin-left:2em">
721 Returns the CFunction name.
725 <b><a name=CFunction-asString
><font color=black
>asString
</font></a></b><p>
726 <div style=
"width:40em; margin-left:2em">
727 Same as asSimpleString.
731 <b><a name=CFunction-id
><font color=black
>id
</font></a></b><p>
732 <div style=
"width:40em; margin-left:2em">
733 Returns a number containing a unique id for the receiver's internal C function.
737 <b><a name=CFunction-name
><font color=black
>name
</font></a></b><p>
738 <div style=
"width:40em; margin-left:2em">
739 Returns the CFunction name in the form CFunction_Pointer.
743 <b><a name=CFunction-performOn
><font color=black
>performOn(
</b><i>target, blockLocals, optionalMessage, optionalContext
</i><b>)
745 <div style=
"width:40em; margin-left:2em">
746 Activates the CFunctions with the supplied settings.
750 <b><a name=CFunction-type
><font color=black
>type
</font></a></b><p>
751 <div style=
"width:40em; margin-left:2em">
756 <b><a name=CFunction-typeName
><font color=black
>typeName
</font></a></b><p>
757 <div style=
"width:40em; margin-left:2em">
758 Returns the owning type of the CFunction or nil if the CFunction can be called on any object.
762 <b><a name=CFunction-uniqueName
><font color=black
>uniqueName
</font></a></b><p>
763 <div style=
"width:40em; margin-left:2em">
764 Returns the name given to the CFunction.
772 <h2><a name=CLI
><font color=black
>CLI
</font></a></h2>
773 <ul style=
"width:40em">
774 <b><font color=#
000>Protos:
</font></b> Object
776 <div style=
"width:40em; margin-left:2em">
777 <b><a href=#CLI-commandLineLabel
>commandLineLabel
</a></b><br>
778 <b><a href=#CLI-compileErrorMessage
>compileErrorMessage
</a></b><br>
779 <b><a href=#CLI-context
>context
</a></b><br>
780 <b><a href=#CLI-continuedLinePrompt
>continuedLinePrompt
</a></b><br>
781 <b><a href=#CLI-errorMessage
>errorMessage
</a></b><br>
782 <b><a href=#CLI-handleInteractiveMultiline
>handleInteractiveMultiline
</a></b><br>
783 <b><a href=#CLI-interactive
>interactive
</a></b><br>
784 <b><a href=#CLI-interactiveMultiline
>interactiveMultiline
</a></b><br>
785 <b><a href=#CLI-interactiveNoLineReader
>interactiveNoLineReader
</a></b><br>
786 <b><a href=#CLI-ioHistoryFile
>ioHistoryFile
</a></b><br>
787 <b><a href=#CLI-isRunning
>isRunning
</a></b><br>
788 <b><a href=#CLI-knownErrorMissingArgument
>knownErrorMissingArgument
</a></b><br>
789 <b><a href=#CLI-knownErrors
>knownErrors
</a></b><br>
790 <b><a href=#CLI-lineReader
>lineReader
</a></b><br>
791 <b><a href=#CLI-loadHistory
>loadHistory
</a></b><br>
792 <b><a href=#CLI-outPrompt
>outPrompt
</a></b><br>
793 <b><a href=#CLI-prompt
>prompt
</a></b><br>
794 <b><a href=#CLI-run
>run
</a></b><br>
795 <b><a href=#CLI-runFile
>runFile
</a></b><br>
796 <b><a href=#CLI-runIorc
>runIorc
</a></b><br>
797 <b><a href=#CLI-saveHistory
>saveHistory
</a></b><br>
798 <b><a href=#CLI-setCommandLineLabel
>setCommandLineLabel
</a></b><br>
799 <b><a href=#CLI-setContext
>setContext
</a></b><br>
800 <b><a href=#CLI-setContinuedLinePrompt
>setContinuedLinePrompt
</a></b><br>
801 <b><a href=#CLI-setIsRunning
>setIsRunning
</a></b><br>
802 <b><a href=#CLI-setLineReader
>setLineReader
</a></b><br>
803 <b><a href=#CLI-setOutPrompt
>setOutPrompt
</a></b><br>
804 <b><a href=#CLI-setPrompt
>setPrompt
</a></b><br>
805 <b><a href=#CLI-stop
>stop
</a></b><br>
806 <b><a href=#CLI-writeCommandResult
>writeCommandResult
</a></b><br>
811 <b><a name=CLI-commandLineLabel
><font color=black
>commandLineLabel
</font></a></b><p>
812 <div style=
"width:40em; margin-left:2em">
813 <font color=red
>undocumented
</font>
817 <b><a name=CLI-compileErrorMessage
><font color=black
>compileErrorMessage
</font></a></b><p>
818 <div style=
"width:40em; margin-left:2em">
819 <font color=red
>undocumented
</font>
823 <b><a name=CLI-context
><font color=black
>context
</font></a></b><p>
824 <div style=
"width:40em; margin-left:2em">
825 <font color=red
>undocumented
</font>
829 <b><a name=CLI-continuedLinePrompt
><font color=black
>continuedLinePrompt
</font></a></b><p>
830 <div style=
"width:40em; margin-left:2em">
831 <font color=red
>undocumented
</font>
835 <b><a name=CLI-errorMessage
><font color=black
>errorMessage
</font></a></b><p>
836 <div style=
"width:40em; margin-left:2em">
837 <font color=red
>undocumented
</font>
841 <b><a name=CLI-handleInteractiveMultiline
><font color=black
>handleInteractiveMultiline
</font></a></b><p>
842 <div style=
"width:40em; margin-left:2em">
843 <font color=red
>undocumented
</font>
847 <b><a name=CLI-interactive
><font color=black
>interactive
</font></a></b><p>
848 <div style=
"width:40em; margin-left:2em">
849 <font color=red
>undocumented
</font>
853 <b><a name=CLI-interactiveMultiline
><font color=black
>interactiveMultiline
</font></a></b><p>
854 <div style=
"width:40em; margin-left:2em">
855 <font color=red
>undocumented
</font>
859 <b><a name=CLI-interactiveNoLineReader
><font color=black
>interactiveNoLineReader
</font></a></b><p>
860 <div style=
"width:40em; margin-left:2em">
861 <font color=red
>undocumented
</font>
865 <b><a name=CLI-ioHistoryFile
><font color=black
>ioHistoryFile
</font></a></b><p>
866 <div style=
"width:40em; margin-left:2em">
867 <font color=red
>undocumented
</font>
871 <b><a name=CLI-isRunning
><font color=black
>isRunning
</font></a></b><p>
872 <div style=
"width:40em; margin-left:2em">
873 <font color=red
>undocumented
</font>
877 <b><a name=CLI-knownErrorMissingArgument
><font color=black
>knownErrorMissingArgument
</font></a></b><p>
878 <div style=
"width:40em; margin-left:2em">
879 <font color=red
>undocumented
</font>
883 <b><a name=CLI-knownErrors
><font color=black
>knownErrors
</font></a></b><p>
884 <div style=
"width:40em; margin-left:2em">
885 <font color=red
>undocumented
</font>
889 <b><a name=CLI-lineReader
><font color=black
>lineReader
</font></a></b><p>
890 <div style=
"width:40em; margin-left:2em">
891 <font color=red
>undocumented
</font>
895 <b><a name=CLI-loadHistory
><font color=black
>loadHistory
</font></a></b><p>
896 <div style=
"width:40em; margin-left:2em">
897 <font color=red
>undocumented
</font>
901 <b><a name=CLI-outPrompt
><font color=black
>outPrompt
</font></a></b><p>
902 <div style=
"width:40em; margin-left:2em">
903 <font color=red
>undocumented
</font>
907 <b><a name=CLI-prompt
><font color=black
>prompt
</font></a></b><p>
908 <div style=
"width:40em; margin-left:2em">
909 <font color=red
>undocumented
</font>
913 <b><a name=CLI-run
><font color=black
>run
</font></a></b><p>
914 <div style=
"width:40em; margin-left:2em">
915 <font color=red
>undocumented
</font>
919 <b><a name=CLI-runFile
><font color=black
>runFile
</font></a></b><p>
920 <div style=
"width:40em; margin-left:2em">
921 <font color=red
>undocumented
</font>
925 <b><a name=CLI-runIorc
><font color=black
>runIorc
</font></a></b><p>
926 <div style=
"width:40em; margin-left:2em">
927 <font color=red
>undocumented
</font>
931 <b><a name=CLI-saveHistory
><font color=black
>saveHistory
</font></a></b><p>
932 <div style=
"width:40em; margin-left:2em">
933 <font color=red
>undocumented
</font>
937 <b><a name=CLI-setCommandLineLabel
><font color=black
>setCommandLineLabel
</font></a></b><p>
938 <div style=
"width:40em; margin-left:2em">
939 <font color=red
>undocumented
</font>
943 <b><a name=CLI-setContext
><font color=black
>setContext
</font></a></b><p>
944 <div style=
"width:40em; margin-left:2em">
945 <font color=red
>undocumented
</font>
949 <b><a name=CLI-setContinuedLinePrompt
><font color=black
>setContinuedLinePrompt
</font></a></b><p>
950 <div style=
"width:40em; margin-left:2em">
951 <font color=red
>undocumented
</font>
955 <b><a name=CLI-setIsRunning
><font color=black
>setIsRunning
</font></a></b><p>
956 <div style=
"width:40em; margin-left:2em">
957 <font color=red
>undocumented
</font>
961 <b><a name=CLI-setLineReader
><font color=black
>setLineReader
</font></a></b><p>
962 <div style=
"width:40em; margin-left:2em">
963 <font color=red
>undocumented
</font>
967 <b><a name=CLI-setOutPrompt
><font color=black
>setOutPrompt
</font></a></b><p>
968 <div style=
"width:40em; margin-left:2em">
969 <font color=red
>undocumented
</font>
973 <b><a name=CLI-setPrompt
><font color=black
>setPrompt
</font></a></b><p>
974 <div style=
"width:40em; margin-left:2em">
975 <font color=red
>undocumented
</font>
979 <b><a name=CLI-stop
><font color=black
>stop
</font></a></b><p>
980 <div style=
"width:40em; margin-left:2em">
981 <font color=red
>undocumented
</font>
985 <b><a name=CLI-writeCommandResult
><font color=black
>writeCommandResult
</font></a></b><p>
986 <div style=
"width:40em; margin-left:2em">
987 <font color=red
>undocumented
</font>
995 <h2><a name=Collector
><font color=black
>Collector
</font></a></h2>
996 <ul style=
"width:40em">
997 <b><font color=#
000>Protos:
</font></b> Object
999 Contains methods related to Io's garbage collector. Io currently uses a incremental, non-moving, generational collector based on the tri-color (black/gray/white) algorithm with a write-barrier.
1001 Every N number of object allocs, the collector will walk some of the objects marked as gray, marking their connected white objects as gray and turning themselves black. Every M allocs, it will pause for a sweep where it makes sure all grays are marked black and io_frees all whites.
1003 If the sweepsPerGeneration is set to zero, it will immediately mark all blacks as white again and mark the root objects as gray. Otherwise, it will wait until the sweepsPerGeneration count is reached to do this. By adjusting the allocsPerSweep and sweepsPerGeneration appropriately, the collector can be tuned efficiently for various usage cases. Generally, the more objects in your heap, the larger you'll want this number.
1006 <div style=
"width:40em; margin-left:2em">
1007 <b><a href=#Collector-allObjects
>allObjects
</a></b><br>
1008 <b><a href=#Collector-allocatedStep
>allocatedStep
</a></b><br>
1009 <b><a href=#Collector-allocsPerMark
>allocsPerMark
</a></b><br>
1010 <b><a href=#Collector-collect
>collect
</a></b><br>
1011 <b><a href=#Collector-marksPerAlloc
>marksPerAlloc
</a></b><br>
1012 <b><a href=#Collector-maxAllocatedBytes
>maxAllocatedBytes
</a></b><br>
1013 <b><a href=#Collector-resetMaxAllocatedBytes
>resetMaxAllocatedBytes
</a></b><br>
1014 <b><a href=#Collector-setAllocatedStep
>setAllocatedStep()
</a></b><br>
1015 <b><a href=#Collector-setDebug
>setDebug()
</a></b><br>
1016 <b><a href=#Collector-setMarksPerAlloc
>setMarksPerAlloc()
</a></b><br>
1017 <b><a href=#Collector-showStats
>showStats
</a></b><br>
1018 <b><a href=#Collector-timeUsed
>timeUsed
</a></b><br>
1023 <b><a name=Collector-allObjects
><font color=black
>allObjects
</font></a></b><p>
1024 <div style=
"width:40em; margin-left:2em">
1025 Returns a List containing all objects known to the collector.
1029 <b><a name=Collector-allocatedStep
><font color=black
>allocatedStep
</font></a></b><p>
1030 <div style=
"width:40em; margin-left:2em">
1031 Return the allocation step value as a Number.
1035 <b><a name=Collector-allocsPerMark
><font color=black
>allocsPerMark
</font></a></b><p>
1036 <div style=
"width:40em; margin-left:2em">
1037 Return the number of allocations per collector mark pass.
1041 <b><a name=Collector-collect
><font color=black
>collect
</font></a></b><p>
1042 <div style=
"width:40em; margin-left:2em">
1043 Runs garbage collector. Returns the number of items collected.
1047 <b><a name=Collector-marksPerAlloc
><font color=black
>marksPerAlloc
</font></a></b><p>
1048 <div style=
"width:40em; margin-left:2em">
1049 <font color=red
>undocumented
</font>
1053 <b><a name=Collector-maxAllocatedBytes
><font color=black
>maxAllocatedBytes
</font></a></b><p>
1054 <div style=
"width:40em; margin-left:2em">
1055 <font color=red
>undocumented
</font>
1059 <b><a name=Collector-resetMaxAllocatedBytes
><font color=black
>resetMaxAllocatedBytes
</font></a></b><p>
1060 <div style=
"width:40em; margin-left:2em">
1061 <font color=red
>undocumented
</font>
1065 <b><a name=Collector-setAllocatedStep
><font color=black
>setAllocatedStep(
</b><i>aNumber
</i><b>)
1067 <div style=
"width:40em; margin-left:2em">
1068 Sets the allocatedStep (can have a fractional component, but must be larger than
1). A collector sweep is forced when the number of allocated objects exceeds the allocatedSweepLevel. After a sweep, the allocatedSweepLevel is set to the allocated object count times the allocatedStep. Returns self.
1072 <b><a name=Collector-setDebug
><font color=black
>setDebug(
</b><i>aBool
</i><b>)
1074 <div style=
"width:40em; margin-left:2em">
1075 Turns on/off printing of collector debugging messages. Returns self.
1079 <b><a name=Collector-setMarksPerAlloc
><font color=black
>setMarksPerAlloc(
</b><i>aNumber
</i><b>)
1081 <div style=
"width:40em; margin-left:2em">
1082 Sets the number of incremental collector marks per object allocation (can be fractional). Returns self.
1086 <b><a name=Collector-showStats
><font color=black
>showStats
</font></a></b><p>
1087 <div style=
"width:40em; margin-left:2em">
1088 <font color=red
>undocumented
</font>
1092 <b><a name=Collector-timeUsed
><font color=black
>timeUsed
</font></a></b><p>
1093 <div style=
"width:40em; margin-left:2em">
1094 Return the time used so far by the collector in seconds.
1102 <h2><a name=Compiler
><font color=black
>Compiler
</font></a></h2>
1103 <ul style=
"width:40em">
1104 <b><font color=#
000>Protos:
</font></b> Object
1105 <h3>Description
</h3>
1106 Contains methods related to the compiling code.
1109 <div style=
"width:40em; margin-left:2em">
1110 <b><a href=#Compiler-messageForString
>messageForString()
</a></b><br>
1111 <b><a href=#Compiler-messageForString2
>messageForString2
</a></b><br>
1112 <b><a href=#Compiler-messageForTokens
>messageForTokens()
</a></b><br>
1113 <b><a href=#Compiler-tokensForString
>tokensForString()
</a></b><br>
1118 <b><a name=Compiler-messageForString
><font color=black
>messageForString(
</b><i>aString, optionalLabelString
</i><b>)
1120 <div style=
"width:40em; margin-left:2em">
1121 Returns the compiled message object for aString.
1125 <b><a name=Compiler-messageForString2
><font color=black
>messageForString2
</font></a></b><p>
1126 <div style=
"width:40em; margin-left:2em">
1127 <font color=red
>undocumented
</font>
1131 <b><a name=Compiler-messageForTokens
><font color=black
>messageForTokens(
</b><i>aList
</i><b>)
1133 <div style=
"width:40em; margin-left:2em">
1134 Returns the compiled message object for the given token list.
1138 <b><a name=Compiler-tokensForString
><font color=black
>tokensForString(
</b><i>aString
</i><b>)
1140 <div style=
"width:40em; margin-left:2em">
1141 Returns a list of token objects lexed from the input string.
1149 <h2><a name=Continue
><font color=black
>Continue
</font></a></h2>
1150 <ul style=
"width:40em">
1151 <b><font color=#
000>Protos:
</font></b> Object, Normal
1153 <div style=
"width:40em; margin-left:2em">
1154 <b><a href=#Continue-isContinue
>isContinue
</a></b><br>
1159 <b><a name=Continue-isContinue
><font color=black
>isContinue
</font></a></b><p>
1160 <div style=
"width:40em; margin-left:2em">
1161 <font color=red
>undocumented
</font>
1169 <h2><a name=Coroutine
><font color=black
>Coroutine
</font></a></h2>
1170 <ul style=
"width:40em">
1171 <b><font color=#
000>Protos:
</font></b> Object
1173 <div style=
"width:40em; margin-left:2em">
1174 <b><a href=#Coroutine-backTraceString
>backTraceString
</a></b><br>
1175 <b><a href=#Coroutine-callStack
>callStack
</a></b><br>
1176 <b><a href=#Coroutine-currentCoroutine
>currentCoroutine
</a></b><br>
1177 <b><a href=#Coroutine-debugWriteln
>debugWriteln
</a></b><br>
1178 <b><a href=#Coroutine-exception
>exception
</a></b><br>
1179 <b><a href=#Coroutine-freeStack
>freeStack
</a></b><br>
1180 <b><a href=#Coroutine-ignoredCoroutineMethodNames
>ignoredCoroutineMethodNames
</a></b><br>
1181 <b><a href=#Coroutine-implementation
>implementation
</a></b><br>
1182 <b><a href=#Coroutine-inException
>inException
</a></b><br>
1183 <b><a href=#Coroutine-ioStack
>ioStack
</a></b><br>
1184 <b><a href=#Coroutine-isCurrent
>isCurrent
</a></b><br>
1185 <b><a href=#Coroutine-isYielding
>isYielding
</a></b><br>
1186 <b><a href=#Coroutine-label
>label
</a></b><br>
1187 <b><a href=#Coroutine-main
>main
</a></b><br>
1188 <b><a href=#Coroutine-parentCoroutine
>parentCoroutine
</a></b><br>
1189 <b><a href=#Coroutine-pauseCurrentAndResumeSelf
>pauseCurrentAndResumeSelf
</a></b><br>
1190 <b><a href=#Coroutine-raiseException
>raiseException
</a></b><br>
1191 <b><a href=#Coroutine-result
>result
</a></b><br>
1192 <b><a href=#Coroutine-resume
>resume
</a></b><br>
1193 <b><a href=#Coroutine-resumeLater
>resumeLater
</a></b><br>
1194 <b><a href=#Coroutine-resumeParentCoroutine
>resumeParentCoroutine
</a></b><br>
1195 <b><a href=#Coroutine-run
>run
</a></b><br>
1196 <b><a href=#Coroutine-runLocals
>runLocals
</a></b><br>
1197 <b><a href=#Coroutine-runMessage
>runMessage
</a></b><br>
1198 <b><a href=#Coroutine-runTarget
>runTarget
</a></b><br>
1199 <b><a href=#Coroutine-setErrorDescription
>setErrorDescription
</a></b><br>
1200 <b><a href=#Coroutine-setException
>setException
</a></b><br>
1201 <b><a href=#Coroutine-setInException
>setInException
</a></b><br>
1202 <b><a href=#Coroutine-setLabel
>setLabel
</a></b><br>
1203 <b><a href=#Coroutine-setMessageDebugging
>setMessageDebugging
</a></b><br>
1204 <b><a href=#Coroutine-setParentCoroutine
>setParentCoroutine
</a></b><br>
1205 <b><a href=#Coroutine-setResult
>setResult
</a></b><br>
1206 <b><a href=#Coroutine-setRunLocals
>setRunLocals
</a></b><br>
1207 <b><a href=#Coroutine-setRunMessage
>setRunMessage
</a></b><br>
1208 <b><a href=#Coroutine-setRunTarget
>setRunTarget
</a></b><br>
1209 <b><a href=#Coroutine-setStackSize
>setStackSize
</a></b><br>
1210 <b><a href=#Coroutine-setYieldingCoros
>setYieldingCoros
</a></b><br>
1211 <b><a href=#Coroutine-showStack
>showStack
</a></b><br>
1212 <b><a href=#Coroutine-showYielding
>showYielding
</a></b><br>
1213 <b><a href=#Coroutine-stackSize
>stackSize
</a></b><br>
1214 <b><a href=#Coroutine-typeId
>typeId
</a></b><br>
1215 <b><a href=#Coroutine-yieldCurrentAndResumeSelf
>yieldCurrentAndResumeSelf
</a></b><br>
1216 <b><a href=#Coroutine-yieldingCoros
>yieldingCoros
</a></b><br>
1221 <b><a name=Coroutine-backTraceString
><font color=black
>backTraceString
</font></a></b><p>
1222 <div style=
"width:40em; margin-left:2em">
1223 <font color=red
>undocumented
</font>
1227 <b><a name=Coroutine-callStack
><font color=black
>callStack
</font></a></b><p>
1228 <div style=
"width:40em; margin-left:2em">
1229 <font color=red
>undocumented
</font>
1233 <b><a name=Coroutine-currentCoroutine
><font color=black
>currentCoroutine
</font></a></b><p>
1234 <div style=
"width:40em; margin-left:2em">
1235 <font color=red
>undocumented
</font>
1239 <b><a name=Coroutine-debugWriteln
><font color=black
>debugWriteln
</font></a></b><p>
1240 <div style=
"width:40em; margin-left:2em">
1241 <font color=red
>undocumented
</font>
1245 <b><a name=Coroutine-exception
><font color=black
>exception
</font></a></b><p>
1246 <div style=
"width:40em; margin-left:2em">
1247 Returns the current exception or nil if there is none.
1251 <b><a name=Coroutine-freeStack
><font color=black
>freeStack
</font></a></b><p>
1252 <div style=
"width:40em; margin-left:2em">
1253 <font color=red
>undocumented
</font>
1257 <b><a name=Coroutine-ignoredCoroutineMethodNames
><font color=black
>ignoredCoroutineMethodNames
</font></a></b><p>
1258 <div style=
"width:40em; margin-left:2em">
1259 <font color=red
>undocumented
</font>
1263 <b><a name=Coroutine-implementation
><font color=black
>implementation
</font></a></b><p>
1264 <div style=
"width:40em; margin-left:2em">
1265 <font color=red
>undocumented
</font>
1269 <b><a name=Coroutine-inException
><font color=black
>inException
</font></a></b><p>
1270 <div style=
"width:40em; margin-left:2em">
1271 Set to true when processing an exception in the coroutine.
1275 <b><a name=Coroutine-ioStack
><font color=black
>ioStack
</font></a></b><p>
1276 <div style=
"width:40em; margin-left:2em">
1277 <font color=red
>undocumented
</font>
1281 <b><a name=Coroutine-isCurrent
><font color=black
>isCurrent
</font></a></b><p>
1282 <div style=
"width:40em; margin-left:2em">
1283 <font color=red
>undocumented
</font>
1287 <b><a name=Coroutine-isYielding
><font color=black
>isYielding
</font></a></b><p>
1288 <div style=
"width:40em; margin-left:2em">
1289 <font color=red
>undocumented
</font>
1293 <b><a name=Coroutine-label
><font color=black
>label
</font></a></b><p>
1294 <div style=
"width:40em; margin-left:2em">
1295 A label slot useful for debugging purposes.
1299 <b><a name=Coroutine-main
><font color=black
>main
</font></a></b><p>
1300 <div style=
"width:40em; margin-left:2em">
1301 <font color=red
>undocumented
</font>
1305 <b><a name=Coroutine-parentCoroutine
><font color=black
>parentCoroutine
</font></a></b><p>
1306 <div style=
"width:40em; margin-left:2em">
1307 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.
1311 <b><a name=Coroutine-pauseCurrentAndResumeSelf
><font color=black
>pauseCurrentAndResumeSelf
</font></a></b><p>
1312 <div style=
"width:40em; margin-left:2em">
1313 <font color=red
>undocumented
</font>
1317 <b><a name=Coroutine-raiseException
><font color=black
>raiseException
</font></a></b><p>
1318 <div style=
"width:40em; margin-left:2em">
1319 <font color=red
>undocumented
</font>
1323 <b><a name=Coroutine-result
><font color=black
>result
</font></a></b><p>
1324 <div style=
"width:40em; margin-left:2em">
1325 The result set when the coroutine ends.
1329 <b><a name=Coroutine-resume
><font color=black
>resume
</font></a></b><p>
1330 <div style=
"width:40em; margin-left:2em">
1331 <font color=red
>undocumented
</font>
1335 <b><a name=Coroutine-resumeLater
><font color=black
>resumeLater
</font></a></b><p>
1336 <div style=
"width:40em; margin-left:2em">
1337 <font color=red
>undocumented
</font>
1341 <b><a name=Coroutine-resumeParentCoroutine
><font color=black
>resumeParentCoroutine
</font></a></b><p>
1342 <div style=
"width:40em; margin-left:2em">
1343 <font color=red
>undocumented
</font>
1347 <b><a name=Coroutine-run
><font color=black
>run
</font></a></b><p>
1348 <div style=
"width:40em; margin-left:2em">
1349 <font color=red
>undocumented
</font>
1353 <b><a name=Coroutine-runLocals
><font color=black
>runLocals
</font></a></b><p>
1354 <div style=
"width:40em; margin-left:2em">
1355 The locals object in whose context the coroutine will send it's run message.
1359 <b><a name=Coroutine-runMessage
><font color=black
>runMessage
</font></a></b><p>
1360 <div style=
"width:40em; margin-left:2em">
1361 The message to send to the runTarget when the coroutine starts.
1365 <b><a name=Coroutine-runTarget
><font color=black
>runTarget
</font></a></b><p>
1366 <div style=
"width:40em; margin-left:2em">
1367 The object which the coroutine will send a message to when it starts.
1371 <b><a name=Coroutine-setErrorDescription
><font color=black
>setErrorDescription
</font></a></b><p>
1372 <div style=
"width:40em; margin-left:2em">
1373 <font color=red
>undocumented
</font>
1377 <b><a name=Coroutine-setException
><font color=black
>setException
</font></a></b><p>
1378 <div style=
"width:40em; margin-left:2em">
1379 <font color=red
>undocumented
</font>
1383 <b><a name=Coroutine-setInException
><font color=black
>setInException
</font></a></b><p>
1384 <div style=
"width:40em; margin-left:2em">
1385 <font color=red
>undocumented
</font>
1389 <b><a name=Coroutine-setLabel
><font color=black
>setLabel
</font></a></b><p>
1390 <div style=
"width:40em; margin-left:2em">
1391 <font color=red
>undocumented
</font>
1395 <b><a name=Coroutine-setMessageDebugging
><font color=black
>setMessageDebugging
</font></a></b><p>
1396 <div style=
"width:40em; margin-left:2em">
1397 <font color=red
>undocumented
</font>
1401 <b><a name=Coroutine-setParentCoroutine
><font color=black
>setParentCoroutine
</font></a></b><p>
1402 <div style=
"width:40em; margin-left:2em">
1403 <font color=red
>undocumented
</font>
1407 <b><a name=Coroutine-setResult
><font color=black
>setResult
</font></a></b><p>
1408 <div style=
"width:40em; margin-left:2em">
1409 <font color=red
>undocumented
</font>
1413 <b><a name=Coroutine-setRunLocals
><font color=black
>setRunLocals
</font></a></b><p>
1414 <div style=
"width:40em; margin-left:2em">
1415 <font color=red
>undocumented
</font>
1419 <b><a name=Coroutine-setRunMessage
><font color=black
>setRunMessage
</font></a></b><p>
1420 <div style=
"width:40em; margin-left:2em">
1421 <font color=red
>undocumented
</font>
1425 <b><a name=Coroutine-setRunTarget
><font color=black
>setRunTarget
</font></a></b><p>
1426 <div style=
"width:40em; margin-left:2em">
1427 <font color=red
>undocumented
</font>
1431 <b><a name=Coroutine-setStackSize
><font color=black
>setStackSize
</font></a></b><p>
1432 <div style=
"width:40em; margin-left:2em">
1433 <font color=red
>undocumented
</font>
1437 <b><a name=Coroutine-setYieldingCoros
><font color=black
>setYieldingCoros
</font></a></b><p>
1438 <div style=
"width:40em; margin-left:2em">
1439 <font color=red
>undocumented
</font>
1443 <b><a name=Coroutine-showStack
><font color=black
>showStack
</font></a></b><p>
1444 <div style=
"width:40em; margin-left:2em">
1445 <font color=red
>undocumented
</font>
1449 <b><a name=Coroutine-showYielding
><font color=black
>showYielding
</font></a></b><p>
1450 <div style=
"width:40em; margin-left:2em">
1451 <font color=red
>undocumented
</font>
1455 <b><a name=Coroutine-stackSize
><font color=black
>stackSize
</font></a></b><p>
1456 <div style=
"width:40em; margin-left:2em">
1457 Stack size allocated for each new coroutine. Coroutines will automatically chain themselves as need if more stack space is required.
1461 <b><a name=Coroutine-typeId
><font color=black
>typeId
</font></a></b><p>
1462 <div style=
"width:40em; margin-left:2em">
1463 <font color=red
>undocumented
</font>
1467 <b><a name=Coroutine-yieldCurrentAndResumeSelf
><font color=black
>yieldCurrentAndResumeSelf
</font></a></b><p>
1468 <div style=
"width:40em; margin-left:2em">
1469 <font color=red
>undocumented
</font>
1473 <b><a name=Coroutine-yieldingCoros
><font color=black
>yieldingCoros
</font></a></b><p>
1474 <div style=
"width:40em; margin-left:2em">
1475 Reference to Scheduler yieldingCoros.
1483 <h2><a name=Date
><font color=black
>Date
</font></a></h2>
1484 <ul style=
"width:40em">
1485 <b><font color=#
000>Protos:
</font></b> Object
1486 <h3>Description
</h3>
1487 A container for a date and time information.
1488 credits: fromString method by Sean Perry
1491 <div style=
"width:40em; margin-left:2em">
1492 <b><a href=#Date-+
>+()
</a></b><br>
1493 <b><a href=#Date-+=
>+=()
</a></b><br>
1494 <b><a href=#Date--
>-()
</a></b><br>
1495 <b><a href=#Date--=
>-=()
</a></b><br>
1496 <b><a href=#Date-asAtomDate
>asAtomDate
</a></b><br>
1497 <b><a href=#Date-asNumber
>asNumber
</a></b><br>
1498 <b><a href=#Date-asString
>asString()
</a></b><br>
1499 <b><a href=#Date-clock
>clock
</a></b><br>
1500 <b><a href=#Date-copy
>copy()
</a></b><br>
1501 <b><a href=#Date-cpuSecondsToRun
>cpuSecondsToRun()
</a></b><br>
1502 <b><a href=#Date-day
>day
</a></b><br>
1503 <b><a href=#Date-format
>format
</a></b><br>
1504 <b><a href=#Date-fromNumber
>fromNumber()
</a></b><br>
1505 <b><a href=#Date-fromString
>fromString()
</a></b><br>
1506 <b><a href=#Date-gmtOffset
>gmtOffset
</a></b><br>
1507 <b><a href=#Date-gmtOffsetSeconds
>gmtOffsetSeconds
</a></b><br>
1508 <b><a href=#Date-hour
>hour
</a></b><br>
1509 <b><a href=#Date-isDaylightSavingsTime
>isDaylightSavingsTime
</a></b><br>
1510 <b><a href=#Date-isPast
>isPast
</a></b><br>
1511 <b><a href=#Date-isToday
>isToday
</a></b><br>
1512 <b><a href=#Date-isValidTime
>isValidTime()
</a></b><br>
1513 <b><a href=#Date-minute
>minute
</a></b><br>
1514 <b><a href=#Date-month
>month
</a></b><br>
1515 <b><a href=#Date-now
>now
</a></b><br>
1516 <b><a href=#Date-print
>print
</a></b><br>
1517 <b><a href=#Date-second
>second
</a></b><br>
1518 <b><a href=#Date-secondsSince
>secondsSince()
</a></b><br>
1519 <b><a href=#Date-secondsSinceNow
>secondsSinceNow()
</a></b><br>
1520 <b><a href=#Date-secondsToRun
>secondsToRun()
</a></b><br>
1521 <b><a href=#Date-setDay
>setDay()
</a></b><br>
1522 <b><a href=#Date-setHour
>setHour()
</a></b><br>
1523 <b><a href=#Date-setMinute
>setMinute()
</a></b><br>
1524 <b><a href=#Date-setMonth
>setMonth()
</a></b><br>
1525 <b><a href=#Date-setSecond
>setSecond()
</a></b><br>
1526 <b><a href=#Date-setYear
>setYear()
</a></b><br>
1527 <b><a href=#Date-today
>today
</a></b><br>
1528 <b><a href=#Date-year
>year
</a></b><br>
1529 <b><a href=#Date-zone
>zone
</a></b><br>
1534 <b><a name=Date-+
><font color=black
>+(
</b><i>aDuration
</i><b>)
1536 <div style=
"width:40em; margin-left:2em">
1537 Return a new Date with the receiver's value plus an amount of time specified by aDuration object to the receiver.
1541 <b><a name=Date-+=
><font color=black
>+=(
</b><i>aDuration
</i><b>)
1543 <div style=
"width:40em; margin-left:2em">
1544 Add aDuration to the receiver. Returns self.
1548 <b><a name=Date-->
<font color=black
>-(
</b><i>aDurationOrDate
</i><b>)
1550 <div style=
"width:40em; margin-left:2em">
1551 Return a new Date with the receiver's value minus an amount of time specified by aDuration to the receiver. Returns self.
1555 <b><a name=Date--=
><font color=black
>-=(
</b><i>aDuration
</i><b>)
1557 <div style=
"width:40em; margin-left:2em">
1558 Subtract aDuration from the receiver. Returns self.
1562 <b><a name=Date-asAtomDate
><font color=black
>asAtomDate
</font></a></b><p>
1563 <div style=
"width:40em; margin-left:2em">
1564 Returns the date formatted as a valid atom date (rfc4287) in the system's timezone.
1568 <b><a name=Date-asNumber
><font color=black
>asNumber
</font></a></b><p>
1569 <div style=
"width:40em; margin-left:2em">
1570 Returns the date as seconds since
1970.
1574 <b><a name=Date-asString
><font color=black
>asString(
</b><i>optionalFormatString
</i><b>)
1576 <div style=
"width:40em; margin-left:2em">
1577 Returns a string representation of the receiver using the
1578 receivers format. If the optionalFormatString argument is present, the
1579 receiver's format is set to it first. Formatting is according to ANSI C
1580 date formating rules.
1583 %a abbreviated weekday name (Sun, Mon, etc.)
1584 %A full weekday name (Sunday, Monday, etc.)
1585 %b abbreviated month name (Jan, Feb, etc.)
1586 %B full month name (January, February, etc.)
1587 %c full date and time string
1588 %d day of the month as two-digit decimal integer (
01-
31)
1589 %H hour as two-digit
24-hour clock decimal integer (
00-
23)
1590 %I hour as two-digit
12-hour clock decimal integer (
01-
12)
1591 %m month as a two-digit decimal integer (
01-
12)
1592 %M minute as a two-digit decimal integer (
00-
59)
1593 %p either
"AM" or
"PM"
1594 %S second as a two-digit decimal integer (
00-
59)
1595 %U number of week in the year as two-digit decimal integer (
00-
52)
1596 with Sunday considered as first day of the week
1597 %w weekday as one-digit decimal integer (
0-
6) with Sunday as
0
1598 %W number of week in the year as two-digit decimal integer (
00-
52)
1599 with Monday considered as first day of the week
1600 %x full date string (no time); in the C locale, this is equivalent
1602 %y year without century as two-digit decimal number (
00-
99)
1603 %Y year with century as four-digit decimal number
1604 %Z time zone name (e.g. EST);
1605 null string if no time zone can be obtained
1606 %% stands for '%' character in output string.
1612 <b><a name=Date-clock
><font color=black
>clock
</font></a></b><p>
1613 <div style=
"width:40em; margin-left:2em">
1614 Returns a number containing the number of seconds
1615 of processor time since the beginning of the program or -
1 if unavailable.
1619 <b><a name=Date-copy
><font color=black
>copy(
</b><i>aDate
</i><b>)
1621 <div style=
"width:40em; margin-left:2em">
1622 Sets the receiver to be the same date as aDate. Returns self.
1626 <b><a name=Date-cpuSecondsToRun
><font color=black
>cpuSecondsToRun(
</b><i>expression
</i><b>)
1628 <div style=
"width:40em; margin-left:2em">
1629 Evaluates message and returns a Number whose value is the cpu seconds taken to do the evaluation.
1633 <b><a name=Date-day
><font color=black
>day
</font></a></b><p>
1634 <div style=
"width:40em; margin-left:2em">
1635 Returns a number containing the day of the month of the receiver.
1639 <b><a name=Date-format
><font color=black
>format
</font></a></b><p>
1640 <div style=
"width:40em; margin-left:2em">
1641 Returns the format string for the receiver. Tthe default is
"%Y-%m-%d %H:%M:%S %Z".
1645 <b><a name=Date-fromNumber
><font color=black
>fromNumber(
</b><i>aNumber
</i><b>)
1647 <div style=
"width:40em; margin-left:2em">
1648 Sets the receiver to be aNumber seconds since
1970.
1652 <b><a name=Date-fromString
><font color=black
>fromString(
</b><i>aString, formatString
</i><b>)
1654 <div style=
"width:40em; margin-left:2em">
1655 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.
1659 <b><a name=Date-gmtOffset
><font color=black
>gmtOffset
</font></a></b><p>
1660 <div style=
"width:40em; margin-left:2em">
1661 Returns the system's timezone string. E.g., +
1300 or -
0500.
1665 <b><a name=Date-gmtOffsetSeconds
><font color=black
>gmtOffsetSeconds
</font></a></b><p>
1666 <div style=
"width:40em; margin-left:2em">
1667 Returns the system's seconds east of UTC.
1671 <b><a name=Date-hour
><font color=black
>hour
</font></a></b><p>
1672 <div style=
"width:40em; margin-left:2em">
1673 Returns a number containing the hour of the day(
0-
23) of the receiver.
1677 <b><a name=Date-isDaylightSavingsTime
><font color=black
>isDaylightSavingsTime
</font></a></b><p>
1678 <div style=
"width:40em; margin-left:2em">
1679 Returns self if Daylight Saving Time is in effect for the receiver, otherwise returns Nil.
1683 <b><a name=Date-isPast
><font color=black
>isPast
</font></a></b><p>
1684 <div style=
"width:40em; margin-left:2em">
1685 Returns true if the receiver is a date in the past.
1689 <b><a name=Date-isToday
><font color=black
>isToday
</font></a></b><p>
1690 <div style=
"width:40em; margin-left:2em">
1691 Returns true if the receiver's date is today's date.
1695 <b><a name=Date-isValidTime
><font color=black
>isValidTime(
</b><i>hour, min, sec
</i><b>)
1697 <div style=
"width:40em; margin-left:2em">
1698 Returns self if the specified time is valid, otherwise returns Nil. A negative value will count back; i.e., a value of -
5 for the hour, will count back
5 hours to return a value of
19. No adjustment is done for values above
24.
1702 <b><a name=Date-minute
><font color=black
>minute
</font></a></b><p>
1703 <div style=
"width:40em; margin-left:2em">
1704 Returns a number containing the minute of the hour(
0-
59) of the receiver.
1708 <b><a name=Date-month
><font color=black
>month
</font></a></b><p>
1709 <div style=
"width:40em; margin-left:2em">
1710 Returns a number containing the month(
1-
12) of the year of the receiver.
1714 <b><a name=Date-now
><font color=black
>now
</font></a></b><p>
1715 <div style=
"width:40em; margin-left:2em">
1716 Sets the receiver to the current time. Returns self.
1720 <b><a name=Date-print
><font color=black
>print
</font></a></b><p>
1721 <div style=
"width:40em; margin-left:2em">
1722 Prints the receiver. Returns self.
1726 <b><a name=Date-second
><font color=black
>second
</font></a></b><p>
1727 <div style=
"width:40em; margin-left:2em">
1728 Returns a number containing the seconds of the minute(
0-
59) of the receiver. This number may contain fractions of seconds.
1732 <b><a name=Date-secondsSince
><font color=black
>secondsSince(
</b><i>aDate
</i><b>)
1734 <div style=
"width:40em; margin-left:2em">
1735 Returns a number of seconds of between aDate and the receiver.
1739 <b><a name=Date-secondsSinceNow
><font color=black
>secondsSinceNow(
</b><i>aDate
</i><b>)
1741 <div style=
"width:40em; margin-left:2em">
1742 Returns the number of seconds since aDate.
1746 <b><a name=Date-secondsToRun
><font color=black
>secondsToRun(
</b><i>expression
</i><b>)
1748 <div style=
"width:40em; margin-left:2em">
1749 Evaluates message and returns a Number
1750 whose value is the number of seconds taken to do the evaluation
1754 <b><a name=Date-setDay
><font color=black
>setDay(
</b><i>aNumber
</i><b>)
1756 <div style=
"width:40em; margin-left:2em">
1757 Sets the day of the receiver. Returns self.
1761 <b><a name=Date-setHour
><font color=black
>setHour(
</b><i>aNumber
</i><b>)
1763 <div style=
"width:40em; margin-left:2em">
1764 Sets the hour of the receiver. Returns self.
1768 <b><a name=Date-setMinute
><font color=black
>setMinute(
</b><i>aNumber
</i><b>)
1770 <div style=
"width:40em; margin-left:2em">
1771 Sets the minute of the receiver. Returns self.
1775 <b><a name=Date-setMonth
><font color=black
>setMonth(
</b><i>aNumber
</i><b>)
1777 <div style=
"width:40em; margin-left:2em">
1778 Sets the month(
1-
12) of the receiver. Returns self.
1782 <b><a name=Date-setSecond
><font color=black
>setSecond(
</b><i>aNumber
</i><b>)
1784 <div style=
"width:40em; margin-left:2em">
1785 Sets the second of the receiver. Returns self.
1789 <b><a name=Date-setYear
><font color=black
>setYear(
</b><i>aNumber
</i><b>)
1791 <div style=
"width:40em; margin-left:2em">
1792 Sets the year of the receiver.
1796 <b><a name=Date-today
><font color=black
>today
</font></a></b><p>
1797 <div style=
"width:40em; margin-left:2em">
1798 Set the receiver to the current date, no time information
1799 is included. See `now' for the current date and time.
1803 <b><a name=Date-year
><font color=black
>year
</font></a></b><p>
1804 <div style=
"width:40em; margin-left:2em">
1805 Returns a number containing the year of the receiver.
1809 <b><a name=Date-zone
><font color=black
>zone
</font></a></b><p>
1810 <div style=
"width:40em; margin-left:2em">
1811 Returns a string containing the system's time zone code.
1819 <h2><a name=Debugger
><font color=black
>Debugger
</font></a></h2>
1820 <ul style=
"width:40em">
1821 <b><font color=#
000>Protos:
</font></b> Object
1822 <h3>Description
</h3>
1823 Contains methods related to the IoVM debugger.
1826 <div style=
"width:40em; margin-left:2em">
1827 <b><a href=#Debugger-debuggerCoroutine
>debuggerCoroutine
</a></b><br>
1828 <b><a href=#Debugger-start
>start
</a></b><br>
1829 <b><a href=#Debugger-vmWillSendMessage
>vmWillSendMessage
</a></b><br>
1834 <b><a name=Debugger-debuggerCoroutine
><font color=black
>debuggerCoroutine
</font></a></b><p>
1835 <div style=
"width:40em; margin-left:2em">
1836 Returns the coroutine used for the debugger.
1840 <b><a name=Debugger-start
><font color=black
>start
</font></a></b><p>
1841 <div style=
"width:40em; margin-left:2em">
1842 Starts the debugger.
1846 <b><a name=Debugger-vmWillSendMessage
><font color=black
>vmWillSendMessage
</font></a></b><p>
1847 <div style=
"width:40em; margin-left:2em">
1848 Override this method to implement your own debugging mechanisms. Default behavior is to print every message sent.
1856 <h2><a name=Directory
><font color=black
>Directory
</font></a></h2>
1857 <ul style=
"width:40em">
1858 <b><font color=#
000>Protos:
</font></b> Object
1859 <h3>Description
</h3>
1860 The Directory object supports accessing filesystem directories. A note on paths;
1861 if a path begins with a
"/" it's the root,
1862 if it beings with a
"./" it's the launch path,
1863 if not specified,
"./" is assumed.
1866 <div style=
"width:40em; margin-left:2em">
1867 <b><a href=#Directory-accessibleParents
>accessibleParents
</a></b><br>
1868 <b><a href=#Directory-at
>at()
</a></b><br>
1869 <b><a href=#Directory-create
>create
</a></b><br>
1870 <b><a href=#Directory-createFileNamed
>createFileNamed
</a></b><br>
1871 <b><a href=#Directory-createIfAbsent
>createIfAbsent
</a></b><br>
1872 <b><a href=#Directory-createSubdirectory
>createSubdirectory()
</a></b><br>
1873 <b><a href=#Directory-currentWorkingDirectory
>currentWorkingDirectory
</a></b><br>
1874 <b><a href=#Directory-exists
>exists()
</a></b><br>
1875 <b><a href=#Directory-fileNamed
>fileNamed
</a></b><br>
1876 <b><a href=#Directory-fileNames
>fileNames
</a></b><br>
1877 <b><a href=#Directory-files
>files
</a></b><br>
1878 <b><a href=#Directory-filesWithExtension
>filesWithExtension
</a></b><br>
1879 <b><a href=#Directory-folderNamed
>folderNamed
</a></b><br>
1880 <b><a href=#Directory-folderNamedCreateIfAbsent
>folderNamedCreateIfAbsent
</a></b><br>
1881 <b><a href=#Directory-folders
>folders
</a></b><br>
1882 <b><a href=#Directory-isAccessible
>isAccessible
</a></b><br>
1883 <b><a href=#Directory-items
>items
</a></b><br>
1884 <b><a href=#Directory-moveTo
>moveTo
</a></b><br>
1885 <b><a href=#Directory-name
>name
</a></b><br>
1886 <b><a href=#Directory-parentDirectory
>parentDirectory
</a></b><br>
1887 <b><a href=#Directory-parents
>parents
</a></b><br>
1888 <b><a href=#Directory-path
>path
</a></b><br>
1889 <b><a href=#Directory-remove
>remove
</a></b><br>
1890 <b><a href=#Directory-setCurrentWorkingDirectory
>setCurrentWorkingDirectory()
</a></b><br>
1891 <b><a href=#Directory-setPath
>setPath()
</a></b><br>
1892 <b><a href=#Directory-size
>size
</a></b><br>
1893 <b><a href=#Directory-with
>with()
</a></b><br>
1898 <b><a name=Directory-accessibleParents
><font color=black
>accessibleParents
</font></a></b><p>
1899 <div style=
"width:40em; margin-left:2em">
1900 <font color=red
>undocumented
</font>
1904 <b><a name=Directory-at
><font color=black
>at(
</b><i>aString
</i><b>)
1906 <div style=
"width:40em; margin-left:2em">
1907 Returns a File or Directory object matching the name specified
1908 by aString or Nil if no such file or directory exists.
1912 <b><a name=Directory-create
><font color=black
>create
</font></a></b><p>
1913 <div style=
"width:40em; margin-left:2em">
1914 Create the directory if it doesn't exist.
1918 <b><a name=Directory-createFileNamed
><font color=black
>createFileNamed
</font></a></b><p>
1919 <div style=
"width:40em; margin-left:2em">
1920 <font color=red
>undocumented
</font>
1924 <b><a name=Directory-createIfAbsent
><font color=black
>createIfAbsent
</font></a></b><p>
1925 <div style=
"width:40em; margin-left:2em">
1926 <font color=red
>undocumented
</font>
1930 <b><a name=Directory-createSubdirectory
><font color=black
>createSubdirectory(
</b><i>name
</i><b>)
1932 <div style=
"width:40em; margin-left:2em">
1933 Create a subdirectory with the specified name.
1937 <b><a name=Directory-currentWorkingDirectory
><font color=black
>currentWorkingDirectory
</font></a></b><p>
1938 <div style=
"width:40em; margin-left:2em">
1939 Returns the current working directory path.
1943 <b><a name=Directory-exists
><font color=black
>exists(
</b><i>optionalPath
</i><b>)
1945 <div style=
"width:40em; margin-left:2em">
1946 Returns true if the Directory path exists, and false otherwise.
1947 If optionalPath string is provided, it tests the existance of that path instead.
1951 <b><a name=Directory-fileNamed
><font color=black
>fileNamed
</font></a></b><p>
1952 <div style=
"width:40em; margin-left:2em">
1953 <font color=red
>undocumented
</font>
1957 <b><a name=Directory-fileNames
><font color=black
>fileNames
</font></a></b><p>
1958 <div style=
"width:40em; margin-left:2em">
1959 <font color=red
>undocumented
</font>
1963 <b><a name=Directory-files
><font color=black
>files
</font></a></b><p>
1964 <div style=
"width:40em; margin-left:2em">
1965 <font color=red
>undocumented
</font>
1969 <b><a name=Directory-filesWithExtension
><font color=black
>filesWithExtension
</font></a></b><p>
1970 <div style=
"width:40em; margin-left:2em">
1971 <font color=red
>undocumented
</font>
1975 <b><a name=Directory-folderNamed
><font color=black
>folderNamed
</font></a></b><p>
1976 <div style=
"width:40em; margin-left:2em">
1977 <font color=red
>undocumented
</font>
1981 <b><a name=Directory-folderNamedCreateIfAbsent
><font color=black
>folderNamedCreateIfAbsent
</font></a></b><p>
1982 <div style=
"width:40em; margin-left:2em">
1983 <font color=red
>undocumented
</font>
1987 <b><a name=Directory-folders
><font color=black
>folders
</font></a></b><p>
1988 <div style=
"width:40em; margin-left:2em">
1989 <font color=red
>undocumented
</font>
1993 <b><a name=Directory-isAccessible
><font color=black
>isAccessible
</font></a></b><p>
1994 <div style=
"width:40em; margin-left:2em">
1995 <font color=red
>undocumented
</font>
1999 <b><a name=Directory-items
><font color=black
>items
</font></a></b><p>
2000 <div style=
"width:40em; margin-left:2em">
2001 Returns a list object containing File and Directory objects
2002 for the files and directories of the receiver's path.
2006 <b><a name=Directory-moveTo
><font color=black
>moveTo
</font></a></b><p>
2007 <div style=
"width:40em; margin-left:2em">
2008 <font color=red
>undocumented
</font>
2012 <b><a name=Directory-name
><font color=black
>name
</font></a></b><p>
2013 <div style=
"width:40em; margin-left:2em">
2014 Returns the receiver's last path component.
2018 <b><a name=Directory-parentDirectory
><font color=black
>parentDirectory
</font></a></b><p>
2019 <div style=
"width:40em; margin-left:2em">
2020 <font color=red
>undocumented
</font>
2024 <b><a name=Directory-parents
><font color=black
>parents
</font></a></b><p>
2025 <div style=
"width:40em; margin-left:2em">
2026 <font color=red
>undocumented
</font>
2030 <b><a name=Directory-path
><font color=black
>path
</font></a></b><p>
2031 <div style=
"width:40em; margin-left:2em">
2032 Returns the directory path. The default path is '.'.
2036 <b><a name=Directory-remove
><font color=black
>remove
</font></a></b><p>
2037 <div style=
"width:40em; margin-left:2em">
2038 <font color=red
>undocumented
</font>
2042 <b><a name=Directory-setCurrentWorkingDirectory
><font color=black
>setCurrentWorkingDirectory(
</b><i>pathString
</i><b>)
2044 <div style=
"width:40em; margin-left:2em">
2045 Set's the current working directory path.
2046 Returns true on success or false on error.
2050 <b><a name=Directory-setPath
><font color=black
>setPath(
</b><i>aString
</i><b>)
2052 <div style=
"width:40em; margin-left:2em">
2053 Sets the directory path. Returns self.
2057 <b><a name=Directory-size
><font color=black
>size
</font></a></b><p>
2058 <div style=
"width:40em; margin-left:2em">
2059 Returns a Number containing the number of file and directory
2060 object at the receiver's path.
2064 <b><a name=Directory-with
><font color=black
>with(
</b><i>aPath
</i><b>)
2066 <div style=
"width:40em; margin-left:2em">
2067 Returns a new instance with the provided path.
2075 <h2><a name=Duration
><font color=black
>Duration
</font></a></h2>
2076 <ul style=
"width:40em">
2077 <b><font color=#
000>Protos:
</font></b> Object
2078 <h3>Description
</h3>
2079 A container for a duration of time.
2082 <div style=
"width:40em; margin-left:2em">
2083 <b><a href=#Duration-+
>+
</a></b><br>
2084 <b><a href=#Duration-+=
>+=()
</a></b><br>
2085 <b><a href=#Duration--
>-
</a></b><br>
2086 <b><a href=#Duration--=
>-=()
</a></b><br>
2087 <b><a href=#Duration-asNumber
>asNumber
</a></b><br>
2088 <b><a href=#Duration-asString
>asString()
</a></b><br>
2089 <b><a href=#Duration-days
>days
</a></b><br>
2090 <b><a href=#Duration-fromNumber
>fromNumber()
</a></b><br>
2091 <b><a href=#Duration-hours
>hours
</a></b><br>
2092 <b><a href=#Duration-minutes
>minutes
</a></b><br>
2093 <b><a href=#Duration-print
>print
</a></b><br>
2094 <b><a href=#Duration-seconds
>seconds
</a></b><br>
2095 <b><a href=#Duration-setDays
>setDays()
</a></b><br>
2096 <b><a href=#Duration-setHours
>setHours()
</a></b><br>
2097 <b><a href=#Duration-setMinutes
>setMinutes()
</a></b><br>
2098 <b><a href=#Duration-setSeconds
>setSeconds()
</a></b><br>
2099 <b><a href=#Duration-setYears
>setYears()
</a></b><br>
2100 <b><a href=#Duration-totalSeconds
>totalSeconds
</a></b><br>
2101 <b><a href=#Duration-years
>years
</a></b><br>
2106 <b><a name=Duration-+
><font color=black
>+
</font></a></b><p>
2107 <div style=
"width:40em; margin-left:2em">
2108 Returns a new Duration of the two added.
2112 <b><a name=Duration-+=
><font color=black
>+=(
</b><i>aDuration
</i><b>)
2114 <div style=
"width:40em; margin-left:2em">
2115 Add aDuration to the receiver. Returns self.
2119 <b><a name=Duration-->
<font color=black
>-
</font></a></b><p>
2120 <div style=
"width:40em; margin-left:2em">
2121 Returns a new Duration of the two subtracted.
2125 <b><a name=Duration--=
><font color=black
>-=(
</b><i>aDuration
</i><b>)
2127 <div style=
"width:40em; margin-left:2em">
2128 Subtract aDuration to the receiver. Returns self.
2132 <b><a name=Duration-asNumber
><font color=black
>asNumber
</font></a></b><p>
2133 <div style=
"width:40em; margin-left:2em">
2134 Returns a number representation of the receiver.
2135 (where
1 is equal to one second)
2139 <b><a name=Duration-asString
><font color=black
>asString(
</b><i>formatString
</i><b>)
2141 <div style=
"width:40em; margin-left:2em">
2142 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.
2145 %y years without century as two-digit decimal number (
00-
99)
2146 %Y year with century as four-digit decimal number
2149 %H hour as two-digit
24-hour clock decimal integer (
00-
23)
2150 %M minute as a two-digit decimal integer (
00-
59)
2151 %S second as a two-digit decimal integer (
00-
59)
2153 The default format is
"%Y %d %H:%M:%S".
2158 <b><a name=Duration-days
><font color=black
>days
</font></a></b><p>
2159 <div style=
"width:40em; margin-left:2em">
2160 Returns a number containing the day of the month of the receiver.
2164 <b><a name=Duration-fromNumber
><font color=black
>fromNumber(
</b><i>aNumber
</i><b>)
2166 <div style=
"width:40em; margin-left:2em">
2167 Sets the receiver to the Duration specified by
2168 aNumber(same format number as returned by Duration asNumber). Returns self.
2172 <b><a name=Duration-hours
><font color=black
>hours
</font></a></b><p>
2173 <div style=
"width:40em; margin-left:2em">
2174 Returns a number containing the hour of the day(
0-
23) of the receiver.
2178 <b><a name=Duration-minutes
><font color=black
>minutes
</font></a></b><p>
2179 <div style=
"width:40em; margin-left:2em">
2180 Returns a number containing the minute of the hour(
0-
59) of the receiver.
2184 <b><a name=Duration-print
><font color=black
>print
</font></a></b><p>
2185 <div style=
"width:40em; margin-left:2em">
2186 Prints the receiver. Returns self.
2190 <b><a name=Duration-seconds
><font color=black
>seconds
</font></a></b><p>
2191 <div style=
"width:40em; margin-left:2em">
2192 Returns a number containing the seconds of the minute(
0-
59) of the receiver.
2193 This number may contain fractions of seconds.
2197 <b><a name=Duration-setDays
><font color=black
>setDays(
</b><i>aNumber
</i><b>)
2199 <div style=
"width:40em; margin-left:2em">
2200 Sets the day of the receiver. Returns self.
2204 <b><a name=Duration-setHours
><font color=black
>setHours(
</b><i>aNumber
</i><b>)
2206 <div style=
"width:40em; margin-left:2em">
2207 Sets the hour of the receiver. Returns self.
2211 <b><a name=Duration-setMinutes
><font color=black
>setMinutes(
</b><i>aNumber
</i><b>)
2213 <div style=
"width:40em; margin-left:2em">
2214 Sets the minute of the receiver. Returns self.
2218 <b><a name=Duration-setSeconds
><font color=black
>setSeconds(
</b><i>aNumber
</i><b>)
2220 <div style=
"width:40em; margin-left:2em">
2221 Sets the second of the receiver. Return self.
2225 <b><a name=Duration-setYears
><font color=black
>setYears(
</b><i>aNumber
</i><b>)
2227 <div style=
"width:40em; margin-left:2em">
2228 Sets the year of the receiver. Returns self.
2232 <b><a name=Duration-totalSeconds
><font color=black
>totalSeconds
</font></a></b><p>
2233 <div style=
"width:40em; margin-left:2em">
2234 <font color=red
>undocumented
</font>
2238 <b><a name=Duration-years
><font color=black
>years
</font></a></b><p>
2239 <div style=
"width:40em; margin-left:2em">
2240 Returns a number containing the year of the receiver.
2248 <h2><a name=DynLib
><font color=black
>DynLib
</font></a></h2>
2249 <ul style=
"width:40em">
2250 <b><font color=#
000>Protos:
</font></b> Object
2251 <h3>Description
</h3>
2252 A DLL Loader by Kentaro A. Kurahone
<kurahone@sigusr1.org
>.
2255 <div style=
"width:40em; margin-left:2em">
2256 <b><a href=#DynLib-call
>call
</a></b><br>
2257 <b><a href=#DynLib-callPluginInit
>callPluginInit
</a></b><br>
2258 <b><a href=#DynLib-close
>close
</a></b><br>
2259 <b><a href=#DynLib-freeFuncName
>freeFuncName
</a></b><br>
2260 <b><a href=#DynLib-initFuncName
>initFuncName
</a></b><br>
2261 <b><a href=#DynLib-isOpen
>isOpen
</a></b><br>
2262 <b><a href=#DynLib-open
>open
</a></b><br>
2263 <b><a href=#DynLib-path
>path
</a></b><br>
2264 <b><a href=#DynLib-returnsString
>returnsString
</a></b><br>
2265 <b><a href=#DynLib-setFreeFuncName
>setFreeFuncName()
</a></b><br>
2266 <b><a href=#DynLib-setInitFuncName
>setInitFuncName()
</a></b><br>
2267 <b><a href=#DynLib-setPath
>setPath()
</a></b><br>
2268 <b><a href=#DynLib-voidCall
>voidCall
</a></b><br>
2273 <b><a name=DynLib-call
><font color=black
>call
</font></a></b><p>
2274 <div style=
"width:40em; margin-left:2em">
2275 <font color=red
>undocumented
</font>
2279 <b><a name=DynLib-callPluginInit
><font color=black
>callPluginInit
</font></a></b><p>
2280 <div style=
"width:40em; margin-left:2em">
2281 <font color=red
>undocumented
</font>
2285 <b><a name=DynLib-close
><font color=black
>close
</font></a></b><p>
2286 <div style=
"width:40em; margin-left:2em">
2287 Closes the library. Returns self.
2291 <b><a name=DynLib-freeFuncName
><font color=black
>freeFuncName
</font></a></b><p>
2292 <div style=
"width:40em; margin-left:2em">
2293 Returns the io_free function name.
2297 <b><a name=DynLib-initFuncName
><font color=black
>initFuncName
</font></a></b><p>
2298 <div style=
"width:40em; margin-left:2em">
2299 Returns the initialization function name.
2303 <b><a name=DynLib-isOpen
><font color=black
>isOpen
</font></a></b><p>
2304 <div style=
"width:40em; margin-left:2em">
2305 Returns true if the library is open, or false otherwise.
2309 <b><a name=DynLib-open
><font color=black
>open
</font></a></b><p>
2310 <div style=
"width:40em; margin-left:2em">
2311 Opens the dynamic library and returns self or raises a DynLoad.open Error if there is an error.
2315 <b><a name=DynLib-path
><font color=black
>path
</font></a></b><p>
2316 <div style=
"width:40em; margin-left:2em">
2317 Returns the path to the dynamic library.
2321 <b><a name=DynLib-returnsString
><font color=black
>returnsString
</font></a></b><p>
2322 <div style=
"width:40em; margin-left:2em">
2323 <font color=red
>undocumented
</font>
2327 <b><a name=DynLib-setFreeFuncName
><font color=black
>setFreeFuncName(
</b><i>aString
</i><b>)
2329 <div style=
"width:40em; margin-left:2em">
2330 Sets the io_free function name. Returns self.
2334 <b><a name=DynLib-setInitFuncName
><font color=black
>setInitFuncName(
</b><i>aString
</i><b>)
2336 <div style=
"width:40em; margin-left:2em">
2337 Sets the initialization function name for the dynamic library. Returns self.
2341 <b><a name=DynLib-setPath
><font color=black
>setPath(
</b><i>aString
</i><b>)
2343 <div style=
"width:40em; margin-left:2em">
2344 Sets the path to the dynamic library. Returns self.
2348 <b><a name=DynLib-voidCall
><font color=black
>voidCall
</font></a></b><p>
2349 <div style=
"width:40em; margin-left:2em">
2350 <font color=red
>undocumented
</font>
2358 <h2><a name=Eol
><font color=black
>Eol
</font></a></h2>
2359 <ul style=
"width:40em">
2360 <b><font color=#
000>Protos:
</font></b> Object, Normal
2362 <div style=
"width:40em; margin-left:2em">
2371 <h2><a name=Error
><font color=black
>Error
</font></a></h2>
2372 <ul style=
"width:40em">
2373 <b><font color=#
000>Protos:
</font></b> Object
2375 <div style=
"width:40em; margin-left:2em">
2376 <b><a href=#Error-with
>with
</a></b><br>
2381 <b><a name=Error-with
><font color=black
>with
</font></a></b><p>
2382 <div style=
"width:40em; margin-left:2em">
2383 <font color=red
>undocumented
</font>
2391 <h2><a name=Exception
><font color=black
>Exception
</font></a></h2>
2392 <ul style=
"width:40em">
2393 <b><font color=#
000>Protos:
</font></b> Object
2395 <div style=
"width:40em; margin-left:2em">
2396 <b><a href=#Exception-catch
>catch
</a></b><br>
2397 <b><a href=#Exception-caughtMessage
>caughtMessage
</a></b><br>
2398 <b><a href=#Exception-coroutine
>coroutine
</a></b><br>
2399 <b><a href=#Exception-error
>error
</a></b><br>
2400 <b><a href=#Exception-nestedException
>nestedException
</a></b><br>
2401 <b><a href=#Exception-originalCall
>originalCall
</a></b><br>
2402 <b><a href=#Exception-pass
>pass
</a></b><br>
2403 <b><a href=#Exception-raise
>raise
</a></b><br>
2404 <b><a href=#Exception-raiseFrom
>raiseFrom
</a></b><br>
2405 <b><a href=#Exception-setCaughtMessage
>setCaughtMessage
</a></b><br>
2406 <b><a href=#Exception-setCoroutine
>setCoroutine
</a></b><br>
2407 <b><a href=#Exception-setError
>setError
</a></b><br>
2408 <b><a href=#Exception-setNestedException
>setNestedException
</a></b><br>
2409 <b><a href=#Exception-setOriginalCall
>setOriginalCall
</a></b><br>
2410 <b><a href=#Exception-showStack
>showStack
</a></b><br>
2415 <b><a name=Exception-catch
><font color=black
>catch
</font></a></b><p>
2416 <div style=
"width:40em; margin-left:2em">
2417 <font color=red
>undocumented
</font>
2421 <b><a name=Exception-caughtMessage
><font color=black
>caughtMessage
</font></a></b><p>
2422 <div style=
"width:40em; margin-left:2em">
2423 <font color=red
>undocumented
</font>
2427 <b><a name=Exception-coroutine
><font color=black
>coroutine
</font></a></b><p>
2428 <div style=
"width:40em; margin-left:2em">
2429 <font color=red
>undocumented
</font>
2433 <b><a name=Exception-error
><font color=black
>error
</font></a></b><p>
2434 <div style=
"width:40em; margin-left:2em">
2435 <font color=red
>undocumented
</font>
2439 <b><a name=Exception-nestedException
><font color=black
>nestedException
</font></a></b><p>
2440 <div style=
"width:40em; margin-left:2em">
2441 <font color=red
>undocumented
</font>
2445 <b><a name=Exception-originalCall
><font color=black
>originalCall
</font></a></b><p>
2446 <div style=
"width:40em; margin-left:2em">
2447 <font color=red
>undocumented
</font>
2451 <b><a name=Exception-pass
><font color=black
>pass
</font></a></b><p>
2452 <div style=
"width:40em; margin-left:2em">
2453 <font color=red
>undocumented
</font>
2457 <b><a name=Exception-raise
><font color=black
>raise
</font></a></b><p>
2458 <div style=
"width:40em; margin-left:2em">
2459 <font color=red
>undocumented
</font>
2463 <b><a name=Exception-raiseFrom
><font color=black
>raiseFrom
</font></a></b><p>
2464 <div style=
"width:40em; margin-left:2em">
2465 <font color=red
>undocumented
</font>
2469 <b><a name=Exception-setCaughtMessage
><font color=black
>setCaughtMessage
</font></a></b><p>
2470 <div style=
"width:40em; margin-left:2em">
2471 <font color=red
>undocumented
</font>
2475 <b><a name=Exception-setCoroutine
><font color=black
>setCoroutine
</font></a></b><p>
2476 <div style=
"width:40em; margin-left:2em">
2477 <font color=red
>undocumented
</font>
2481 <b><a name=Exception-setError
><font color=black
>setError
</font></a></b><p>
2482 <div style=
"width:40em; margin-left:2em">
2483 <font color=red
>undocumented
</font>
2487 <b><a name=Exception-setNestedException
><font color=black
>setNestedException
</font></a></b><p>
2488 <div style=
"width:40em; margin-left:2em">
2489 <font color=red
>undocumented
</font>
2493 <b><a name=Exception-setOriginalCall
><font color=black
>setOriginalCall
</font></a></b><p>
2494 <div style=
"width:40em; margin-left:2em">
2495 <font color=red
>undocumented
</font>
2499 <b><a name=Exception-showStack
><font color=black
>showStack
</font></a></b><p>
2500 <div style=
"width:40em; margin-left:2em">
2501 <font color=red
>undocumented
</font>
2509 <h2><a name=false
><font color=black
>false
</font></a></h2>
2510 <ul style=
"width:40em">
2511 <b><font color=#
000>Protos:
</font></b> Object
2513 <div style=
"width:40em; margin-left:2em">
2514 <b><a href=#false-else
>else
</a></b><br>
2515 <b><a href=#false-elseif
>elseif
</a></b><br>
2516 <b><a href=#false-ifFalse
>ifFalse
</a></b><br>
2517 <b><a href=#false-ifTrue
>ifTrue
</a></b><br>
2518 <b><a href=#false-not
>not
</a></b><br>
2519 <b><a href=#false-then
>then
</a></b><br>
2524 <b><a name=false-else
><font color=black
>else
</font></a></b><p>
2525 <div style=
"width:40em; margin-left:2em">
2526 <font color=red
>undocumented
</font>
2530 <b><a name=false-elseif
><font color=black
>elseif
</font></a></b><p>
2531 <div style=
"width:40em; margin-left:2em">
2532 <font color=red
>undocumented
</font>
2536 <b><a name=false-ifFalse
><font color=black
>ifFalse
</font></a></b><p>
2537 <div style=
"width:40em; margin-left:2em">
2538 <font color=red
>undocumented
</font>
2542 <b><a name=false-ifTrue
><font color=black
>ifTrue
</font></a></b><p>
2543 <div style=
"width:40em; margin-left:2em">
2544 <font color=red
>undocumented
</font>
2548 <b><a name=false-not
><font color=black
>not
</font></a></b><p>
2549 <div style=
"width:40em; margin-left:2em">
2550 <font color=red
>undocumented
</font>
2554 <b><a name=false-then
><font color=black
>then
</font></a></b><p>
2555 <div style=
"width:40em; margin-left:2em">
2556 <font color=red
>undocumented
</font>
2564 <h2><a name=File
><font color=black
>File
</font></a></h2>
2565 <ul style=
"width:40em">
2566 <b><font color=#
000>Protos:
</font></b> Object
2567 <h3>Description
</h3>
2568 Encapsulates file i/o. Here's an example of opening a file, and reversing it's lines:
2571 file = File clone openForUpdating(
"/tmp/test")
2572 lines = file readLines reverse
2574 lines foreach(i, line, file write(line,
"\n"))
2579 <div style=
"width:40em; margin-left:2em">
2580 <b><a href=#File-asBuffer
>asBuffer
</a></b><br>
2581 <b><a href=#File-at
>at()
</a></b><br>
2582 <b><a href=#File-atPut
>atPut()
</a></b><br>
2583 <b><a href=#File-close
>close
</a></b><br>
2584 <b><a href=#File-contents
>contents
</a></b><br>
2585 <b><a href=#File-copyToPath
>copyToPath
</a></b><br>
2586 <b><a href=#File-descriptor
>descriptor
</a></b><br>
2587 <b><a href=#File-exists
>exists
</a></b><br>
2588 <b><a href=#File-flush
>flush
</a></b><br>
2589 <b><a href=#File-foreach
>foreach()
</a></b><br>
2590 <b><a href=#File-foreachLine
>foreachLine()
</a></b><br>
2591 <b><a href=#File-groupId
>groupId
</a></b><br>
2592 <b><a href=#File-isAtEnd
>isAtEnd
</a></b><br>
2593 <b><a href=#File-isDirectory
>isDirectory
</a></b><br>
2594 <b><a href=#File-isLink
>isLink
</a></b><br>
2595 <b><a href=#File-isOpen
>isOpen
</a></b><br>
2596 <b><a href=#File-isPipe
>isPipe
</a></b><br>
2597 <b><a href=#File-isRegularFile
>isRegularFile
</a></b><br>
2598 <b><a href=#File-isSocket
>isSocket
</a></b><br>
2599 <b><a href=#File-isUserExecutable
>isUserExecutable
</a></b><br>
2600 <b><a href=#File-lastAccessDate
>lastAccessDate
</a></b><br>
2601 <b><a href=#File-lastDataChangeDate
>lastDataChangeDate
</a></b><br>
2602 <b><a href=#File-lastInfoChangeDate
>lastInfoChangeDate
</a></b><br>
2603 <b><a href=#File-lock
>lock
</a></b><br>
2604 <b><a href=#File-lockFile
>lockFile
</a></b><br>
2605 <b><a href=#File-mode
>mode
</a></b><br>
2606 <b><a href=#File-moveTo
>moveTo()
</a></b><br>
2607 <b><a href=#File-name
>name
</a></b><br>
2608 <b><a href=#File-open
>open()
</a></b><br>
2609 <b><a href=#File-openForAppending
>openForAppending()
</a></b><br>
2610 <b><a href=#File-openForReading
>openForReading()
</a></b><br>
2611 <b><a href=#File-openForUpdating
>openForUpdating()
</a></b><br>
2612 <b><a href=#File-path
>path
</a></b><br>
2613 <b><a href=#File-popen
>popen
</a></b><br>
2614 <b><a href=#File-position
>position
</a></b><br>
2615 <b><a href=#File-positionAtEnd
>positionAtEnd
</a></b><br>
2616 <b><a href=#File-protectionMode
>protectionMode
</a></b><br>
2617 <b><a href=#File-readBufferOfLength
>readBufferOfLength()
</a></b><br>
2618 <b><a href=#File-readLine
>readLine
</a></b><br>
2619 <b><a href=#File-readLines
>readLines
</a></b><br>
2620 <b><a href=#File-readStringOfLength
>readStringOfLength()
</a></b><br>
2621 <b><a href=#File-readToBufferLength
>readToBufferLength
</a></b><br>
2622 <b><a href=#File-readToBufferOfLength
>readToBufferOfLength()
</a></b><br>
2623 <b><a href=#File-remove
>remove
</a></b><br>
2624 <b><a href=#File-rewind
>rewind
</a></b><br>
2625 <b><a href=#File-setContents
>setContents
</a></b><br>
2626 <b><a href=#File-setPath
>setPath()
</a></b><br>
2627 <b><a href=#File-setPosition
>setPosition()
</a></b><br>
2628 <b><a href=#File-setStreamDestination
>setStreamDestination
</a></b><br>
2629 <b><a href=#File-setStreamReadSize
>setStreamReadSize
</a></b><br>
2630 <b><a href=#File-size
>size
</a></b><br>
2631 <b><a href=#File-standardError
>standardError
</a></b><br>
2632 <b><a href=#File-standardInput
>standardInput
</a></b><br>
2633 <b><a href=#File-standardOutput
>standardOutput
</a></b><br>
2634 <b><a href=#File-startStreaming
>startStreaming
</a></b><br>
2635 <b><a href=#File-stat
>stat
</a></b><br>
2636 <b><a href=#File-statSize
>statSize
</a></b><br>
2637 <b><a href=#File-streamDestination
>streamDestination
</a></b><br>
2638 <b><a href=#File-streamReadSize
>streamReadSize
</a></b><br>
2639 <b><a href=#File-streamTo
>streamTo
</a></b><br>
2640 <b><a href=#File-temporaryFile
>temporaryFile
</a></b><br>
2641 <b><a href=#File-truncateToSize
>truncateToSize()
</a></b><br>
2642 <b><a href=#File-unlock
>unlock
</a></b><br>
2643 <b><a href=#File-userId
>userId
</a></b><br>
2644 <b><a href=#File-with
>with()
</a></b><br>
2645 <b><a href=#File-write
>write()
</a></b><br>
2650 <b><a name=File-asBuffer
><font color=black
>asBuffer
</font></a></b><p>
2651 <div style=
"width:40em; margin-left:2em">
2652 Opens the receiver in read only mode, reads the whole
2653 contents of the file into a buffer object, closes the file and returns the buffer.
2657 <b><a name=File-at
><font color=black
>at(
</b><i>aNumber
</i><b>)
2659 <div style=
"width:40em; margin-left:2em">
2660 Returns a Number containing the byte at the specified
2661 byte index or Nil if the index is out of bounds.
2665 <b><a name=File-atPut
><font color=black
>atPut(
</b><i>positionNumber, byteNumber
</i><b>)
2667 <div style=
"width:40em; margin-left:2em">
2668 Writes the byte value of byteNumber to the file position
2669 positionNumber. Returns self.
2673 <b><a name=File-close
><font color=black
>close
</font></a></b><p>
2674 <div style=
"width:40em; margin-left:2em">
2675 Closes the receiver if open, otherwise does nothing. Returns self.
2679 <b><a name=File-contents
><font color=black
>contents
</font></a></b><p>
2680 <div style=
"width:40em; margin-left:2em">
2681 Returns contents of the file as a mutable Sequence of bytes.
2685 <b><a name=File-copyToPath
><font color=black
>copyToPath
</font></a></b><p>
2686 <div style=
"width:40em; margin-left:2em">
2687 <font color=red
>undocumented
</font>
2691 <b><a name=File-descriptor
><font color=black
>descriptor
</font></a></b><p>
2692 <div style=
"width:40em; margin-left:2em">
2693 Returns the file's descriptor as a number.
2697 <b><a name=File-exists
><font color=black
>exists
</font></a></b><p>
2698 <div style=
"width:40em; margin-left:2em">
2699 Returns true if the file specified by the receiver's
2700 path exists, false otherwise.
2704 <b><a name=File-flush
><font color=black
>flush
</font></a></b><p>
2705 <div style=
"width:40em; margin-left:2em">
2706 Forces any buffered data to be written to disk. Returns self.
2710 <b><a name=File-foreach
><font color=black
>foreach(
</b><i>optionalIndex, value, message
</i><b>)
2712 <div style=
"width:40em; margin-left:2em">
2713 For each byte, set index to the index of the byte
2714 and value to the number containing the byte value and execute aMessage.
2717 aFile foreach(i, v, writeln(
"byte at ", i,
" is ", v))
2718 aFile foreach(v, writeln(
"byte ", v))
2724 <b><a name=File-foreachLine
><font color=black
>foreachLine(
</b><i>optionalLineNumber, line, message
</i><b>)
2726 <div style=
"width:40em; margin-left:2em">
2727 For each line, set index to the line number of the line
2728 and line and execute aMessage.
2731 aFile foreachLine(i, v, writeln(
"Line ", i,
": ", v))
2732 aFile foreach(v, writeln(
"Line: ", v))
2738 <b><a name=File-groupId
><font color=black
>groupId
</font></a></b><p>
2739 <div style=
"width:40em; margin-left:2em">
2740 Returns a Number containing the group id associated with the file's path.
2744 <b><a name=File-isAtEnd
><font color=black
>isAtEnd
</font></a></b><p>
2745 <div style=
"width:40em; margin-left:2em">
2746 Returns true if the file is at it's end. Otherwise returns false.
2750 <b><a name=File-isDirectory
><font color=black
>isDirectory
</font></a></b><p>
2751 <div style=
"width:40em; margin-left:2em">
2752 Returns true if the receiver's path points to a directory, false otherwise.
2756 <b><a name=File-isLink
><font color=black
>isLink
</font></a></b><p>
2757 <div style=
"width:40em; margin-left:2em">
2758 Returns true if the receiver's path points to a link, false otherwise.
2762 <b><a name=File-isOpen
><font color=black
>isOpen
</font></a></b><p>
2763 <div style=
"width:40em; margin-left:2em">
2764 Returns self if the file is open. Otherwise returns Nil.
2768 <b><a name=File-isPipe
><font color=black
>isPipe
</font></a></b><p>
2769 <div style=
"width:40em; margin-left:2em">
2770 Returns true if the receiver is a pipe, false otherwise.
2774 <b><a name=File-isRegularFile
><font color=black
>isRegularFile
</font></a></b><p>
2775 <div style=
"width:40em; margin-left:2em">
2776 Returns true if the receiver's file descriptor is a regular file, false otherwise.
2780 <b><a name=File-isSocket
><font color=black
>isSocket
</font></a></b><p>
2781 <div style=
"width:40em; margin-left:2em">
2782 Returns true if the receiver's file descriptor is a Socket, false otherwise.
2786 <b><a name=File-isUserExecutable
><font color=black
>isUserExecutable
</font></a></b><p>
2787 <div style=
"width:40em; margin-left:2em">
2788 Returns true if the receiver is user group executable, false otherwise.
2792 <b><a name=File-lastAccessDate
><font color=black
>lastAccessDate
</font></a></b><p>
2793 <div style=
"width:40em; margin-left:2em">
2794 Returns a Date object containing the last date and
2795 time the file was accessed.
2799 <b><a name=File-lastDataChangeDate
><font color=black
>lastDataChangeDate
</font></a></b><p>
2800 <div style=
"width:40em; margin-left:2em">
2801 Returns a Date object containing the last date and
2802 time the file's contents were changed.
2806 <b><a name=File-lastInfoChangeDate
><font color=black
>lastInfoChangeDate
</font></a></b><p>
2807 <div style=
"width:40em; margin-left:2em">
2808 Returns a Date object containing the last date and
2809 time the file's meta info was changed.
2813 <b><a name=File-lock
><font color=black
>lock
</font></a></b><p>
2814 <div style=
"width:40em; margin-left:2em">
2815 <font color=red
>undocumented
</font>
2819 <b><a name=File-lockFile
><font color=black
>lockFile
</font></a></b><p>
2820 <div style=
"width:40em; margin-left:2em">
2821 <font color=red
>undocumented
</font>
2825 <b><a name=File-mode
><font color=black
>mode
</font></a></b><p>
2826 <div style=
"width:40em; margin-left:2em">
2827 Returns the open mode of the file(either read, update or append).
2831 <b><a name=File-moveTo
><font color=black
>moveTo(
</b><i>pathString
</i><b>)
2833 <div style=
"width:40em; margin-left:2em">
2834 Moves the file specified by the receiver's path to the
2835 new path pathString. Raises an File doesNotExist exception if the
2836 file does not exist or a File nameConflict exception if the file
2837 nameString already exists.
2841 <b><a name=File-name
><font color=black
>name
</font></a></b><p>
2842 <div style=
"width:40em; margin-left:2em">
2843 Returns the last path component of the file path.
2847 <b><a name=File-open
><font color=black
>open(
</b><i>optionalPathString
</i><b>)
2849 <div style=
"width:40em; margin-left:2em">
2850 Opens the file. Creates one if it does not exist.
2851 If the optionalPathString argument is provided, the path is set to it before
2852 opening. Returns self or raises an File exception on error.
2856 <b><a name=File-openForAppending
><font color=black
>openForAppending(
</b><i>optionalPathString
</i><b>)
2858 <div style=
"width:40em; margin-left:2em">
2859 Sets the file mode to append (writing to the end of the file)
2860 and calls open(optionalPathString).
2864 <b><a name=File-openForReading
><font color=black
>openForReading(
</b><i>optionalPathString
</i><b>)
2866 <div style=
"width:40em; margin-left:2em">
2867 Sets the file mode to read (reading only) and calls open(optionalPathString).
2871 <b><a name=File-openForUpdating
><font color=black
>openForUpdating(
</b><i>optionalPathString
</i><b>)
2873 <div style=
"width:40em; margin-left:2em">
2874 Sets the file mode to update (reading and writing) and calls
2875 open(optionalPathString). This will not delete the file if it already exists.
2876 Use the remove method first if you need to delete an existing file before opening a new one.
2880 <b><a name=File-path
><font color=black
>path
</font></a></b><p>
2881 <div style=
"width:40em; margin-left:2em">
2882 Returns the file path of the receiver.
2886 <b><a name=File-popen
><font color=black
>popen
</font></a></b><p>
2887 <div style=
"width:40em; margin-left:2em">
2892 <b><a name=File-position
><font color=black
>position
</font></a></b><p>
2893 <div style=
"width:40em; margin-left:2em">
2894 Returns the current file pointer byte position as a Number.
2898 <b><a name=File-positionAtEnd
><font color=black
>positionAtEnd
</font></a></b><p>
2899 <div style=
"width:40em; margin-left:2em">
2900 Sets the file position pointer to the end of the file.
2904 <b><a name=File-protectionMode
><font color=black
>protectionMode
</font></a></b><p>
2905 <div style=
"width:40em; margin-left:2em">
2906 Returns a Number containing the protection mode
2907 associated with the file's path.
2911 <b><a name=File-readBufferOfLength
><font color=black
>readBufferOfLength(
</b><i>aNumber
</i><b>)
2913 <div style=
"width:40em; margin-left:2em">
2914 Reads a Buffer of the specified length and returns it.
2915 Returns Nil if the end of the file has been reached.
2919 <b><a name=File-readLine
><font color=black
>readLine
</font></a></b><p>
2920 <div style=
"width:40em; margin-left:2em">
2921 Reads the next line of the file and returns it as a
2922 string without the return character. Returns Nil if the end of the file has been reached.
2926 <b><a name=File-readLines
><font color=black
>readLines
</font></a></b><p>
2927 <div style=
"width:40em; margin-left:2em">
2928 Returns list containing all lines in the file.
2932 <b><a name=File-readStringOfLength
><font color=black
>readStringOfLength(
</b><i>aNumber
</i><b>)
2934 <div style=
"width:40em; margin-left:2em">
2935 Reads a String of the specified length and returns it.
2936 Returns Nil if the end of the file has been reached.
2940 <b><a name=File-readToBufferLength
><font color=black
>readToBufferLength
</font></a></b><p>
2941 <div style=
"width:40em; margin-left:2em">
2942 <font color=red
>undocumented
</font>
2946 <b><a name=File-readToBufferOfLength
><font color=black
>readToBufferOfLength(
</b><i>aBuffer, aNumber
</i><b>)
2948 <div style=
"width:40em; margin-left:2em">
2949 Reads at most aNumber number of items and appends them to aBuffer.
2950 Returns number of items read.
2954 <b><a name=File-remove
><font color=black
>remove
</font></a></b><p>
2955 <div style=
"width:40em; margin-left:2em">
2956 Removes the file specified by the receiver's path.
2957 Raises an error if the file exists but is not removed. Returns self.
2961 <b><a name=File-rewind
><font color=black
>rewind
</font></a></b><p>
2962 <div style=
"width:40em; margin-left:2em">
2963 Sets the file position pointer to the beginning of the file.
2967 <b><a name=File-setContents
><font color=black
>setContents
</font></a></b><p>
2968 <div style=
"width:40em; margin-left:2em">
2969 <font color=red
>undocumented
</font>
2973 <b><a name=File-setPath
><font color=black
>setPath(
</b><i>aString
</i><b>)
2975 <div style=
"width:40em; margin-left:2em">
2976 Sets the file path of the receiver to pathString.
2977 The default path is an empty string. Returns self.
2981 <b><a name=File-setPosition
><font color=black
>setPosition(
</b><i>aNumber
</i><b>)
2983 <div style=
"width:40em; margin-left:2em">
2984 Sets the file position pointer to the byte specified by aNumber. Returns self.
2988 <b><a name=File-setStreamDestination
><font color=black
>setStreamDestination
</font></a></b><p>
2989 <div style=
"width:40em; margin-left:2em">
2990 <font color=red
>undocumented
</font>
2994 <b><a name=File-setStreamReadSize
><font color=black
>setStreamReadSize
</font></a></b><p>
2995 <div style=
"width:40em; margin-left:2em">
2996 <font color=red
>undocumented
</font>
3000 <b><a name=File-size
><font color=black
>size
</font></a></b><p>
3001 <div style=
"width:40em; margin-left:2em">
3002 Returns the file size in bytes.
3006 <b><a name=File-standardError
><font color=black
>standardError
</font></a></b><p>
3007 <div style=
"width:40em; margin-left:2em">
3008 Returns a new File whose stream is set to the standard error stream.
3012 <b><a name=File-standardInput
><font color=black
>standardInput
</font></a></b><p>
3013 <div style=
"width:40em; margin-left:2em">
3014 Returns a new File whose stream is set to the standard input stream.
3018 <b><a name=File-standardOutput
><font color=black
>standardOutput
</font></a></b><p>
3019 <div style=
"width:40em; margin-left:2em">
3020 Returns a new File whose stream is set to the standard output stream.
3024 <b><a name=File-startStreaming
><font color=black
>startStreaming
</font></a></b><p>
3025 <div style=
"width:40em; margin-left:2em">
3026 <font color=red
>undocumented
</font>
3030 <b><a name=File-stat
><font color=black
>stat
</font></a></b><p>
3031 <div style=
"width:40em; margin-left:2em">
3032 Updates the receiver's meta info cache.
3036 <b><a name=File-statSize
><font color=black
>statSize
</font></a></b><p>
3037 <div style=
"width:40em; margin-left:2em">
3038 Returns the file's size in bytes as a Number.
3042 <b><a name=File-streamDestination
><font color=black
>streamDestination
</font></a></b><p>
3043 <div style=
"width:40em; margin-left:2em">
3044 <font color=red
>undocumented
</font>
3048 <b><a name=File-streamReadSize
><font color=black
>streamReadSize
</font></a></b><p>
3049 <div style=
"width:40em; margin-left:2em">
3050 <font color=red
>undocumented
</font>
3054 <b><a name=File-streamTo
><font color=black
>streamTo
</font></a></b><p>
3055 <div style=
"width:40em; margin-left:2em">
3056 <font color=red
>undocumented
</font>
3060 <b><a name=File-temporaryFile
><font color=black
>temporaryFile
</font></a></b><p>
3061 <div style=
"width:40em; margin-left:2em">
3062 Returns a new File object with an open temporary file. The file is
3063 automatically deleted when the returned File object is closed or garbage collected.
3067 <b><a name=File-truncateToSize
><font color=black
>truncateToSize(
</b><i>numberOfBytes
</i><b>)
3069 <div style=
"width:40em; margin-left:2em">
3070 Trunctates the file's size to the numberOfBytes. Returns self.
3074 <b><a name=File-unlock
><font color=black
>unlock
</font></a></b><p>
3075 <div style=
"width:40em; margin-left:2em">
3076 <font color=red
>undocumented
</font>
3080 <b><a name=File-userId
><font color=black
>userId
</font></a></b><p>
3081 <div style=
"width:40em; margin-left:2em">
3082 Returns a Number containing the user id associated with the file's path.
3086 <b><a name=File-with
><font color=black
>with(
</b><i>aPath
</i><b>)
3088 <div style=
"width:40em; margin-left:2em">
3089 Returns a new instance with the provided path.
3093 <b><a name=File-write
><font color=black
>write(
</b><i>aSequence1, aSequence2, ...
</i><b>)
3095 <div style=
"width:40em; margin-left:2em">
3096 Writes the arguments to the receiver file. Returns self.
3104 <h2><a name=Future
><font color=black
>Future
</font></a></h2>
3105 <ul style=
"width:40em">
3106 <b><font color=#
000>Protos:
</font></b> Object
3108 <div style=
"width:40em; margin-left:2em">
3109 <b><a href=#Future-futureProxy
>futureProxy
</a></b><br>
3110 <b><a href=#Future-runMessage
>runMessage
</a></b><br>
3111 <b><a href=#Future-runTarget
>runTarget
</a></b><br>
3112 <b><a href=#Future-setResult
>setResult
</a></b><br>
3113 <b><a href=#Future-setRunMessage
>setRunMessage
</a></b><br>
3114 <b><a href=#Future-setRunTarget
>setRunTarget
</a></b><br>
3115 <b><a href=#Future-setWaitingCoros
>setWaitingCoros
</a></b><br>
3116 <b><a href=#Future-waitOnResult
>waitOnResult
</a></b><br>
3117 <b><a href=#Future-waitingCoros
>waitingCoros
</a></b><br>
3122 <b><a name=Future-futureProxy
><font color=black
>futureProxy
</font></a></b><p>
3123 <div style=
"width:40em; margin-left:2em">
3124 <font color=red
>undocumented
</font>
3128 <b><a name=Future-runMessage
><font color=black
>runMessage
</font></a></b><p>
3129 <div style=
"width:40em; margin-left:2em">
3130 <font color=red
>undocumented
</font>
3134 <b><a name=Future-runTarget
><font color=black
>runTarget
</font></a></b><p>
3135 <div style=
"width:40em; margin-left:2em">
3136 <font color=red
>undocumented
</font>
3140 <b><a name=Future-setResult
><font color=black
>setResult
</font></a></b><p>
3141 <div style=
"width:40em; margin-left:2em">
3142 <font color=red
>undocumented
</font>
3146 <b><a name=Future-setRunMessage
><font color=black
>setRunMessage
</font></a></b><p>
3147 <div style=
"width:40em; margin-left:2em">
3148 <font color=red
>undocumented
</font>
3152 <b><a name=Future-setRunTarget
><font color=black
>setRunTarget
</font></a></b><p>
3153 <div style=
"width:40em; margin-left:2em">
3154 <font color=red
>undocumented
</font>
3158 <b><a name=Future-setWaitingCoros
><font color=black
>setWaitingCoros
</font></a></b><p>
3159 <div style=
"width:40em; margin-left:2em">
3160 <font color=red
>undocumented
</font>
3164 <b><a name=Future-waitOnResult
><font color=black
>waitOnResult
</font></a></b><p>
3165 <div style=
"width:40em; margin-left:2em">
3166 <font color=red
>undocumented
</font>
3170 <b><a name=Future-waitingCoros
><font color=black
>waitingCoros
</font></a></b><p>
3171 <div style=
"width:40em; margin-left:2em">
3172 <font color=red
>undocumented
</font>
3180 <h2><a name=FutureProxy
><font color=black
>FutureProxy
</font></a></h2>
3181 <ul style=
"width:40em">
3182 <b><font color=#
000>Protos:
</font></b> Object
3184 <div style=
"width:40em; margin-left:2em">
3185 <b><a href=#FutureProxy-_forward
>_forward
</a></b><br>
3186 <b><a href=#FutureProxy-with
>with
</a></b><br>
3191 <b><a name=FutureProxy-_forward
><font color=black
>_forward
</font></a></b><p>
3192 <div style=
"width:40em; margin-left:2em">
3193 <font color=red
>undocumented
</font>
3197 <b><a name=FutureProxy-with
><font color=black
>with
</font></a></b><p>
3198 <div style=
"width:40em; margin-left:2em">
3199 <font color=red
>undocumented
</font>
3207 <h2><a name=Importer
><font color=black
>Importer
</font></a></h2>
3208 <ul style=
"width:40em">
3209 <b><font color=#
000>Protos:
</font></b> Object
3210 <h3>Description
</h3>
3211 A simple search path based auto-importer.
3214 <div style=
"width:40em; margin-left:2em">
3215 <b><a href=#Importer-AddonImporter
>AddonImporter
</a></b><br>
3216 <b><a href=#Importer-FileImporter
>FileImporter
</a></b><br>
3217 <b><a href=#Importer-addSearchPath
>addSearchPath()
</a></b><br>
3218 <b><a href=#Importer-autoImportingForward
>autoImportingForward
</a></b><br>
3219 <b><a href=#Importer-import
>import()
</a></b><br>
3220 <b><a href=#Importer-importers
>importers
</a></b><br>
3221 <b><a href=#Importer-paths
>paths
</a></b><br>
3222 <b><a href=#Importer-removeSearchPath
>removeSearchPath()
</a></b><br>
3223 <b><a href=#Importer-turnOff
>turnOff
</a></b><br>
3224 <b><a href=#Importer-turnOn
>turnOn
</a></b><br>
3229 <b><a name=Importer-AddonImporter
><font color=black
>AddonImporter
</font></a></b><p>
3230 <div style=
"width:40em; margin-left:2em">
3231 An Importer for addon modules.
3235 <b><a name=Importer-FileImporter
><font color=black
>FileImporter
</font></a></b><p>
3236 <div style=
"width:40em; margin-left:2em">
3237 An Importer for local source files.
3241 <b><a name=Importer-addSearchPath
><font color=black
>addSearchPath(
</b><i>path
</i><b>)
3243 <div style=
"width:40em; margin-left:2em">
3244 Add a search path to the auto importer. Relative paths are made absolute before adding.
3248 <b><a name=Importer-autoImportingForward
><font color=black
>autoImportingForward
</font></a></b><p>
3249 <div style=
"width:40em; margin-left:2em">
3250 A forward method implementation placed in the Lobby when Importing is turned on.
3254 <b><a name=Importer-import
><font color=black
>import(
</b><i>originalCallMessage
</i><b>)
3256 <div style=
"width:40em; margin-left:2em">
3257 Imports an object or addon for the given Message.
3261 <b><a name=Importer-importers
><font color=black
>importers
</font></a></b><p>
3262 <div style=
"width:40em; margin-left:2em">
3263 List of Importer objects.
3267 <b><a name=Importer-paths
><font color=black
>paths
</font></a></b><p>
3268 <div style=
"width:40em; margin-left:2em">
3269 List of paths the proto importer will check while searching for protos to load.
3273 <b><a name=Importer-removeSearchPath
><font color=black
>removeSearchPath(
</b><i>path
</i><b>)
3275 <div style=
"width:40em; margin-left:2em">
3276 Removes a search path from the auto importer. Relative paths should be removed from the same working directory as they were added.
3280 <b><a name=Importer-turnOff
><font color=black
>turnOff
</font></a></b><p>
3281 <div style=
"width:40em; margin-left:2em">
3282 Turns off the Importer. Returns self.
3286 <b><a name=Importer-turnOn
><font color=black
>turnOn
</font></a></b><p>
3287 <div style=
"width:40em; margin-left:2em">
3288 Turns on the Importer. Returns self.
3296 <h2><a name=Map
><font color=black
>Map
</font></a></h2>
3297 <ul style=
"width:40em">
3298 <b><font color=#
000>Protos:
</font></b> Object
3299 <h3>Description
</h3>
3300 A key/value dictionary appropriate for holding large key/value collections.
3303 <div style=
"width:40em; margin-left:2em">
3304 <b><a href=#Map-addKeysAndValues
>addKeysAndValues
</a></b><br>
3305 <b><a href=#Map-asList
>asList
</a></b><br>
3306 <b><a href=#Map-asObject
>asObject
</a></b><br>
3307 <b><a href=#Map-at
>at()
</a></b><br>
3308 <b><a href=#Map-atIfAbsentPut
>atIfAbsentPut()
</a></b><br>
3309 <b><a href=#Map-atPut
>atPut()
</a></b><br>
3310 <b><a href=#Map-detect
>detect
</a></b><br>
3311 <b><a href=#Map-empty
>empty
</a></b><br>
3312 <b><a href=#Map-foreach
>foreach()
</a></b><br>
3313 <b><a href=#Map-hasKey
>hasKey()
</a></b><br>
3314 <b><a href=#Map-hasValue
>hasValue()
</a></b><br>
3315 <b><a href=#Map-ioStack
>ioStack
</a></b><br>
3316 <b><a href=#Map-keys
>keys
</a></b><br>
3317 <b><a href=#Map-map
>map
</a></b><br>
3318 <b><a href=#Map-removeAt
>removeAt()
</a></b><br>
3319 <b><a href=#Map-reverseMap
>reverseMap
</a></b><br>
3320 <b><a href=#Map-select
>select
</a></b><br>
3321 <b><a href=#Map-setMessageDebugging
>setMessageDebugging()
</a></b><br>
3322 <b><a href=#Map-size
>size
</a></b><br>
3323 <b><a href=#Map-values
>values
</a></b><br>
3328 <b><a name=Map-addKeysAndValues
><font color=black
>addKeysAndValues
</font></a></b><p>
3329 <div style=
"width:40em; margin-left:2em">
3330 <font color=red
>undocumented
</font>
3334 <b><a name=Map-asList
><font color=black
>asList
</font></a></b><p>
3335 <div style=
"width:40em; margin-left:2em">
3336 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.
3340 <b><a name=Map-asObject
><font color=black
>asObject
</font></a></b><p>
3341 <div style=
"width:40em; margin-left:2em">
3342 <font color=red
>undocumented
</font>
3346 <b><a name=Map-at
><font color=black
>at(
</b><i>keyString, optionalDefaultValue
</i><b>)
3348 <div style=
"width:40em; margin-left:2em">
3349 Returns the value for the key keyString. Returns nil if the key is absent.
3353 <b><a name=Map-atIfAbsentPut
><font color=black
>atIfAbsentPut(
</b><i>keyString, aValue
</i><b>)
3355 <div style=
"width:40em; margin-left:2em">
3356 If a value is present at the specified key, the value is returned. Otherwise, inserts/sets aValue and returns aValue.
3360 <b><a name=Map-atPut
><font color=black
>atPut(
</b><i>keyString, aValue
</i><b>)
3362 <div style=
"width:40em; margin-left:2em">
3363 Inserts/sets aValue with the key keyString. Returns self.
3367 <b><a name=Map-detect
><font color=black
>detect
</font></a></b><p>
3368 <div style=
"width:40em; margin-left:2em">
3369 <font color=red
>undocumented
</font>
3373 <b><a name=Map-empty
><font color=black
>empty
</font></a></b><p>
3374 <div style=
"width:40em; margin-left:2em">
3375 Removes all keys from the receiver. Returns self.
3379 <b><a name=Map-foreach
><font color=black
>foreach(
</b><i>optionalKey, value, message
</i><b>)
3381 <div style=
"width:40em; margin-left:2em">
3382 For each key value pair, sets the locals key to
3383 the key and value to the value and executes message.
3385 <pre>aMap foreach(k, v, writeln(k,
" = ", v))
3386 aMap foreach(v, write(v))
</pre>
3388 Example use with a block:
3390 <pre>myBlock = block(k, v, write(k,
" = ", v,
"\n"))
3391 aMap foreach(k, v, myBlock(k, v))
</pre>
3395 <b><a name=Map-hasKey
><font color=black
>hasKey(
</b><i>keyString
</i><b>)
3397 <div style=
"width:40em; margin-left:2em">
3398 Returns true if the key is present or false otherwise.
3402 <b><a name=Map-hasValue
><font color=black
>hasValue(
</b><i>aValue
</i><b>)
3404 <div style=
"width:40em; margin-left:2em">
3405 Returns true if the value is one of the Map's values or false otherwise.
3409 <b><a name=Map-ioStack
><font color=black
>ioStack
</font></a></b><p>
3410 <div style=
"width:40em; margin-left:2em">
3411 Returns List of values on this coroutine's stack.
3415 <b><a name=Map-keys
><font color=black
>keys
</font></a></b><p>
3416 <div style=
"width:40em; margin-left:2em">
3417 Returns a List of the receivers keys.
3421 <b><a name=Map-map
><font color=black
>map
</font></a></b><p>
3422 <div style=
"width:40em; margin-left:2em">
3423 <font color=red
>undocumented
</font>
3427 <b><a name=Map-removeAt
><font color=black
>removeAt(
</b><i>keyString
</i><b>)
3429 <div style=
"width:40em; margin-left:2em">
3430 Removes the specified keyString if present. Returns self.
3434 <b><a name=Map-reverseMap
><font color=black
>reverseMap
</font></a></b><p>
3435 <div style=
"width:40em; margin-left:2em">
3436 <font color=red
>undocumented
</font>
3440 <b><a name=Map-select
><font color=black
>select
</font></a></b><p>
3441 <div style=
"width:40em; margin-left:2em">
3442 <font color=red
>undocumented
</font>
3446 <b><a name=Map-setMessageDebugging
><font color=black
>setMessageDebugging(
</b><i>aBoolean
</i><b>)
3448 <div style=
"width:40em; margin-left:2em">
3449 Turns on message level debugging for this coro. When on, this
3450 coro will send a vmWillSendMessage message to the Debugger object before
3451 each message send and pause itself. See the Debugger object documentation
3452 for more information.
3456 <b><a name=Map-size
><font color=black
>size
</font></a></b><p>
3457 <div style=
"width:40em; margin-left:2em">
3458 Returns the number of key/value pairs in the receiver.
3462 <b><a name=Map-values
><font color=black
>values
</font></a></b><p>
3463 <div style=
"width:40em; margin-left:2em">
3464 Returns a List of the receivers values.
3472 <h2><a name=Message
><font color=black
>Message
</font></a></h2>
3473 <ul style=
"width:40em">
3474 <b><font color=#
000>Protos:
</font></b> Object
3475 <h3>Description
</h3>
3476 A Message object encapsulates the action of a message send. Blocks are composed of a Message and its children.
3482 In the above example:
3486 Important; Modifying the message tree of a block currently in use may cause
3487 a crash if a garbage collection cycle occurs. If the implementation were
3488 changed to retain every called message, this could be avoided.
3489 But the cost to performance seems to outweigh the need to cover this case for now.
3493 <div style=
"width:40em; margin-left:2em">
3494 <b><a href=#Message-appendArg
>appendArg()
</a></b><br>
3495 <b><a href=#Message-appendCachedArg
>appendCachedArg()
</a></b><br>
3496 <b><a href=#Message-argAt
>argAt()
</a></b><br>
3497 <b><a href=#Message-argCount
>argCount
</a></b><br>
3498 <b><a href=#Message-argsEvaluatedIn
>argsEvaluatedIn()
</a></b><br>
3499 <b><a href=#Message-arguments
>arguments
</a></b><br>
3500 <b><a href=#Message-asMessageWithEvaluatedArgs
>asMessageWithEvaluatedArgs
</a></b><br>
3501 <b><a href=#Message-asStackEntry
>asStackEntry
</a></b><br>
3502 <b><a href=#Message-asString
>asString
</a></b><br>
3503 <b><a href=#Message-cachedResult
>cachedResult
</a></b><br>
3504 <b><a href=#Message-characterNumber
>characterNumber
</a></b><br>
3505 <b><a href=#Message-clone
>clone
</a></b><br>
3506 <b><a href=#Message-code
>code
</a></b><br>
3507 <b><a href=#Message-codeOfLength
>codeOfLength
</a></b><br>
3508 <b><a href=#Message-description
>description
</a></b><br>
3509 <b><a href=#Message-doInContext
>doInContext
</a></b><br>
3510 <b><a href=#Message-fromString
>fromString()
</a></b><br>
3511 <b><a href=#Message-hasCachedResult
>hasCachedResult
</a></b><br>
3512 <b><a href=#Message-isEndOfLine
>isEndOfLine
</a></b><br>
3513 <b><a href=#Message-label
>label
</a></b><br>
3514 <b><a href=#Message-last
>last
</a></b><br>
3515 <b><a href=#Message-lastBeforeEndOfLine
>lastBeforeEndOfLine
</a></b><br>
3516 <b><a href=#Message-lineNumber
>lineNumber
</a></b><br>
3517 <b><a href=#Message-name
>name
</a></b><br>
3518 <b><a href=#Message-next
>next
</a></b><br>
3519 <b><a href=#Message-nextIgnoreEndOfLines
>nextIgnoreEndOfLines
</a></b><br>
3520 <b><a href=#Message-opShuffle
>opShuffle
</a></b><br>
3521 <b><a href=#Message-opShuffleC
>opShuffleC
</a></b><br>
3522 <b><a href=#Message-previous
>previous
</a></b><br>
3523 <b><a href=#Message-removeCachedResult
>removeCachedResult
</a></b><br>
3524 <b><a href=#Message-setArguments
>setArguments()
</a></b><br>
3525 <b><a href=#Message-setCachedResult
>setCachedResult()
</a></b><br>
3526 <b><a href=#Message-setCharacterNumber
>setCharacterNumber()
</a></b><br>
3527 <b><a href=#Message-setLabel
>setLabel()
</a></b><br>
3528 <b><a href=#Message-setLineNumber
>setLineNumber()
</a></b><br>
3529 <b><a href=#Message-setName
>setName()
</a></b><br>
3530 <b><a href=#Message-setNext
>setNext
</a></b><br>
3531 <b><a href=#Message-setNextMessage
>setNextMessage()
</a></b><br>
3532 <b><a href=#Message-setPrevious
>setPrevious()
</a></b><br>
3533 <b><a href=#Message-union
>union()
</a></b><br>
3538 <b><a name=Message-appendArg
><font color=black
>appendArg(
</b><i>aMessage
</i><b>)
3540 <div style=
"width:40em; margin-left:2em">
3541 Adds aMessage to the argument list of receiver. Examples,
3543 Io
> message(a) appendArg(message(b))
3546 Io
> message(a(
1,
2)) appendArg(message(
3))
3552 <b><a name=Message-appendCachedArg
><font color=black
>appendCachedArg(
</b><i>aValue
</i><b>)
3554 <div style=
"width:40em; margin-left:2em">
3555 Adds aValue to the argument list of receiver as a cachedResult.
3559 <b><a name=Message-argAt
><font color=black
>argAt(
</b><i>indexNumber
</i><b>)
3561 <div style=
"width:40em; margin-left:2em">
3562 Returns Message object for the specified argument or Nil if none exists.
3566 <b><a name=Message-argCount
><font color=black
>argCount
</font></a></b><p>
3567 <div style=
"width:40em; margin-left:2em">
3568 Returns the number of arguments this message has. A faster way to do, msg arguments size. Examples,
3570 Io
> message(a(
1,
2,
3)) argCount
3573 Io
> message(a) argCount
3579 <b><a name=Message-argsEvaluatedIn
><font color=black
>argsEvaluatedIn(
</b><i>anObject
</i><b>)
3581 <div style=
"width:40em; margin-left:2em">
3582 Returns a List containing the argument messages evaluated in the
3583 context of anObject.
3587 <b><a name=Message-arguments
><font color=black
>arguments
</font></a></b><p>
3588 <div style=
"width:40em; margin-left:2em">
3589 Returns a list of the message objects that act as the
3590 receiver's arguments. Modifying this list will not alter the actual
3591 list of arguments. Use the arguments_() method to do that.
3595 <b><a name=Message-asMessageWithEvaluatedArgs
><font color=black
>asMessageWithEvaluatedArgs
</font></a></b><p>
3596 <div style=
"width:40em; margin-left:2em">
3597 <font color=red
>undocumented
</font>
3601 <b><a name=Message-asStackEntry
><font color=black
>asStackEntry
</font></a></b><p>
3602 <div style=
"width:40em; margin-left:2em">
3603 <font color=red
>undocumented
</font>
3607 <b><a name=Message-asString
><font color=black
>asString
</font></a></b><p>
3608 <div style=
"width:40em; margin-left:2em">
3613 <b><a name=Message-cachedResult
><font color=black
>cachedResult
</font></a></b><p>
3614 <div style=
"width:40em; margin-left:2em">
3615 Returns the cached result of the Message or Nil if there is none.
3619 <b><a name=Message-characterNumber
><font color=black
>characterNumber
</font></a></b><p>
3620 <div style=
"width:40em; margin-left:2em">
3621 Returns the message character number. The charcter number is typically
3622 the beggining character index in the source text from with the message was read.
3626 <b><a name=Message-clone
><font color=black
>clone
</font></a></b><p>
3627 <div style=
"width:40em; margin-left:2em">
3628 Returns a Message that is a deep copy of the receiver.
3632 <b><a name=Message-code
><font color=black
>code
</font></a></b><p>
3633 <div style=
"width:40em; margin-left:2em">
3634 Returns a String containing a decompiled code representation of the receiver.
3638 <b><a name=Message-codeOfLength
><font color=black
>codeOfLength
</font></a></b><p>
3639 <div style=
"width:40em; margin-left:2em">
3640 <font color=red
>undocumented
</font>
3644 <b><a name=Message-description
><font color=black
>description
</font></a></b><p>
3645 <div style=
"width:40em; margin-left:2em">
3646 <font color=red
>undocumented
</font>
3650 <b><a name=Message-doInContext
><font color=black
>doInContext
</font></a></b><p>
3651 <div style=
"width:40em; margin-left:2em">
3652 <font color=red
>undocumented
</font>
3656 <b><a name=Message-fromString
><font color=black
>fromString(
</b><i>aString
</i><b>)
3658 <div style=
"width:40em; margin-left:2em">
3659 Returns a new Message object for the compiled(but not executed)
3664 <b><a name=Message-hasCachedResult
><font color=black
>hasCachedResult
</font></a></b><p>
3665 <div style=
"width:40em; margin-left:2em">
3666 Returns true if there is a cached result. Nil is a valid cached result.
3670 <b><a name=Message-isEndOfLine
><font color=black
>isEndOfLine
</font></a></b><p>
3671 <div style=
"width:40em; margin-left:2em">
3672 Returns true if the message marks the end of the line. A ';' message.
3676 <b><a name=Message-label
><font color=black
>label
</font></a></b><p>
3677 <div style=
"width:40em; margin-left:2em">
3678 Returns the message label. The label is typically set the the
3679 name of the file from which the source code for the message was read.
3683 <b><a name=Message-last
><font color=black
>last
</font></a></b><p>
3684 <div style=
"width:40em; margin-left:2em">
3685 Returns the last message in the chain.
3689 <b><a name=Message-lastBeforeEndOfLine
><font color=black
>lastBeforeEndOfLine
</font></a></b><p>
3690 <div style=
"width:40em; margin-left:2em">
3691 Returns the last message in the chain before the EndOfLine or nil.
3695 <b><a name=Message-lineNumber
><font color=black
>lineNumber
</font></a></b><p>
3696 <div style=
"width:40em; margin-left:2em">
3697 Returns the line number of the message. The charcter number
3698 is typically the line number in the source text from with the message was read.
3702 <b><a name=Message-name
><font color=black
>name
</font></a></b><p>
3703 <div style=
"width:40em; margin-left:2em">
3704 Returns the name of the receiver.
3708 <b><a name=Message-next
><font color=black
>next
</font></a></b><p>
3709 <div style=
"width:40em; margin-left:2em">
3710 Returns the next message in the message chain or nil if there is no next message.
3714 <b><a name=Message-nextIgnoreEndOfLines
><font color=black
>nextIgnoreEndOfLines
</font></a></b><p>
3715 <div style=
"width:40em; margin-left:2em">
3716 Returns the next message in the message chain which is not an EndOfLine or nil if there is no next message.
3720 <b><a name=Message-opShuffle
><font color=black
>opShuffle
</font></a></b><p>
3721 <div style=
"width:40em; margin-left:2em">
3722 <font color=red
>undocumented
</font>
3726 <b><a name=Message-opShuffleC
><font color=black
>opShuffleC
</font></a></b><p>
3727 <div style=
"width:40em; margin-left:2em">
3728 <font color=red
>undocumented
</font>
3732 <b><a name=Message-previous
><font color=black
>previous
</font></a></b><p>
3733 <div style=
"width:40em; margin-left:2em">
3734 Returns the previous message in the message chain or Nil if there is no previous message.
3738 <b><a name=Message-removeCachedResult
><font color=black
>removeCachedResult
</font></a></b><p>
3739 <div style=
"width:40em; margin-left:2em">
3740 Removes the cached result of the Message.
3744 <b><a name=Message-setArguments
><font color=black
>setArguments(
</b><i>aListOfMessages
</i><b>)
3746 <div style=
"width:40em; margin-left:2em">
3747 Sets the arguments of the receiver to deep copies of
3748 those contained in aListOfMessages. Returns self.
3752 <b><a name=Message-setCachedResult
><font color=black
>setCachedResult(
</b><i>anObject
</i><b>)
3754 <div style=
"width:40em; margin-left:2em">
3755 Sets the cached result of the message. Returns self.
3759 <b><a name=Message-setCharacterNumber
><font color=black
>setCharacterNumber(
</b><i>aNumber
</i><b>)
3761 <div style=
"width:40em; margin-left:2em">
3762 Sets the character number of the message. Returns self.
3766 <b><a name=Message-setLabel
><font color=black
>setLabel(
</b><i>aString
</i><b>)
3768 <div style=
"width:40em; margin-left:2em">
3769 Sets the label of the message and its children. Returns self.
3773 <b><a name=Message-setLineNumber
><font color=black
>setLineNumber(
</b><i>aNumber
</i><b>)
3775 <div style=
"width:40em; margin-left:2em">
3776 Sets the line number of the message. Returns self.
3780 <b><a name=Message-setName
><font color=black
>setName(
</b><i>aString
</i><b>)
3782 <div style=
"width:40em; margin-left:2em">
3783 Sets the name of the receiver. Returns self.
3787 <b><a name=Message-setNext
><font color=black
>setNext
</font></a></b><p>
3788 <div style=
"width:40em; margin-left:2em">
3789 <font color=red
>undocumented
</font>
3793 <b><a name=Message-setNextMessage
><font color=black
>setNextMessage(
</b><i>aMessageOrNil
</i><b>)
3795 <div style=
"width:40em; margin-left:2em">
3796 Sets the next message in the message chain to a deep copy of
3797 aMessage or it removes the next message if aMessage is nil.
3801 <b><a name=Message-setPrevious
><font color=black
>setPrevious(
</b><i>aMessageOrNil
</i><b>)
3803 <div style=
"width:40em; margin-left:2em">
3804 Sets the previous message in the message chain to a deep copy of
3805 aMessage or it removes the previous message if aMessage is Nil.
3809 <b><a name=Message-union
><font color=black
>union(
</b><i>other
</i><b>)
3811 <div style=
"width:40em; margin-left:2em">
3812 Creates a union of the receiver and the other parameter. Returns a new message object with the receivers message as the first argument of the returned message, and the other parameter's arguments as each successive argument to the new message.
3820 <h2><a name=Normal
><font color=black
>Normal
</font></a></h2>
3821 <ul style=
"width:40em">
3822 <b><font color=#
000>Protos:
</font></b> Object
3824 <div style=
"width:40em; margin-left:2em">
3825 <b><a href=#Normal-isBreak
>isBreak
</a></b><br>
3826 <b><a href=#Normal-isContinue
>isContinue
</a></b><br>
3827 <b><a href=#Normal-isReturn
>isReturn
</a></b><br>
3828 <b><a href=#Normal-stopLooping
>stopLooping
</a></b><br>
3833 <b><a name=Normal-isBreak
><font color=black
>isBreak
</font></a></b><p>
3834 <div style=
"width:40em; margin-left:2em">
3835 <font color=red
>undocumented
</font>
3839 <b><a name=Normal-isContinue
><font color=black
>isContinue
</font></a></b><p>
3840 <div style=
"width:40em; margin-left:2em">
3841 <font color=red
>undocumented
</font>
3845 <b><a name=Normal-isReturn
><font color=black
>isReturn
</font></a></b><p>
3846 <div style=
"width:40em; margin-left:2em">
3847 <font color=red
>undocumented
</font>
3851 <b><a name=Normal-stopLooping
><font color=black
>stopLooping
</font></a></b><p>
3852 <div style=
"width:40em; margin-left:2em">
3853 <font color=red
>undocumented
</font>
3861 <h2><a name=Notifier
><font color=black
>Notifier
</font></a></h2>
3862 <ul style=
"width:40em">
3863 <b><font color=#
000>Protos:
</font></b> Object
3865 <div style=
"width:40em; margin-left:2em">
3866 <b><a href=#Notifier-addListener
>addListener
</a></b><br>
3867 <b><a href=#Notifier-notifyListeners
>notifyListeners
</a></b><br>
3868 <b><a href=#Notifier-removeListener
>removeListener
</a></b><br>
3873 <b><a name=Notifier-addListener
><font color=black
>addListener
</font></a></b><p>
3874 <div style=
"width:40em; margin-left:2em">
3875 <font color=red
>undocumented
</font>
3879 <b><a name=Notifier-notifyListeners
><font color=black
>notifyListeners
</font></a></b><p>
3880 <div style=
"width:40em; margin-left:2em">
3881 <font color=red
>undocumented
</font>
3885 <b><a name=Notifier-removeListener
><font color=black
>removeListener
</font></a></b><p>
3886 <div style=
"width:40em; margin-left:2em">
3887 <font color=red
>undocumented
</font>
3895 <h2><a name=Number
><font color=black
>Number
</font></a></h2>
3896 <ul style=
"width:40em">
3897 <b><font color=#
000>Protos:
</font></b> Object
3898 <h3>Description
</h3>
3899 A container for a double (a
64bit floating point number on most platforms).
3902 <div style=
"width:40em; margin-left:2em">
3903 <b><a href=#Number-%
>%()
</a></b><br>
3904 <b><a href=#Number-&
>&()
</a></b><br>
3905 <b><a href=#Number-*
>*()
</a></b><br>
3906 <b><a href=#Number-**
>**()
</a></b><br>
3907 <b><a href=#Number-+
>+()
</a></b><br>
3908 <b><a href=#Number--
>-()
</a></b><br>
3909 <b><a href=#Number-/
>/()
</a></b><br>
3910 <b><a href=#Number-
<< ><<</a></b><br>
3911 <b><a href=#Number-
>> >>></a></b><br>
3912 <b><a href=#Number-^
>^()
</a></b><br>
3913 <b><a href=#Number-abs
>abs
</a></b><br>
3914 <b><a href=#Number-acos
>acos
</a></b><br>
3915 <b><a href=#Number-asBinary
>asBinary
</a></b><br>
3916 <b><a href=#Number-asBuffer
>asBuffer()
</a></b><br>
3917 <b><a href=#Number-asCharacter
>asCharacter
</a></b><br>
3918 <b><a href=#Number-asHex
>asHex
</a></b><br>
3919 <b><a href=#Number-asLowercase
>asLowercase
</a></b><br>
3920 <b><a href=#Number-asNumber
>asNumber
</a></b><br>
3921 <b><a href=#Number-asOctal
>asOctal
</a></b><br>
3922 <b><a href=#Number-asString
>asString()
</a></b><br>
3923 <b><a href=#Number-asUint32Buffer
>asUint32Buffer
</a></b><br>
3924 <b><a href=#Number-asUppercase
>asUppercase
</a></b><br>
3925 <b><a href=#Number-asin
>asin
</a></b><br>
3926 <b><a href=#Number-at
>at()
</a></b><br>
3927 <b><a href=#Number-atan
>atan
</a></b><br>
3928 <b><a href=#Number-atan2
>atan2()
</a></b><br>
3929 <b><a href=#Number-between
>between()
</a></b><br>
3930 <b><a href=#Number-bitwiseAnd
>bitwiseAnd()
</a></b><br>
3931 <b><a href=#Number-bitwiseComplement
>bitwiseComplement
</a></b><br>
3932 <b><a href=#Number-bitwiseOr
>bitwiseOr()
</a></b><br>
3933 <b><a href=#Number-bitwiseXor
>bitwiseXor()
</a></b><br>
3934 <b><a href=#Number-ceil
>ceil
</a></b><br>
3935 <b><a href=#Number-clip
>clip()
</a></b><br>
3936 <b><a href=#Number-combinations
>combinations()
</a></b><br>
3937 <b><a href=#Number-constants
>constants
</a></b><br>
3938 <b><a href=#Number-cos
>cos
</a></b><br>
3939 <b><a href=#Number-cubed
>cubed
</a></b><br>
3940 <b><a href=#Number-days
>days
</a></b><br>
3941 <b><a href=#Number-doubleMin
>doubleMin
</a></b><br>
3942 <b><a href=#Number-exp
>exp
</a></b><br>
3943 <b><a href=#Number-factorial
>factorial
</a></b><br>
3944 <b><a href=#Number-floatMax
>floatMax
</a></b><br>
3945 <b><a href=#Number-floatMin
>floatMin
</a></b><br>
3946 <b><a href=#Number-floor
>floor
</a></b><br>
3947 <b><a href=#Number-hours
>hours
</a></b><br>
3948 <b><a href=#Number-integerMax
>integerMax
</a></b><br>
3949 <b><a href=#Number-integerMin
>integerMin
</a></b><br>
3950 <b><a href=#Number-isAlphaNumeric
>isAlphaNumeric
</a></b><br>
3951 <b><a href=#Number-isControlCharacter
>isControlCharacter
</a></b><br>
3952 <b><a href=#Number-isDigit
>isDigit
</a></b><br>
3953 <b><a href=#Number-isEven
>isEven
</a></b><br>
3954 <b><a href=#Number-isGraph
>isGraph
</a></b><br>
3955 <b><a href=#Number-isHexDigit
>isHexDigit
</a></b><br>
3956 <b><a href=#Number-isInASequenceSet
>isInASequenceSet
</a></b><br>
3957 <b><a href=#Number-isLetter
>isLetter
</a></b><br>
3958 <b><a href=#Number-isLowercase
>isLowercase
</a></b><br>
3959 <b><a href=#Number-isNan
>isNan
</a></b><br>
3960 <b><a href=#Number-isOdd
>isOdd
</a></b><br>
3961 <b><a href=#Number-isPrint
>isPrint
</a></b><br>
3962 <b><a href=#Number-isPunctuation
>isPunctuation
</a></b><br>
3963 <b><a href=#Number-isSpace
>isSpace
</a></b><br>
3964 <b><a href=#Number-isUppercase
>isUppercase
</a></b><br>
3965 <b><a href=#Number-log
>log
</a></b><br>
3966 <b><a href=#Number-log10
>log10
</a></b><br>
3967 <b><a href=#Number-log2
>log2
</a></b><br>
3968 <b><a href=#Number-longMax
>longMax
</a></b><br>
3969 <b><a href=#Number-longMin
>longMin
</a></b><br>
3970 <b><a href=#Number-max
>max()
</a></b><br>
3971 <b><a href=#Number-min
>min()
</a></b><br>
3972 <b><a href=#Number-minMax
>minMax()
</a></b><br>
3973 <b><a href=#Number-minutes
>minutes
</a></b><br>
3974 <b><a href=#Number-mod
>mod()
</a></b><br>
3975 <b><a href=#Number-negate
>negate
</a></b><br>
3976 <b><a href=#Number-permutations
>permutations()
</a></b><br>
3977 <b><a href=#Number-pow
>pow()
</a></b><br>
3978 <b><a href=#Number-print
>print
</a></b><br>
3979 <b><a href=#Number-repeat
>repeat()
</a></b><br>
3980 <b><a href=#Number-round
>round
</a></b><br>
3981 <b><a href=#Number-roundDown
>roundDown
</a></b><br>
3982 <b><a href=#Number-seconds
>seconds
</a></b><br>
3983 <b><a href=#Number-shiftLeft
>shiftLeft()
</a></b><br>
3984 <b><a href=#Number-shiftRight
>shiftRight()
</a></b><br>
3985 <b><a href=#Number-shortMax
>shortMax
</a></b><br>
3986 <b><a href=#Number-shortMin
>shortMin
</a></b><br>
3987 <b><a href=#Number-sin
>sin
</a></b><br>
3988 <b><a href=#Number-sqrt
>sqrt
</a></b><br>
3989 <b><a href=#Number-squared
>squared
</a></b><br>
3990 <b><a href=#Number-tan
>tan
</a></b><br>
3991 <b><a href=#Number-toggle
>toggle
</a></b><br>
3992 <b><a href=#Number-unsignedIntMax
>unsignedIntMax
</a></b><br>
3993 <b><a href=#Number-unsignedLongMax
>unsignedLongMax
</a></b><br>
3994 <b><a href=#Number-unsignedShortMax
>unsignedShortMax
</a></b><br>
3995 <b><a href=#Number-years
>years
</a></b><br>
3996 <b><a href=#Number-|
>|()
</a></b><br>
4001 <b><a name=Number-%
><font color=black
>%(
</b><i>aNumber
</i><b>)
4003 <div style=
"width:40em; margin-left:2em">
4004 Returns the receiver modulus aNumber.
4008 <b><a name=Number-&
><font color=black
>&(
</b><i>aNumber
</i><b>)
4010 <div style=
"width:40em; margin-left:2em">
4011 Returns a new number with the bitwise AND of the receiver and aNumber.
4015 <b><a name=Number-*
><font color=black
>*(
</b><i>aNumber
</i><b>)
4017 <div style=
"width:40em; margin-left:2em">
4018 Returns a new number that is the product of the receiver and aNumber.
4022 <b><a name=Number-**
><font color=black
>**(
</b><i>aNumber
</i><b>)
4024 <div style=
"width:40em; margin-left:2em">
4025 Same as pow(aNumber).
4029 <b><a name=Number-+
><font color=black
>+(
</b><i>aNumber
</i><b>)
4031 <div style=
"width:40em; margin-left:2em">
4032 Returns a new number that is the sum of the receiver and aNumber.
4036 <b><a name=Number-->
<font color=black
>-(
</b><i>aNumber
</i><b>)
4038 <div style=
"width:40em; margin-left:2em">
4039 Returns a new number that is the difference of the receiver and aNumber.
4043 <b><a name=Number-
/><font color=black
>/(
</b><i>aNumber
</i><b>)
4045 <div style=
"width:40em; margin-left:2em">
4046 Returns a new number with the value of the receiver diveded by aNumber.
4050 <b><a name=Number-
<<><font color=black
><<</font></a></b><p>
4051 <div style=
"width:40em; margin-left:2em">
4052 <font color=red
>undocumented
</font>
4056 <b><a name=Number-
>>><font color=black
>>></font></a></b><p>
4057 <div style=
"width:40em; margin-left:2em">
4058 <font color=red
>undocumented
</font>
4062 <b><a name=Number-^
><font color=black
>^(
</b><i>aNumber
</i><b>)
4064 <div style=
"width:40em; margin-left:2em">
4065 Returns the bitwise xor with the receiver (both numbers are converted to longs for the operation).
4069 <b><a name=Number-abs
><font color=black
>abs
</font></a></b><p>
4070 <div style=
"width:40em; margin-left:2em">
4071 Returns a number with the absolute value of the receiver.
4075 <b><a name=Number-acos
><font color=black
>acos
</font></a></b><p>
4076 <div style=
"width:40em; margin-left:2em">
4077 Returns a number with the arc cosine of the receiver.
4081 <b><a name=Number-asBinary
><font color=black
>asBinary
</font></a></b><p>
4082 <div style=
"width:40em; margin-left:2em">
4083 Returns the number as binary digits inside a string.
42 asBinary -
> "101010"
4087 <b><a name=Number-asBuffer
><font color=black
>asBuffer(
</b><i>optionalNumberOfBytes
</i><b>)
4089 <div style=
"width:40em; margin-left:2em">
4090 Returns a Buffer containing a the number of bytes specified by
4091 optionalNumberOfBytes (up to the size of a double on the platform) of the reciever.
4092 If no optionalNumberOfBytes is specified, it is assumed to be the number of bytes
4093 in a double on the host platform.
4097 <b><a name=Number-asCharacter
><font color=black
>asCharacter
</font></a></b><p>
4098 <div style=
"width:40em; margin-left:2em">
4099 Returns a String containing a single character whose
4100 value is the ascii value of the first byte of the receiver.
4104 <b><a name=Number-asHex
><font color=black
>asHex
</font></a></b><p>
4105 <div style=
"width:40em; margin-left:2em">
4106 Returns the number as hex digits inside a string.
97 asHex -
> "61"
4110 <b><a name=Number-asLowercase
><font color=black
>asLowercase
</font></a></b><p>
4111 <div style=
"width:40em; margin-left:2em">
4112 Returns a new Number containing a lower case version of the receiver.
4116 <b><a name=Number-asNumber
><font color=black
>asNumber
</font></a></b><p>
4117 <div style=
"width:40em; margin-left:2em">
4122 <b><a name=Number-asOctal
><font color=black
>asOctal
</font></a></b><p>
4123 <div style=
"width:40em; margin-left:2em">
4124 Returns the number as octal digits inside a string.
436 asOctal -
> "664"
4128 <b><a name=Number-asString
><font color=black
>asString(
</b><i>optionalIntegerDigits, optionalFactionDigits
</i><b>)
4130 <div style=
"width:40em; margin-left:2em">
4131 Returns a string representation of the receiver. For example:
4132 <pre>1234.5678 asString(
0,
2)
</pre>
4139 <b><a name=Number-asUint32Buffer
><font color=black
>asUint32Buffer
</font></a></b><p>
4140 <div style=
"width:40em; margin-left:2em">
4141 Returns a Sequence containing a
4 byte representation of the uint32 value of the receiver.
4145 <b><a name=Number-asUppercase
><font color=black
>asUppercase
</font></a></b><p>
4146 <div style=
"width:40em; margin-left:2em">
4147 Returns a new Number containing a upper case version of the receiver.
4151 <b><a name=Number-asin
><font color=black
>asin
</font></a></b><p>
4152 <div style=
"width:40em; margin-left:2em">
4153 Returns a number with the arc sine of the receiver.
4157 <b><a name=Number-at
><font color=black
>at(
</b><i>bitIndexNumber
</i><b>)
4159 <div style=
"width:40em; margin-left:2em">
4160 Returns a new Number containing
1 if the receiver cast to a long
4161 has it's bit set to
1 at bitIndexNumber. Otherwise returns
0.
4165 <b><a name=Number-atan
><font color=black
>atan
</font></a></b><p>
4166 <div style=
"width:40em; margin-left:2em">
4167 Returns a number with the arc tangent of the receiver.
4171 <b><a name=Number-atan2
><font color=black
>atan2(
</b><i>aNumber
</i><b>)
4173 <div style=
"width:40em; margin-left:2em">
4174 Returns a number with the arc tangent of y/x where y is the receiver and x is aNumber.
4178 <b><a name=Number-between
><font color=black
>between(
</b><i>aNumber1, aNumber2
</i><b>)
4180 <div style=
"width:40em; margin-left:2em">
4181 Returns the true if the receiver's value is between or
4182 equal to aNumber1 and aNumber2, otherwise returns false.
4186 <b><a name=Number-bitwiseAnd
><font color=black
>bitwiseAnd(
</b><i>aNumber
</i><b>)
4188 <div style=
"width:40em; margin-left:2em">
4189 Returns a new number with the bitwise AND of the receiver and aNumber.
4193 <b><a name=Number-bitwiseComplement
><font color=black
>bitwiseComplement
</font></a></b><p>
4194 <div style=
"width:40em; margin-left:2em">
4195 Returns a new number with the bitwise complement of the
4196 receiver. (Turns the
0 bits of become
1s and the
1 bits become
0s. )
4200 <b><a name=Number-bitwiseOr
><font color=black
>bitwiseOr(
</b><i>aNumber
</i><b>)
4202 <div style=
"width:40em; margin-left:2em">
4203 Returns a new number with the bitwise AND of the receiver and aNumber.
4207 <b><a name=Number-bitwiseXor
><font color=black
>bitwiseXor(
</b><i>aNumber
</i><b>)
4209 <div style=
"width:40em; margin-left:2em">
4210 Returns a new number with the bitwise XOR of the receiver and aNumber.
4214 <b><a name=Number-ceil
><font color=black
>ceil
</font></a></b><p>
4215 <div style=
"width:40em; margin-left:2em">
4216 Returns the a number with the receiver's value rounded up to
4217 the nearest integer if it's fractional component is greater than
0.
4221 <b><a name=Number-clip
><font color=black
>clip(
</b><i>aNumber1, aNumber2
</i><b>)
4223 <div style=
"width:40em; margin-left:2em">
4224 Returns self if the receiver is between aNumber1 and aNumber2.
4225 Returns aNumber1 if it is less than aNumber1. Returns aNumber2 if it is greater than aNumber2.
4229 <b><a name=Number-combinations
><font color=black
>combinations(
</b><i>size
</i><b>)
4231 <div style=
"width:40em; margin-left:2em">
4232 Returns the combinations where the receiver is the number of different objects and size is the number to be arranged.
4236 <b><a name=Number-constants
><font color=black
>constants
</font></a></b><p>
4237 <div style=
"width:40em; margin-left:2em">
4238 Object containing number constants e, inf, nan and pi.
4242 <b><a name=Number-cos
><font color=black
>cos
</font></a></b><p>
4243 <div style=
"width:40em; margin-left:2em">
4244 Returns the cosine of the receiver.
4248 <b><a name=Number-cubed
><font color=black
>cubed
</font></a></b><p>
4249 <div style=
"width:40em; margin-left:2em">
4250 Returns the cube of the receiver.
4254 <b><a name=Number-days
><font color=black
>days
</font></a></b><p>
4255 <div style=
"width:40em; margin-left:2em">
4256 Returns Duration of receiver's days. See `years' for a
4261 <b><a name=Number-doubleMin
><font color=black
>doubleMin
</font></a></b><p>
4262 <div style=
"width:40em; margin-left:2em">
4263 Returns the minimum double precision float value.
4267 <b><a name=Number-exp
><font color=black
>exp
</font></a></b><p>
4268 <div style=
"width:40em; margin-left:2em">
4269 Returns e to the power of the receiver.
4273 <b><a name=Number-factorial
><font color=black
>factorial
</font></a></b><p>
4274 <div style=
"width:40em; margin-left:2em">
4275 Returns the factorial of the receiver.
4279 <b><a name=Number-floatMax
><font color=black
>floatMax
</font></a></b><p>
4280 <div style=
"width:40em; margin-left:2em">
4281 Returns the maximum double precision float value.
4285 <b><a name=Number-floatMin
><font color=black
>floatMin
</font></a></b><p>
4286 <div style=
"width:40em; margin-left:2em">
4287 Returns the minimum float value.
4291 <b><a name=Number-floor
><font color=black
>floor
</font></a></b><p>
4292 <div style=
"width:40em; margin-left:2em">
4293 Returns the a number with the receiver's value rounded
4294 down to the nearest integer if it's fractional component is not
0.
4298 <b><a name=Number-hours
><font color=black
>hours
</font></a></b><p>
4299 <div style=
"width:40em; margin-left:2em">
4300 Returns Duration of receiver's hours. See `years' for a
4305 <b><a name=Number-integerMax
><font color=black
>integerMax
</font></a></b><p>
4306 <div style=
"width:40em; margin-left:2em">
4307 Returns the maximum integer value.
4311 <b><a name=Number-integerMin
><font color=black
>integerMin
</font></a></b><p>
4312 <div style=
"width:40em; margin-left:2em">
4313 Returns the minimum integer value.
4317 <b><a name=Number-isAlphaNumeric
><font color=black
>isAlphaNumeric
</font></a></b><p>
4318 <div style=
"width:40em; margin-left:2em">
4319 Returns self if the receiver is an alphanumeric
4320 character value. Otherwise returns Nil.
4324 <b><a name=Number-isControlCharacter
><font color=black
>isControlCharacter
</font></a></b><p>
4325 <div style=
"width:40em; margin-left:2em">
4326 Returns self if the receiver is an control
4327 character value. Otherwise returns Nil.
4331 <b><a name=Number-isDigit
><font color=black
>isDigit
</font></a></b><p>
4332 <div style=
"width:40em; margin-left:2em">
4333 Returns self if the receiver is an numeric
4334 digit character value. Otherwise returns Nil.
4338 <b><a name=Number-isEven
><font color=black
>isEven
</font></a></b><p>
4339 <div style=
"width:40em; margin-left:2em">
4340 Returns self if integer form of the receiver is even. Otherwise returns Nil.
4344 <b><a name=Number-isGraph
><font color=black
>isGraph
</font></a></b><p>
4345 <div style=
"width:40em; margin-left:2em">
4346 Returns self if the receiver is a printing character
4347 value except space. Otherwise returns Nil.
4351 <b><a name=Number-isHexDigit
><font color=black
>isHexDigit
</font></a></b><p>
4352 <div style=
"width:40em; margin-left:2em">
4353 Returns self if the receiver is hexidecimal digit
4354 character value. Otherwise returns Nil.
4358 <b><a name=Number-isInASequenceSet
><font color=black
>isInASequenceSet
</font></a></b><p>
4359 <div style=
"width:40em; margin-left:2em">
4360 Return true if receiver is in one of the Sequence sequenceSets, otherwise false.
4364 <b><a name=Number-isLetter
><font color=black
>isLetter
</font></a></b><p>
4365 <div style=
"width:40em; margin-left:2em">
4366 eturns self if the receiver is an alphanetic character value. Otherwise returns Nil.
4370 <b><a name=Number-isLowercase
><font color=black
>isLowercase
</font></a></b><p>
4371 <div style=
"width:40em; margin-left:2em">
4372 Returns self if the receiver is an lower case
4373 character value. Otherwise returns Nil.
4377 <b><a name=Number-isNan
><font color=black
>isNan
</font></a></b><p>
4378 <div style=
"width:40em; margin-left:2em">
4379 Returns true if the receiver is not a number. Otherwise returns false.
4383 <b><a name=Number-isOdd
><font color=black
>isOdd
</font></a></b><p>
4384 <div style=
"width:40em; margin-left:2em">
4385 Returns self if integer form of the receiver is even. Otherwise returns Nil.
4389 <b><a name=Number-isPrint
><font color=black
>isPrint
</font></a></b><p>
4390 <div style=
"width:40em; margin-left:2em">
4391 Returns self if the receiver is an printing character
4392 value, including space. Otherwise returns Nil.
4396 <b><a name=Number-isPunctuation
><font color=black
>isPunctuation
</font></a></b><p>
4397 <div style=
"width:40em; margin-left:2em">
4398 Returns self if the receiver is an printing character
4399 value, except space letter or digit. Otherwise returns Nil.
4403 <b><a name=Number-isSpace
><font color=black
>isSpace
</font></a></b><p>
4404 <div style=
"width:40em; margin-left:2em">
4405 Returns self if the receiver is a space, formfeed,
4406 newline carriage return, tab or vertical tab character value. Otherwise returns Nil.
4410 <b><a name=Number-isUppercase
><font color=black
>isUppercase
</font></a></b><p>
4411 <div style=
"width:40em; margin-left:2em">
4412 Returns self if the receiver is an upper case
4413 character value. Otherwise returns Nil.
4417 <b><a name=Number-log
><font color=black
>log
</font></a></b><p>
4418 <div style=
"width:40em; margin-left:2em">
4419 Returns the logarithm of the receiver. The base
4420 is taken as the value of the first argument or the constant e if
4421 the first argument is omitted.
4425 <b><a name=Number-log10
><font color=black
>log10
</font></a></b><p>
4426 <div style=
"width:40em; margin-left:2em">
4427 Returns the base
10 logarithm of the receiver.
4431 <b><a name=Number-log2
><font color=black
>log2
</font></a></b><p>
4432 <div style=
"width:40em; margin-left:2em">
4433 Returns the base
2 logarithm of the receiver.
4437 <b><a name=Number-longMax
><font color=black
>longMax
</font></a></b><p>
4438 <div style=
"width:40em; margin-left:2em">
4439 Returns the maximum long value.
4443 <b><a name=Number-longMin
><font color=black
>longMin
</font></a></b><p>
4444 <div style=
"width:40em; margin-left:2em">
4445 Returns the minimum long value.
4449 <b><a name=Number-max
><font color=black
>max(
</b><i>aNumber
</i><b>)
4451 <div style=
"width:40em; margin-left:2em">
4452 Returns the greater of the receiver and aNumber.
4456 <b><a name=Number-min
><font color=black
>min(
</b><i>aNumber
</i><b>)
4458 <div style=
"width:40em; margin-left:2em">
4459 Returns the lesser of the receiver and aNumber.
4463 <b><a name=Number-minMax
><font color=black
>minMax(
</b><i>low, high
</i><b>)
4465 <div style=
"width:40em; margin-left:2em">
4466 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.
4470 <b><a name=Number-minutes
><font color=black
>minutes
</font></a></b><p>
4471 <div style=
"width:40em; margin-left:2em">
4472 Returns Duration of receiver's minutes. See `years' for
4477 <b><a name=Number-mod
><font color=black
>mod(
</b><i>aNumber
</i><b>)
4479 <div style=
"width:40em; margin-left:2em">
4480 Returns the receiver modulus aNumber.
4484 <b><a name=Number-negate
><font color=black
>negate
</font></a></b><p>
4485 <div style=
"width:40em; margin-left:2em">
4486 Returns new number that is negated version of the receiver.
4490 <b><a name=Number-permutations
><font color=black
>permutations(
</b><i>size
</i><b>)
4492 <div style=
"width:40em; margin-left:2em">
4493 Returns the permutations where the receiver is the number of different objects and size is the number to be arranged.
4497 <b><a name=Number-pow
><font color=black
>pow(
</b><i>aNumber
</i><b>)
4499 <div style=
"width:40em; margin-left:2em">
4500 Returns the value of the receiver to the aNumber power.
4504 <b><a name=Number-print
><font color=black
>print
</font></a></b><p>
4505 <div style=
"width:40em; margin-left:2em">
4510 <b><a name=Number-repeat
><font color=black
>repeat(
</b><i>optionalIndex, expression
</i><b>)
4512 <div style=
"width:40em; margin-left:2em">
4513 Evaluates message a number of times that corresponds to the receivers
4514 integer value. This is significantly faster than a for() or while() loop.
4518 <b><a name=Number-round
><font color=black
>round
</font></a></b><p>
4519 <div style=
"width:40em; margin-left:2em">
4520 Returns the a number with the receiver's value rounded up to
4521 the nearest integer if it's fraction component is
>=
.5.
4525 <b><a name=Number-roundDown
><font color=black
>roundDown
</font></a></b><p>
4526 <div style=
"width:40em; margin-left:2em">
4527 Returns the a number with the receiver's value rounded down to
4528 the nearest integer if it's fraction component is <=
.5.
4532 <b><a name=Number-seconds
><font color=black
>seconds
</font></a></b><p>
4533 <div style=
"width:40em; margin-left:2em">
4534 Returns Duration of receiver's seconds. See `years' for
4539 <b><a name=Number-shiftLeft
><font color=black
>shiftLeft(
</b><i>aNumber
</i><b>)
4541 <div style=
"width:40em; margin-left:2em">
4542 Shifts the bits of the receiver left by the number of places specified by aNumber.
4546 <b><a name=Number-shiftRight
><font color=black
>shiftRight(
</b><i>aNumber
</i><b>)
4548 <div style=
"width:40em; margin-left:2em">
4549 Shifts the bits of the receiver right by the number of places specified by aNumber.
4553 <b><a name=Number-shortMax
><font color=black
>shortMax
</font></a></b><p>
4554 <div style=
"width:40em; margin-left:2em">
4555 Returns the maximum short value.
4559 <b><a name=Number-shortMin
><font color=black
>shortMin
</font></a></b><p>
4560 <div style=
"width:40em; margin-left:2em">
4561 Returns the minimum short value.
4565 <b><a name=Number-sin
><font color=black
>sin
</font></a></b><p>
4566 <div style=
"width:40em; margin-left:2em">
4567 Returns the sine of the receiver.
4571 <b><a name=Number-sqrt
><font color=black
>sqrt
</font></a></b><p>
4572 <div style=
"width:40em; margin-left:2em">
4573 Returns the square root of the receiver.
4577 <b><a name=Number-squared
><font color=black
>squared
</font></a></b><p>
4578 <div style=
"width:40em; margin-left:2em">
4579 Returns the square of the receiver.
4583 <b><a name=Number-tan
><font color=black
>tan
</font></a></b><p>
4584 <div style=
"width:40em; margin-left:2em">
4585 Returns the tangent of the receiver.
4589 <b><a name=Number-toggle
><font color=black
>toggle
</font></a></b><p>
4590 <div style=
"width:40em; margin-left:2em">
4591 Returns
1 if the receiver is
0. Returns
0 otherwise.
4595 <b><a name=Number-unsignedIntMax
><font color=black
>unsignedIntMax
</font></a></b><p>
4596 <div style=
"width:40em; margin-left:2em">
4597 Returns the maximum unsigned int value.
4601 <b><a name=Number-unsignedLongMax
><font color=black
>unsignedLongMax
</font></a></b><p>
4602 <div style=
"width:40em; margin-left:2em">
4603 Returns the maximum unsigned long value.
4607 <b><a name=Number-unsignedShortMax
><font color=black
>unsignedShortMax
</font></a></b><p>
4608 <div style=
"width:40em; margin-left:2em">
4609 Returns the minimum unsigned int value.
4613 <b><a name=Number-years
><font color=black
>years
</font></a></b><p>
4614 <div style=
"width:40em; margin-left:2em">
4615 Returns Duration of receiver's years.
4620 ==
> 1 years
00 days
00:
00:
0.000000
4622 ==
> 20 years
00 days
00:
00:
0.000000
4625 With this, you can do things such as:
4627 Io
> Date clone now +
5 years
4628 ==
> 2011-
11-
14 18:
44:
33 EST
4629 Io
> Date clone now +
2 years +
3 days +
22 minutes
4630 ==
> 2008-
11-
17 19:
06:
54 EST
4636 <b><a name=Number-|
><font color=black
>|(
</b><i>aNumber
</i><b>)
4638 <div style=
"width:40em; margin-left:2em">
4639 Returns a new number with the bitwise OR of the receiver and aNumber.
4647 <h2><a name=Object
><font color=black
>Object
</font></a></h2>
4648 <ul style=
"width:40em">
4649 <b><font color=#
000>Protos:
</font></b> Object
4650 <h3>Description
</h3>
4651 An Object is a key/value dictionary with string keys and values of any type. The prototype Object contains a clone slot that is a CFuntion that creates new objects. When cloned, an Object will call it's init slot (with no arguments).
4653 <p><b>Important note:
</b></p>
4654 <p>The data structure used for objects is optimized for objects with relatively few slots (less than
100). Objects become very memory inefficient (exponentially so) when they have a large number of slots. Objects should not be used as large hash tables or lists. Use a Hash or List primitive instead.
</p>
4657 <div style=
"width:40em; margin-left:2em">
4658 <b><a href=#Object-..
>..()
</a></b><br>
4659 <b><a href=#Object-?
>?()
</a></b><br>
4660 <b><a href=#Object-ancestors
>ancestors
</a></b><br>
4661 <b><a href=#Object-appendProto
>appendProto()
</a></b><br>
4662 <b><a href=#Object-clone
>clone
</a></b><br>
4663 <b><a href=#Object-cloneWithoutInit
>cloneWithoutInit
</a></b><br>
4664 <b><a href=#Object-compare
>compare()
</a></b><br>
4665 <b><a href=#Object-doRelativeFile
>doRelativeFile()
</a></b><br>
4666 <b><a href=#Object-hasProto
>hasProto()
</a></b><br>
4667 <b><a href=#Object-in
>in()
</a></b><br>
4668 <b><a href=#Object-isKindOf
>isKindOf()
</a></b><br>
4669 <b><a href=#Object-isLaunchScript
>isLaunchScript
</a></b><br>
4670 <b><a href=#Object-launchFile
>launchFile()
</a></b><br>
4671 <b><a href=#Object-list
>list()
</a></b><br>
4672 <b><a href=#Object-localsForward
>localsForward
</a></b><br>
4673 <b><a href=#Object-newSlot
>newSlot()
</a></b><br>
4674 <b><a href=#Object-perform
>perform()
</a></b><br>
4675 <b><a href=#Object-performWithArgList
>performWithArgList()
</a></b><br>
4676 <b><a href=#Object-prependProto
>prependProto()
</a></b><br>
4677 <b><a href=#Object-print
>print
</a></b><br>
4678 <b><a href=#Object-println
>println
</a></b><br>
4679 <b><a href=#Object-proto
>proto
</a></b><br>
4680 <b><a href=#Object-protos
>protos
</a></b><br>
4681 <b><a href=#Object-relativeDoFile
>relativeDoFile()
</a></b><br>
4682 <b><a href=#Object-removeAllProtos
>removeAllProtos
</a></b><br>
4683 <b><a href=#Object-removeProto
>removeProto()
</a></b><br>
4684 <b><a href=#Object-resend
>resend
</a></b><br>
4685 <b><a href=#Object-setProto
>setProto()
</a></b><br>
4686 <b><a href=#Object-setProtos
>setProtos()
</a></b><br>
4687 <b><a href=#Object-setSlot
>setSlot()
</a></b><br>
4688 <b><a href=#Object-shallowCopy
>shallowCopy
</a></b><br>
4689 <b><a href=#Object-super
>super()
</a></b><br>
4690 <b><a href=#Object-switch
>switch()
</a></b><br>
4691 <b><a href=#Object-write
>write()
</a></b><br>
4692 <b><a href=#Object-writeln
>writeln()
</a></b><br>
4697 <b><a name=Object-..
><font color=black
>..(
</b><i>arg
</i><b>)
4699 <div style=
"width:40em; margin-left:2em">
4700 .. is an alias for: method(arg, self asString append(arg asString))
4704 <b><a name=Object-
?><font color=black
>?(
</b><i>aMessage
</i><b>)
4706 <div style=
"width:40em; margin-left:2em">
4708 description: Sends the message aMessage to the receiver if it can respond to it. Example:
4710 MyObject test // performs test
4711 MyObject ?test // performs test if MyObject has a slot named test
4713 The search for the slot only follows the receivers proto chain.
4718 <b><a name=Object-ancestors
><font color=black
>ancestors
</font></a></b><p>
4719 <div style=
"width:40em; margin-left:2em">
4720 Returns a list of all of the receiver's ancestors as found by recursively following the protos links.
4724 <b><a name=Object-appendProto
><font color=black
>appendProto(
</b><i>anObject
</i><b>)
4726 <div style=
"width:40em; margin-left:2em">
4727 Appends anObject to the receiver's proto list. Returns self.
4731 <b><a name=Object-clone
><font color=black
>clone
</font></a></b><p>
4732 <div style=
"width:40em; margin-left:2em">
4733 Returns a clone of the receiver.
4737 <b><a name=Object-cloneWithoutInit
><font color=black
>cloneWithoutInit
</font></a></b><p>
4738 <div style=
"width:40em; margin-left:2em">
4739 Returns a clone of the receiver but does not call init.
4743 <b><a name=Object-compare
><font color=black
>compare(
</b><i>anObject
</i><b>)
4745 <div style=
"width:40em; margin-left:2em">
4746 Returns a number containing the comparison value of the target with anObject.
4750 <b><a name=Object-doRelativeFile
><font color=black
>doRelativeFile(
</b><i>pathString
</i><b>)
4752 <div style=
"width:40em; margin-left:2em">
4753 Evaluates the File in the context of the receiver. Returns the result. pathString is relative to the file calling doRelativeFile. (Duplicate of relativeDoFile)
4757 <b><a name=Object-hasProto
><font color=black
>hasProto(
</b><i>anObject
</i><b>)
4759 <div style=
"width:40em; margin-left:2em">
4760 Returns true if anObject is found in the proto path of the target, false otherwise.
4764 <b><a name=Object-in
><font color=black
>in(
</b><i>aList
</i><b>)
4766 <div style=
"width:40em; margin-left:2em">
4767 Same as: aList contains(self)
4771 <b><a name=Object-isKindOf
><font color=black
>isKindOf(
</b><i>anObject
</i><b>)
4773 <div style=
"width:40em; margin-left:2em">
4774 Returns true if anObject is in the receiver's ancestors.
4778 <b><a name=Object-isLaunchScript
><font color=black
>isLaunchScript
</font></a></b><p>
4779 <div style=
"width:40em; margin-left:2em">
4780 Returns true if the current file was run on the command line. Io's version of Python's __file__ ==
"__main__"
4784 <b><a name=Object-launchFile
><font color=black
>launchFile(
</b><i>pathString
</i><b>)
4786 <div style=
"width:40em; margin-left:2em">
4787 Eval file at pathString as if from the command line in it's folder.
4791 <b><a name=Object-list
><font color=black
>list(
</b><i>...
</i><b>)
4793 <div style=
"width:40em; margin-left:2em">
4794 Returns a List containing the arguments.
4798 <b><a name=Object-localsForward
><font color=black
>localsForward
</font></a></b><p>
4799 <div style=
"width:40em; margin-left:2em">
4800 CFunction used by Locals prototype for forwarding.
4804 <b><a name=Object-newSlot
><font color=black
>newSlot(
</b><i>slotName, aValue
</i><b>)
4806 <div style=
"width:40em; margin-left:2em">
4807 Creates a getter and setter for the slot with the name slotName
4808 and sets it's default the value aValue. Returns self. For example,
4809 newSlot(
"foo",
1) would create slot named foo with the value
1 as well as a setter method setFoo().
4813 <b><a name=Object-perform
><font color=black
>perform(
</b><i>methodName,
<arg1
>,
<arg2
>, ...
</i><b>)
4815 <div style=
"width:40em; margin-left:2em">
4816 Performs the method corresponding to methodName with the arguments supplied.
4820 <b><a name=Object-performWithArgList
><font color=black
>performWithArgList(
</b><i>methodName, argList
</i><b>)
4822 <div style=
"width:40em; margin-left:2em">
4823 Performs the method corresponding to methodName with the arguments in the argList.
4827 <b><a name=Object-prependProto
><font color=black
>prependProto(
</b><i>anObject
</i><b>)
4829 <div style=
"width:40em; margin-left:2em">
4830 Prepends anObject to the receiver's proto list. Returns self.
4834 <b><a name=Object-print
><font color=black
>print
</font></a></b><p>
4835 <div style=
"width:40em; margin-left:2em">
4836 Prints a string representation of the object. Returns Nil.
4840 <b><a name=Object-println
><font color=black
>println
</font></a></b><p>
4841 <div style=
"width:40em; margin-left:2em">
4842 Same as print, but also prints a new line. Returns self.
4846 <b><a name=Object-proto
><font color=black
>proto
</font></a></b><p>
4847 <div style=
"width:40em; margin-left:2em">
4848 Same as; method(self protos first)
4852 <b><a name=Object-protos
><font color=black
>protos
</font></a></b><p>
4853 <div style=
"width:40em; margin-left:2em">
4854 Returns a copy of the receiver's protos list.
4858 <b><a name=Object-relativeDoFile
><font color=black
>relativeDoFile(
</b><i>pathString
</i><b>)
4860 <div style=
"width:40em; margin-left:2em">
4861 Evaluates the File in the context of the receiver. Returns the result. pathString is relative to the file calling doRelativeFile. (Duplicate of doRelativeFile)
4865 <b><a name=Object-removeAllProtos
><font color=black
>removeAllProtos
</font></a></b><p>
4866 <div style=
"width:40em; margin-left:2em">
4867 Removes all of the receiver's protos. Returns self.
4871 <b><a name=Object-removeProto
><font color=black
>removeProto(
</b><i>anObject
</i><b>)
4873 <div style=
"width:40em; margin-left:2em">
4874 Removes anObject from the receiver's proto list if it
4875 is present. Returns self.
4879 <b><a name=Object-resend
><font color=black
>resend
</font></a></b><p>
4880 <div style=
"width:40em; margin-left:2em">
4881 Send the message used to activate the current method to the Object's proto.
4884 Dog := Mammal clone do(
4890 calling Dog init will send an init method to Mammal, but using the Dog's context.
4895 <b><a name=Object-setProto
><font color=black
>setProto(
</b><i>anObject
</i><b>)
4897 <div style=
"width:40em; margin-left:2em">
4898 Sets the first proto of the receiver to anObject, replacing the
4899 current one, if any. Returns self.
4903 <b><a name=Object-setProtos
><font color=black
>setProtos(
</b><i>aList
</i><b>)
4905 <div style=
"width:40em; margin-left:2em">
4906 Replaces the receiver's protos with a copy of aList. Returns self.
4910 <b><a name=Object-setSlot
><font color=black
>setSlot(
</b><i>slotNameString, valueObject
</i><b>)
4912 <div style=
"width:40em; margin-left:2em">
4913 Sets the slot slotNameString in the receiver to
4914 hold valueObject. Returns valueObject.
4918 <b><a name=Object-shallowCopy
><font color=black
>shallowCopy
</font></a></b><p>
4919 <div style=
"width:40em; margin-left:2em">
4920 Returns a shallow copy of the receiver.
4924 <b><a name=Object-super
><font color=black
>super(
</b><i>aMessage
</i><b>)
4926 <div style=
"width:40em; margin-left:2em">
4927 Sends the message aMessage to the receiver's proto with the context of self. Example:
4929 self test(
1,
2) // performs test(
1,
2) on self
4930 super(test(
1,
2)) // performs test(
1,
2) on self proto but with the context of self
4936 <b><a name=Object-switch
><font color=black
>switch(
</b><i><key1
>,
<expression1
>,
<key2
>,
<expression2
>, ...
</i><b>)
4938 <div style=
"width:40em; margin-left:2em">
4940 Execute an expression depending on the value of the caller. (This is an equivalent to C switch/case)
4942 hour := Date hour switch(
4953 <b><a name=Object-write
><font color=black
>write(
</b><i><any number of arguments
></i><b>)
4955 <div style=
"width:40em; margin-left:2em">
4956 Sends a print message to the evaluated result of each argument. Returns Nil.
4960 <b><a name=Object-writeln
><font color=black
>writeln(
</b><i><any number of arguments
></i><b>)
4962 <div style=
"width:40em; margin-left:2em">
4963 Same as write() but also writes a return character at the end. Returns Nil.
4971 <h2><a name=OperatorTable
><font color=black
>OperatorTable
</font></a></h2>
4972 <ul style=
"width:40em">
4973 <b><font color=#
000>Protos:
</font></b> Object
4975 <div style=
"width:40em; margin-left:2em">
4976 <b><a href=#OperatorTable-addAssignOperator
>addAssignOperator
</a></b><br>
4977 <b><a href=#OperatorTable-addOperator
>addOperator
</a></b><br>
4978 <b><a href=#OperatorTable-assignOperators
>assignOperators
</a></b><br>
4979 <b><a href=#OperatorTable-operators
>operators
</a></b><br>
4980 <b><a href=#OperatorTable-precedenceLevelCount
>precedenceLevelCount
</a></b><br>
4981 <b><a href=#OperatorTable-reverseAssignOperators
>reverseAssignOperators
</a></b><br>
4986 <b><a name=OperatorTable-addAssignOperator
><font color=black
>addAssignOperator
</font></a></b><p>
4987 <div style=
"width:40em; margin-left:2em">
4988 <font color=red
>undocumented
</font>
4992 <b><a name=OperatorTable-addOperator
><font color=black
>addOperator
</font></a></b><p>
4993 <div style=
"width:40em; margin-left:2em">
4994 <font color=red
>undocumented
</font>
4998 <b><a name=OperatorTable-assignOperators
><font color=black
>assignOperators
</font></a></b><p>
4999 <div style=
"width:40em; margin-left:2em">
5000 <font color=red
>undocumented
</font>
5004 <b><a name=OperatorTable-operators
><font color=black
>operators
</font></a></b><p>
5005 <div style=
"width:40em; margin-left:2em">
5006 <font color=red
>undocumented
</font>
5010 <b><a name=OperatorTable-precedenceLevelCount
><font color=black
>precedenceLevelCount
</font></a></b><p>
5011 <div style=
"width:40em; margin-left:2em">
5012 <font color=red
>undocumented
</font>
5016 <b><a name=OperatorTable-reverseAssignOperators
><font color=black
>reverseAssignOperators
</font></a></b><p>
5017 <div style=
"width:40em; margin-left:2em">
5018 <font color=red
>undocumented
</font>
5026 <h2><a name=Path
><font color=black
>Path
</font></a></h2>
5027 <ul style=
"width:40em">
5028 <b><font color=#
000>Protos:
</font></b> Object
5030 <div style=
"width:40em; margin-left:2em">
5031 <b><a href=#Path-absolute
>absolute
</a></b><br>
5032 <b><a href=#Path-hasDriveLetters
>hasDriveLetters
</a></b><br>
5033 <b><a href=#Path-isPathAbsolute
>isPathAbsolute
</a></b><br>
5034 <b><a href=#Path-with
>with()
</a></b><br>
5039 <b><a name=Path-absolute
><font color=black
>absolute
</font></a></b><p>
5040 <div style=
"width:40em; margin-left:2em">
5041 Returns an absolute version of the path.
5045 <b><a name=Path-hasDriveLetters
><font color=black
>hasDriveLetters
</font></a></b><p>
5046 <div style=
"width:40em; margin-left:2em">
5047 returns true if the platform requires DOS C: style drive letters.
5051 <b><a name=Path-isPathAbsolute
><font color=black
>isPathAbsolute
</font></a></b><p>
5052 <div style=
"width:40em; margin-left:2em">
5053 Returns true if path is absolute, false if it is relative.
5057 <b><a name=Path-with
><font color=black
>with(
</b><i>aSequence
</i><b>)
5059 <div style=
"width:40em; margin-left:2em">
5060 Returns a new Path object for the given Sequence.
5068 <h2><a name=Return
><font color=black
>Return
</font></a></h2>
5069 <ul style=
"width:40em">
5070 <b><font color=#
000>Protos:
</font></b> Object, Normal
5072 <div style=
"width:40em; margin-left:2em">
5073 <b><a href=#Return-isReturn
>isReturn
</a></b><br>
5074 <b><a href=#Return-stopLooping
>stopLooping
</a></b><br>
5079 <b><a name=Return-isReturn
><font color=black
>isReturn
</font></a></b><p>
5080 <div style=
"width:40em; margin-left:2em">
5081 <font color=red
>undocumented
</font>
5085 <b><a name=Return-stopLooping
><font color=black
>stopLooping
</font></a></b><p>
5086 <div style=
"width:40em; margin-left:2em">
5087 <font color=red
>undocumented
</font>
5095 <h2><a name=Sandbox
><font color=black
>Sandbox
</font></a></h2>
5096 <ul style=
"width:40em">
5097 <b><font color=#
000>Protos:
</font></b> Object
5098 <h3>Description
</h3>
5099 Sandbox can be used to run separate instances of Io within the same process.
5102 <div style=
"width:40em; margin-left:2em">
5103 <b><a href=#Sandbox-doSandboxString
>doSandboxString()
</a></b><br>
5104 <b><a href=#Sandbox-messageCount
>messageCount
</a></b><br>
5105 <b><a href=#Sandbox-printCallback
>printCallback()
</a></b><br>
5106 <b><a href=#Sandbox-setMessageCount
>setMessageCount()
</a></b><br>
5107 <b><a href=#Sandbox-setTimeLimit
>setTimeLimit()
</a></b><br>
5108 <b><a href=#Sandbox-timeLimit
>timeLimit
</a></b><br>
5113 <b><a name=Sandbox-doSandboxString
><font color=black
>doSandboxString(
</b><i>aString
</i><b>)
5115 <div style=
"width:40em; margin-left:2em">
5116 Evaluate aString inside the Sandbox.
5120 <b><a name=Sandbox-messageCount
><font color=black
>messageCount
</font></a></b><p>
5121 <div style=
"width:40em; margin-left:2em">
5122 Returns a number containing the messageCount limit of the Sandbox.
5126 <b><a name=Sandbox-printCallback
><font color=black
>printCallback(
</b><i>string
</i><b>)
5128 <div style=
"width:40em; margin-left:2em">
5129 default implementation is; method(string, string print)
5133 <b><a name=Sandbox-setMessageCount
><font color=black
>setMessageCount(
</b><i>anInteger
</i><b>)
5135 <div style=
"width:40em; margin-left:2em">
5136 Sets the messageCount limit of the receiver.
5140 <b><a name=Sandbox-setTimeLimit
><font color=black
>setTimeLimit(
</b><i>aDouble
</i><b>)
5142 <div style=
"width:40em; margin-left:2em">
5143 Sets the time limit of the Sandbox.
5147 <b><a name=Sandbox-timeLimit
><font color=black
>timeLimit
</font></a></b><p>
5148 <div style=
"width:40em; margin-left:2em">
5149 Returns a number containing the time limit of calls made to the Sandbox.
5157 <h2><a name=Scheduler
><font color=black
>Scheduler
</font></a></h2>
5158 <ul style=
"width:40em">
5159 <b><font color=#
000>Protos:
</font></b> Object
5161 <div style=
"width:40em; margin-left:2em">
5162 <b><a href=#Scheduler-currentCoroutine
>currentCoroutine
</a></b><br>
5163 <b><a href=#Scheduler-setTimers
>setTimers()
</a></b><br>
5164 <b><a href=#Scheduler-setYieldingCoros
>setYieldingCoros()
</a></b><br>
5165 <b><a href=#Scheduler-timers
>timers
</a></b><br>
5166 <b><a href=#Scheduler-yieldingCoros
>yieldingCoros
</a></b><br>
5171 <b><a name=Scheduler-currentCoroutine
><font color=black
>currentCoroutine
</font></a></b><p>
5172 <div style=
"width:40em; margin-left:2em">
5173 Returns the currently running coroutine.
5177 <b><a name=Scheduler-setTimers
><font color=black
>setTimers(
</b><i>aListOfTimers
</i><b>)
5179 <div style=
"width:40em; margin-left:2em">
5180 Sets the list of active timers.
5184 <b><a name=Scheduler-setYieldingCoros
><font color=black
>setYieldingCoros(
</b><i>aListOfCoros
</i><b>)
5186 <div style=
"width:40em; margin-left:2em">
5187 Sets the list of yielding Coroutine objects.
5191 <b><a name=Scheduler-timers
><font color=black
>timers
</font></a></b><p>
5192 <div style=
"width:40em; margin-left:2em">
5193 The List of active timers.
5197 <b><a name=Scheduler-yieldingCoros
><font color=black
>yieldingCoros
</font></a></b><p>
5198 <div style=
"width:40em; margin-left:2em">
5199 The List of yielding Coroutine objects.
5207 <h2><a name=SerializationStream
><font color=black
>SerializationStream
</font></a></h2>
5208 <ul style=
"width:40em">
5209 <b><font color=#
000>Protos:
</font></b> Object
5211 <div style=
"width:40em; margin-left:2em">
5220 <h2><a name=System
><font color=black
>System
</font></a></h2>
5221 <ul style=
"width:40em">
5222 <b><font color=#
000>Protos:
</font></b> Object
5223 <h3>Description
</h3>
5224 Contains methods related to the IoVM.
5227 <div style=
"width:40em; margin-left:2em">
5228 <b><a href=#System-activeCpus
>activeCpus
</a></b><br>
5229 <b><a href=#System-args
>args
</a></b><br>
5230 <b><a href=#System-distribution
>distribution
</a></b><br>
5231 <b><a href=#System-errorNumber
>errorNumber
</a></b><br>
5232 <b><a href=#System-exit
>exit()
</a></b><br>
5233 <b><a href=#System-getEnvironmentVariable
>getEnvironmentVariable()
</a></b><br>
5234 <b><a href=#System-getOptions
>getOptions()
</a></b><br>
5235 <b><a href=#System-installPrefix
>installPrefix
</a></b><br>
5236 <b><a href=#System-ioPath
>ioPath
</a></b><br>
5237 <b><a href=#System-launchScript
>launchScript
</a></b><br>
5238 <b><a href=#System-maxRecycledObjects
>maxRecycledObjects
</a></b><br>
5239 <b><a href=#System-platform
>platform
</a></b><br>
5240 <b><a href=#System-platformVersion
>platformVersion
</a></b><br>
5241 <b><a href=#System-recycledObjectCount
>recycledObjectCount
</a></b><br>
5242 <b><a href=#System-setEnvironmentVariable
>setEnvironmentVariable()
</a></b><br>
5243 <b><a href=#System-setLobby
>setLobby
</a></b><br>
5244 <b><a href=#System-setMaxRecycledObjects
>setMaxRecycledObjects()
</a></b><br>
5245 <b><a href=#System-sleep
>sleep()
</a></b><br>
5246 <b><a href=#System-symbols
>symbols
</a></b><br>
5247 <b><a href=#System-system
>system()
</a></b><br>
5248 <b><a href=#System-version
>version
</a></b><br>
5253 <b><a name=System-activeCpus
><font color=black
>activeCpus
</font></a></b><p>
5254 <div style=
"width:40em; margin-left:2em">
5255 Returns the number of active CPUs.
5259 <b><a name=System-args
><font color=black
>args
</font></a></b><p>
5260 <div style=
"width:40em; margin-left:2em">
5261 Returns the list of command line argument strings the program was run with.
5265 <b><a name=System-distribution
><font color=black
>distribution
</font></a></b><p>
5266 <div style=
"width:40em; margin-left:2em">
5267 Returns the Io distribution name as a string.
5271 <b><a name=System-errorNumber
><font color=black
>errorNumber
</font></a></b><p>
5272 <div style=
"width:40em; margin-left:2em">
5273 Returns the C errno string.
5277 <b><a name=System-exit
><font color=black
>exit(
</b><i>optionalReturnCodeNumber
</i><b>)
5279 <div style=
"width:40em; margin-left:2em">
5280 Shutdown the IoState (io_free all objects) and return
5281 control to the calling program (if any).
5285 <b><a name=System-getEnvironmentVariable
><font color=black
>getEnvironmentVariable(
</b><i>nameString
</i><b>)
5287 <div style=
"width:40em; margin-left:2em">
5288 Returns a string with the value of the environment variable whose name is specified by nameString.
5292 <b><a name=System-getOptions
><font color=black
>getOptions(
</b><i>args
</i><b>)
5294 <div style=
"width:40em; margin-left:2em">
5296 This primitive is used to get command line options similar to Cs getopt().
5297 It returns a map in containing the left side of the argument, with the
5298 value of the right side. (The key will not contain
5299 the beginning dashes (--).
5303 options := System getOptions(args)
5304 options foreach(k, v,
5305 if(v type == List type,
5306 v foreach(i, j, writeln(
"Got unnamed argument with value: " .. j))
5309 writeln(
"Got option: " .. k ..
" with value: " .. v)
5316 <b><a name=System-installPrefix
><font color=black
>installPrefix
</font></a></b><p>
5317 <div style=
"width:40em; margin-left:2em">
5318 Returns the root path where io was install. The default is /usr/local.
5322 <b><a name=System-ioPath
><font color=black
>ioPath
</font></a></b><p>
5323 <div style=
"width:40em; margin-left:2em">
5324 Returns the path of io installation. The default is $INSTALL_PREFIX/lib/io.
5328 <b><a name=System-launchScript
><font color=black
>launchScript
</font></a></b><p>
5329 <div style=
"width:40em; margin-left:2em">
5330 Returns the path of the io file run on the command line. Returns nil if no file was run.
5334 <b><a name=System-maxRecycledObjects
><font color=black
>maxRecycledObjects
</font></a></b><p>
5335 <div style=
"width:40em; margin-left:2em">
5336 Returns the max number of recycled objects used.
5340 <b><a name=System-platform
><font color=black
>platform
</font></a></b><p>
5341 <div style=
"width:40em; margin-left:2em">
5342 Returns a string description of the platform.
5346 <b><a name=System-platformVersion
><font color=black
>platformVersion
</font></a></b><p>
5347 <div style=
"width:40em; margin-left:2em">
5348 Returns the version id of the OS.
5352 <b><a name=System-recycledObjectCount
><font color=black
>recycledObjectCount
</font></a></b><p>
5353 <div style=
"width:40em; margin-left:2em">
5354 Returns the current number of objects being held for recycling.
5358 <b><a name=System-setEnvironmentVariable
><font color=black
>setEnvironmentVariable(
</b><i>keyString, valueString
</i><b>)
5360 <div style=
"width:40em; margin-left:2em">
5361 Sets the environment variable keyString to the value valueString.
5365 <b><a name=System-setLobby
><font color=black
>setLobby
</font></a></b><p>
5366 <div style=
"width:40em; margin-left:2em">
5367 Sets the root object of the garbage collector.
5371 <b><a name=System-setMaxRecycledObjects
><font color=black
>setMaxRecycledObjects(
</b><i>aNumber
</i><b>)
5373 <div style=
"width:40em; margin-left:2em">
5374 Sets the max number of recycled objects used.
5378 <b><a name=System-sleep
><font color=black
>sleep(
</b><i>secondsNumber
</i><b>)
5380 <div style=
"width:40em; margin-left:2em">
5381 Performs a *blocking* sleep call for specified number of seconds.
5385 <b><a name=System-symbols
><font color=black
>symbols
</font></a></b><p>
5386 <div style=
"width:40em; margin-left:2em">
5387 Returns a List containing all Symbols currently in the system.
5391 <b><a name=System-system
><font color=black
>system(
</b><i>aString
</i><b>)
5393 <div style=
"width:40em; margin-left:2em">
5394 Makes a system call and returns a Number for the return value.
5398 <b><a name=System-version
><font color=black
>version
</font></a></b><p>
5399 <div style=
"width:40em; margin-left:2em">
5400 Returns a version number for Io.
5408 <h2><a name=TestSuite
><font color=black
>TestSuite
</font></a></h2>
5409 <ul style=
"width:40em">
5410 <b><font color=#
000>Protos:
</font></b> Object
5412 <div style=
"width:40em; margin-left:2em">
5413 <b><a href=#TestSuite-name
>name
</a></b><br>
5414 <b><a href=#TestSuite-path
>path
</a></b><br>
5415 <b><a href=#TestSuite-run
>run
</a></b><br>
5416 <b><a href=#TestSuite-setPath
>setPath
</a></b><br>
5417 <b><a href=#TestSuite-verbose
>verbose
</a></b><br>
5422 <b><a name=TestSuite-name
><font color=black
>name
</font></a></b><p>
5423 <div style=
"width:40em; margin-left:2em">
5424 <font color=red
>undocumented
</font>
5428 <b><a name=TestSuite-path
><font color=black
>path
</font></a></b><p>
5429 <div style=
"width:40em; margin-left:2em">
5430 <font color=red
>undocumented
</font>
5434 <b><a name=TestSuite-run
><font color=black
>run
</font></a></b><p>
5435 <div style=
"width:40em; margin-left:2em">
5436 <font color=red
>undocumented
</font>
5440 <b><a name=TestSuite-setPath
><font color=black
>setPath
</font></a></b><p>
5441 <div style=
"width:40em; margin-left:2em">
5442 <font color=red
>undocumented
</font>
5446 <b><a name=TestSuite-verbose
><font color=black
>verbose
</font></a></b><p>
5447 <div style=
"width:40em; margin-left:2em">
5448 <font color=red
>undocumented
</font>
5456 <h2><a name=true
><font color=black
>true
</font></a></h2>
5457 <ul style=
"width:40em">
5458 <b><font color=#
000>Protos:
</font></b> Object
5460 <div style=
"width:40em; margin-left:2em">
5461 <b><a href=#true-else
>else
</a></b><br>
5462 <b><a href=#true-elseif
>elseif
</a></b><br>
5463 <b><a href=#true-ifFalse
>ifFalse
</a></b><br>
5464 <b><a href=#true-ifTrue
>ifTrue
</a></b><br>
5465 <b><a href=#true-not
>not
</a></b><br>
5466 <b><a href=#true-then
>then
</a></b><br>
5471 <b><a name=true-else
><font color=black
>else
</font></a></b><p>
5472 <div style=
"width:40em; margin-left:2em">
5473 <font color=red
>undocumented
</font>
5477 <b><a name=true-elseif
><font color=black
>elseif
</font></a></b><p>
5478 <div style=
"width:40em; margin-left:2em">
5479 <font color=red
>undocumented
</font>
5483 <b><a name=true-ifFalse
><font color=black
>ifFalse
</font></a></b><p>
5484 <div style=
"width:40em; margin-left:2em">
5485 <font color=red
>undocumented
</font>
5489 <b><a name=true-ifTrue
><font color=black
>ifTrue
</font></a></b><p>
5490 <div style=
"width:40em; margin-left:2em">
5491 <font color=red
>undocumented
</font>
5495 <b><a name=true-not
><font color=black
>not
</font></a></b><p>
5496 <div style=
"width:40em; margin-left:2em">
5497 <font color=red
>undocumented
</font>
5501 <b><a name=true-then
><font color=black
>then
</font></a></b><p>
5502 <div style=
"width:40em; margin-left:2em">
5503 <font color=red
>undocumented
</font>
5511 <h2><a name=UnitTest
><font color=black
>UnitTest
</font></a></h2>
5512 <ul style=
"width:40em">
5513 <b><font color=#
000>Protos:
</font></b> Object
5515 <div style=
"width:40em; margin-left:2em">
5516 <b><a href=#UnitTest-assertEquals
>assertEquals
</a></b><br>
5517 <b><a href=#UnitTest-assertEqualsWithinDelta
>assertEqualsWithinDelta
</a></b><br>
5518 <b><a href=#UnitTest-assertFalse
>assertFalse
</a></b><br>
5519 <b><a href=#UnitTest-assertNil
>assertNil
</a></b><br>
5520 <b><a href=#UnitTest-assertNotEquals
>assertNotEquals
</a></b><br>
5521 <b><a href=#UnitTest-assertNotNil
>assertNotNil
</a></b><br>
5522 <b><a href=#UnitTest-assertNotSame
>assertNotSame
</a></b><br>
5523 <b><a href=#UnitTest-assertRaisesException
>assertRaisesException
</a></b><br>
5524 <b><a href=#UnitTest-assertSame
>assertSame
</a></b><br>
5525 <b><a href=#UnitTest-assertTrue
>assertTrue
</a></b><br>
5526 <b><a href=#UnitTest-fail
>fail
</a></b><br>
5527 <b><a href=#UnitTest-knownBug
>knownBug
</a></b><br>
5528 <b><a href=#UnitTest-run
>run
</a></b><br>
5529 <b><a href=#UnitTest-setUp
>setUp
</a></b><br>
5530 <b><a href=#UnitTest-tearDown
>tearDown
</a></b><br>
5531 <b><a href=#UnitTest-testCount
>testCount
</a></b><br>
5532 <b><a href=#UnitTest-testSlotNames
>testSlotNames
</a></b><br>
5533 <b><a href=#UnitTest-verbose
>verbose
</a></b><br>
5538 <b><a name=UnitTest-assertEquals
><font color=black
>assertEquals
</font></a></b><p>
5539 <div style=
"width:40em; margin-left:2em">
5540 <font color=red
>undocumented
</font>
5544 <b><a name=UnitTest-assertEqualsWithinDelta
><font color=black
>assertEqualsWithinDelta
</font></a></b><p>
5545 <div style=
"width:40em; margin-left:2em">
5546 <font color=red
>undocumented
</font>
5550 <b><a name=UnitTest-assertFalse
><font color=black
>assertFalse
</font></a></b><p>
5551 <div style=
"width:40em; margin-left:2em">
5552 <font color=red
>undocumented
</font>
5556 <b><a name=UnitTest-assertNil
><font color=black
>assertNil
</font></a></b><p>
5557 <div style=
"width:40em; margin-left:2em">
5558 <font color=red
>undocumented
</font>
5562 <b><a name=UnitTest-assertNotEquals
><font color=black
>assertNotEquals
</font></a></b><p>
5563 <div style=
"width:40em; margin-left:2em">
5564 <font color=red
>undocumented
</font>
5568 <b><a name=UnitTest-assertNotNil
><font color=black
>assertNotNil
</font></a></b><p>
5569 <div style=
"width:40em; margin-left:2em">
5570 <font color=red
>undocumented
</font>
5574 <b><a name=UnitTest-assertNotSame
><font color=black
>assertNotSame
</font></a></b><p>
5575 <div style=
"width:40em; margin-left:2em">
5576 <font color=red
>undocumented
</font>
5580 <b><a name=UnitTest-assertRaisesException
><font color=black
>assertRaisesException
</font></a></b><p>
5581 <div style=
"width:40em; margin-left:2em">
5582 <font color=red
>undocumented
</font>
5586 <b><a name=UnitTest-assertSame
><font color=black
>assertSame
</font></a></b><p>
5587 <div style=
"width:40em; margin-left:2em">
5588 <font color=red
>undocumented
</font>
5592 <b><a name=UnitTest-assertTrue
><font color=black
>assertTrue
</font></a></b><p>
5593 <div style=
"width:40em; margin-left:2em">
5594 <font color=red
>undocumented
</font>
5598 <b><a name=UnitTest-fail
><font color=black
>fail
</font></a></b><p>
5599 <div style=
"width:40em; margin-left:2em">
5600 <font color=red
>undocumented
</font>
5604 <b><a name=UnitTest-knownBug
><font color=black
>knownBug
</font></a></b><p>
5605 <div style=
"width:40em; margin-left:2em">
5606 <font color=red
>undocumented
</font>
5610 <b><a name=UnitTest-run
><font color=black
>run
</font></a></b><p>
5611 <div style=
"width:40em; margin-left:2em">
5612 <font color=red
>undocumented
</font>
5616 <b><a name=UnitTest-setUp
><font color=black
>setUp
</font></a></b><p>
5617 <div style=
"width:40em; margin-left:2em">
5618 <font color=red
>undocumented
</font>
5622 <b><a name=UnitTest-tearDown
><font color=black
>tearDown
</font></a></b><p>
5623 <div style=
"width:40em; margin-left:2em">
5624 <font color=red
>undocumented
</font>
5628 <b><a name=UnitTest-testCount
><font color=black
>testCount
</font></a></b><p>
5629 <div style=
"width:40em; margin-left:2em">
5630 <font color=red
>undocumented
</font>
5634 <b><a name=UnitTest-testSlotNames
><font color=black
>testSlotNames
</font></a></b><p>
5635 <div style=
"width:40em; margin-left:2em">
5636 <font color=red
>undocumented
</font>
5640 <b><a name=UnitTest-verbose
><font color=black
>verbose
</font></a></b><p>
5641 <div style=
"width:40em; margin-left:2em">
5642 <font color=red
>undocumented
</font>
5650 <h2><a name=Vector
><font color=black
>Vector
</font></a></h2>
5651 <ul style=
"width:40em">
5652 <b><font color=#
000>Protos:
</font></b> Vector
5654 <div style=
"width:40em; margin-left:2em">
5663 <h2><a name=WeakLink
><font color=black
>WeakLink
</font></a></h2>
5664 <ul style=
"width:40em">
5665 <b><font color=#
000>Protos:
</font></b> Object
5666 <h3>Description
</h3>
5667 A WeakLink is a primitive that can hold a reference to an object without preventing the garbage collector from collecting it. The link reference is set with the setLink() method. After the garbage collector collects an object, it informs any (uncollected) WeakLink objects whose link value pointed to that object by calling their
"collectedLink" method.
5671 <div style=
"width:40em; margin-left:2em">
5672 <b><a href=#WeakLink-link
>link
</a></b><br>
5673 <b><a href=#WeakLink-setLink
>setLink()
</a></b><br>
5678 <b><a name=WeakLink-link
><font color=black
>link
</font></a></b><p>
5679 <div style=
"width:40em; margin-left:2em">
5680 Returns the link pointer or Nil if none is set.
5684 <b><a name=WeakLink-setLink
><font color=black
>setLink(
</b><i>aValue
</i><b>)
5686 <div style=
"width:40em; margin-left:2em">
5687 Sets the link pointer. Returns self.