Io リファレンス マニュアル

Version 2008 01 20


Core        
Addon        
Block        
CFunction        
Call        
Collector        
Compiler        
Coroutine        
Date        
Debugger        
Directory        
Duration        
DynLib        
File        
Importer        
List        
Map        
Message        
MutableSequence        
Number        
Object        
Path        
Sandbox        
Scheduler        
Sequence        
State        
System        
Tag        
Token        
UnitTest        
WeakLink        
nil        
true        
AVCodec        
AVCodec        
Video        
AppleExtras        
AsyncRequest        
Blowfish        
Box        
CFFI        
CGI        
Curses        
DBI        
DBI        
DBIConn        
DBIRecord        
DBIResult        
DistributedObjects        
DOConnection        
DOProxy        
DOServer        
Flux        
Fnmatch        
Font        
GLFW        
Image        
LZO        
LZODecoder        
LZOEncoder        
LibSndFile        
Loki        
MD5        
ODE        
ODEBody        
ODEBox        
ODEContact        
ODEJoint        
ODEJointGroup        
ODEMass        
ODEPlane        
ODESimpleSpace        
ODEWorld        
Obsidian        
OpenGL        
Box        
GLApp        
GLScissor        
GLU        
GLUQuadric        
GLUT        
OpenGL        
Vector        
PortAudio        
AudioDevice        
AudioMixer        
Postgres        
Python        
QDBM        
Random        
Range        
Rational        
Regex        
Regex        
RegexMatch        
RegexMatches        
Sequence        
SGML        
SGMLElement        
SGMLParser        
SHA1        
SQLite        
SQLite3        
SampleRateConverter        
SkipDB        
SkipDB        
SkipDBCursor        
SkipDBM        
Socket        
DNS        
DNSQuery        
DNSResolver        
DNSServer        
Event        
EventManager        
Host        
IPAddress        
Object        
ReadEvent        
Sequence        
Server        
SignalEvent        
Socket        
TimerEvent        
URL        
WriteEvent        
SoundTouch        
Syslog        
SystemCall        
TagLib        
Thread        
TokyoCabinet        
TokyoCabinet        
TokyoCabinetCursor        
TokyoCabinetPrefixCursor        
UUID        
User        
Volcano        
Zlib        
ZlibDecoder        
ZlibEncoder        



AVCodec

モジュール: AVCodec
カテゴリ: Media

説明

An object for encoding and decoding audio and video streams.

When an input stream containing audio data is opened, the following slots will be set:

audioChannels
audioSampleRate
audioBitRate
audioDuration
audioFrameCount
When an input stream containing video data is opened, the following slots will be set:
framePeriod
videoDuration
videoFrameCount

スロット インデックス

スロット

audioInputBuffer

Returns the input buffer.
audioOutputBuffer

Returns the output buffer.
close

Closes the input file if it's open. Returns self.
codecName

Returns name of audio or video codec.
decode

Decodes the next chunk of input data. Output (if any) is placed in the outputBuffers. Returns self.
decodeCodecNames

Returns a list of strings with the names of the decode codecs.
didProcess

Called after the receiver processes some more of the input buffer.
encodeCodecNames

Returns a list of strings with the names of the encode codecs.
inputCoro

Returns coroutine currently writing to the receiver.
internalCoro

Returns coroutine used for the AVCodec to process data...
isAtEnd

Returns true if the stream is at it's end, false otherwise.
open

Opens the input file. Return self on success or raises an exception on error.
path

Returns path to file the receiver is reading or writing to.
setCodecName(aSeq)

Sets the codec name. Returns self. See: encodeCodecNames and decodeCodecNames
setInputCoro(aCoro)

Private method for setting inputCoro. Returns self.
setInternalCoro(aCoro)

Private method for setting internalCoro. Returns self.
setPath(aSeq)

Sets the path to file the receiver is reading or writing to. Returns self.
setStreamDestination(anObject)

Sets the streamDestination to anObject. The didProcess method will call:
if(streamDestination, streamDestination write(outputBuffer))
outputBuffer empty
streamDestination

Returns the streamDestination.
videoCodecName

Returns the name of the video codec.
willProcess

Called before the receiver will process more of the input buffer. If inputBuffer is empty, it pauses the receiver's coro.
write(aSequence)

Appends aSequence to the input buffer and resumes the receiver's coroutine in order to process it. The calling coroutine (inputCoroutine) will be scheduled to resume when didProcess is called.

Addon

モジュール: Core

スロット インデックス

スロット

addonFor(aName)

Returns the Addon with the given name if it can be found or nil otherwise.
addonPath

Implemented as Path with(rootPath, name).
addonProtos

Returns names of protos defined in the addon from the addon's protos file.
addons

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.
appendSearchPath(aSequence)

Appends the argument to the list of search paths.
dependencies

Returns the list of dependencies from the addon's depends file.
dllName

Return the name of the dll for the addon.
dllPath

Returns the path to the dll for the addon. Note: not all addons have dlls - some just contain io files.
dllSuffix

Returns the platform specific dll suffix.
exists

Returns true if the addonPath exists, false otherwise.
hasAddonNamed(aName)

Returns true if the named addon can be found, false otherwise.
ioFiles

Return list of io File objects for the io files in the io folder of the addon.
load

Loads the addon.
loadAddonNamed(aName)

Loads the Addon with the given name if it can be found or nil otherwise.
loadDependencies

Loads the addon's dependencies. Called from the load method.
name

Returns the name of the addon.
platform

Implemented as method(System platform asLowercase).
rootPath

Returns the rootPath of the addon's folder.
searchPaths

Returns the list of paths to search for addons.
setName(aSequence)

Sets the name of the addon. Returns self.
setRootPath(aSequence)

Sets rootPath of the addon's folder. Returns self.
sourcePath

Returns the path of the source folder for the addon.

AppleSensors

モジュール: AppleExtras
カテゴリ: Other

説明

A singleton which on Apple computers can: 使用例;
	
sensors = AppleSensors clone
value := sensors getRightLightSensor

スロット インデックス

スロット

getDisplayBrightness

Returns a number for the display brightness.
getKeyboardBrightness

Returns a number for the keyboard brightness.
getLeftLightSensor

Returns a number for the left ambient light sensor.
getRightLightSensor

Returns a number for the right ambient light sensor.
setDisplayBrightness(aNumber)

Sets the display brightness. Returns self.
setKeyboardBrightness(aNumber)

Sets the keyboard brightness. Returns self.
smsVector(aVector)

Sets aVector to the current x, y and z accelerometer values. Returns true on success and false on failure.

AsyncRequest

モジュール: AsyncRequest
カテゴリ: ファイルシステム

説明

Used for doing asynchronous file i/o. When this addon is loaded, it will override the File proto's readToBufferLength, readBufferOfLength and write methods to automatically use AsyncRequests.

Note: This addon is only needed for async file request - all socket ops are already asynchronous in Io.

スロット インデックス

スロット

cancel

Cancels the request. Returns nil on error or self otherwise.
copyBufferto(aSeq)

Copies the request buffer's data to aSeq. Returns nil on error or self otherwise.
descriptor

Returns the descriptor for the request.
error

Returns sequence containing the last error or nil otherwise.
isDone

Returns true if the request is done, false otherwise.
numberOfBytes

Returns the number of bytes associated with the request.
position

Returns a Number for the position of the descriptor.
read(aSeq, numberOfBytes)

Submits an async read request. Returns nil on error, self otherwise.
setDescriptor(aDescriptorNumber)

Sets the descriptor for the receiver. Returns self.
sync

Waits for the request to complete. Returns nil on error or self otherwise.
write(fileOffset, aSeq, bufferOffset, numberOfBytesToWrite)

Submits an async write request. Returns nil on error, self otherwise.

AudioDevice

モジュール: PortAudio
カテゴリ: Media

説明

The AudioDevice object can used to write audio data as if directly to the audio buffer.

スロット インデックス

スロット

asyncRead

Returns the audio read buffer.
asyncWrite(aBuffer)

Writes aBuffer to the audio output buffer and returns immediately.
close

Close the audio stream.
error

Returns an error string if an error has occured, Nil otherwise.
isActive

Returns self if the receiver is active, Nil otherwise.
needsData

Returns true if the receiver can read more data.
open

Open an audio output stream.
openForReadingAndWriting

Open audio output and input streams.
streamTime

Returns the audio stream time as a number.
write(aSeq) Writes aSeq to the inputBuffer and yields until the

receiver is ready for more input data. Returns self.
writeBufferIsEmpty

Returns the true if the audio buffer is empty, false otherwise.

AudioMixer

モジュール: PortAudio
カテゴリ: Media

説明

A minimal audio mixer.

スロット インデックス

スロット

appendSource

未ドキュメント
isRunning

未ドキュメント
process(sampleCount)

Internal method used for processing a chunk of the input sources. Returns self.
processedSamples

未ドキュメント
removeSource

未ドキュメント
setIsRunning

未ドキュメント
setProcessedSamples

未ドキュメント
setStreamDestination

未ドキュメント
start

未ドキュメント
start Start the mixer loop processing 1/64th of a second chunks

by calling process(22050) in a loop. Will not return until stop is called. Returns self.
stop

Stops the mixer if it is running.
streamDestination

未ドキュメント

Block

モジュール: Core
カテゴリ: Core

説明

Blocks are anonymous functions (messages with their own locals object). They are typically used to represent object methods.

スロット インデックス

スロット

Formatter

未ドキュメント
argumentNames

Returns a List of strings containing the argument names of the receiver.
asSimpleString

Returns a short description of the receiver.
asString

Returns a full description of the receiver with decompiled code.
call(arg0, arg1, ...)

Activates the receiver with the provided arguments.
code

Returns a string containing the decompiled code of the receiver.
justSerialized(stream)

Write's the receivers code into the stream.
message

Returns the root message of the receiver.
passStops

Returns whether or not the receiver passes return/continue/break to caller.
performOn(anObject, optionalLocals, optionalMessage, optionalSlotContext)

Activates the receiver in the target context of anObject. Returns the result.
print

prints an Io source code representation of the block/method
println

未ドキュメント
scope

Returns the scope used when the block is activated or Nil if the target of the message is the scope.
setArgumentNames(aListOfStrings)

Sets the receiver's argument names to those specified in aListOfStrings. Returns self.
setCode(aString)

Set's the reciever's message to a compiled version of aString. Returns self
setMessage(aMessage)

Sets the root message of the receiver to aMessage.
setPassStops(aBool)

Sets whether the receiver passes return/continue/break to caller.
setScope(anObjectOrNil)

If argument is an object, when the block is activated, it will set the proto and self slots of it's locals to the specified object. If Nil, it will set them to the target of the message.

Blowfish

モジュール: Blowfish
カテゴリ: Encryption

説明

The Blowfish object can be used to do encryption and decryption using the blowfish algorithm. 使用例;
	
bf = Blowfish clone
bf setKey("secret")
bf beginProcessing
bf inputBuffer appendSeq("this is a message")
bf process
bf endProcess
bf outputBuffer // this contains the encrypted data

スロット インデックス

スロット

beginProcessing

Sets the key from the key slot and initializes the cipher.
decrypt

未ドキュメント
encrypt

未ドキュメント
endProcessing

Finish processing remaining bytes of inputBuffer.
inputBuffer

未ドキュメント
key

未ドキュメント
outputBuffer

未ドキュメント
process

Process the inputBuffer and appends the result to the outputBuffer. The processed inputBuffer is empties except for the spare bytes at the end which don't fit into a cipher block.
setInputBuffer

未ドキュメント
setIsEncrypting(aBool)

If aBool is true, encrypting mode is on, otherwise, decrypting mode is on.
setKey

未ドキュメント
setOutputBuffer

未ドキュメント

Box

モジュール: OpenGL
カテゴリ: Math

説明

A primitive for fast operations on rectangles.

スロット インデックス

スロット

Union(aBox)

Returns a new box containing the 2d union of the receiver and aBox.
asString

未ドキュメント
containsPoint(aPoint)

Returns true if aPoint is within the receiver's bounds, false otherwise.
copy(aBox)

Copies the values of aBox to the receiver.
depth

Same as; size z
height

Same as; size y
intersectsBox(aBox)

Returns true if aBox is within the receiver's bounds, false otherwise.
origin

Returns the point object for the origin of the box.
print

Prints a string representation of the receiver to the standard output.
resizeBy

未ドキュメント
serialized

未ドキュメント
set(origin, size)

Copies the values in origin and size to set the box's origin and size.
setOrigin(aPoint)

Copies the values in aPoint to the box's origin point.
setSize(aPoint)

Copies the values in aPoint to the box's size point.
size

Returns the point object for the size of the box.
width

Same as; size x

CFFI

モジュール: CFFI
カテゴリ: binding

スロット インデックス

スロット


CFunction

モジュール: Core
カテゴリ: Core

説明

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.

スロット インデックス

スロット

==(anObject)

Returns self if the argument is a CFunction with the same internal C function pointer.
asSimpleString

Returns the CFunction name.
asString

Same as asSimpleString.
id

Returns a number containing a unique id for the receiver's internal C function.
name

Returns the CFunction name in the form CFunction_Pointer.")
performOn(target, blockLocals, optionalMessage, optionalContext)

Activates the CFunctions with the supplied settings.
type

Returns "Cfunction".
typeName

Returns the owning type of the CFunction or nil if the CFunction can be called on any object.
uniqueName

Returns the name given to the CFunction.

CGI

モジュール: CGI
カテゴリ: ネットワーク

説明

CGI supports accessing CGI parameters passed in environment variable or standard input by a web servers like Apache.Example use:
#!./ioServer

cgi = CGI clone

redirect = cgi getParameters at("redirurl")
if (redirect and redirect != "",
	redirect clipAfterStartOfSeq("\r")
	redirect clipAfterStartOfSeq("\n")
	cgi redirect(redirect)
	System exit(0)
 )

cgi header("Content-type", "text/html")

cgi write("<html><head><title>test</title><body>")
cgi write("GET Parameters:")
cgi getParameters foreach(k, v,
	cgi write(k .. " = " .. v .. ","))
)

cgi write("POST Parameters:")
cgi postParameters foreach(k, v,
	cgi write(k .. " = " .. v .. ","))
)

cgi write("COOKIES:")
cgi cookies foreach(k, v,
	cgi write(k .. " = " .. v .. ",")
)

スロット インデックス

スロット

contentLength

CONTENT_LENGTH from web server - Size of POST Data
contentType

CONTENT_TYPE from web server
cookies

Returns a Map of cookies provided by the client
decodeUrlParam(aString)

Returns a URL decoded version of aString.
encodeUrlParam(aString)

Returns a URL encoded version of aString.
getParameters

Parses the QUERY_STRING environment variable and returns a Map containing key/value query value pairs. For testing, a QUERY_STRING can be passed to standard in, one line will be read
header(name, value, sendMultiple)

Add a header to the output, may only be called before write() is called. One of each header will be send unless sendMultiple is true
httpHeader(name)

Fetch a header supplied by the client, such as 'referer'
isInWebScript

Checks to see if this is being called within a CGI request or from the command-line (testing). Simply checks for System getEnvironmentVariable("GATEWAY_INTERFACE")
mapPutOrAppendAsList

未ドキュメント
maxPostSize

Maximum size in bytes, to process from user submitted data. Data greater than this will result in a nil postData slot
maxPostSizeExceeded

Returns true if the POST data exceeds a set maxPostSize
newLinesToBr

未ドキュメント
parse

未ドキュメント
parseString

未ドキュメント
pathInfo

PATH_INFO from web server
pathTranslated

PATH_TRANSLATED from web server
postData

The raw post data sent to the script. Only set if getEnvironmentVariable("REQUEST_METHOD") asLowercase == "post".
postParameters

Parses the POST data, multipart and urlencoded. Returns a map of submitted variables. For uploaded files, an Object is returned with these slots:
fileName
content (raw content of file as Sequence)
contentType
contentEncoding
size (in characters/bytes)
asString (pretty string of name, type, size)
queryString

QUERY_STRING from web server
redirect(url)

Send a location: and redirect the user. May only be called before write() is called. It is left to the caller to stop any further processing.")
remoteAddress

REMOTE_ADDR from web server - User's IP
remoteHost

REMOTE_HOST from web server - User's host (often blank)
requestMethod

GET, POST, PUT, etc
requestParameter(name)

Lazy developer's helper funtion. Retrieves a value from GET or POST, POST first
scriptName

SCRIPT_NAME from web server
sendHeaders

未ドキュメント
setCookie(name, value, expiresDate, domain, path, secureBool)

Sets a cookie, keep in mind this will not be available in cookies() until they next visit the site. Parameters other than name and value are optional.
setMaxPostSize

未ドキュメント
status(statusCode)

Numeric status code to send to the client. Normally, the server will figure this out on its own, but this allows handling 404s and such.
urlChar2Code

未ドキュメント
urlCode2Char

未ドキュメント
write(string, [string...])

Send content for the body of the response

Call

モジュール: Core

説明

Call stores slots related to activation.

スロット インデックス

スロット

activated

Returns the activated value.
argAt(argNumber)

Returns the message's argNumber arg. Shorthand for same as call message argAt(argNumber).
argCount

Returns the number of arguments for the call. Same as call message argCount.
coroutine

Returns the coroutine in which the message was sent.
delegateTo(target, altSender)

Sends the call's message to target (and relays it's stop status). The sender is set to altSender, if it is supplied. Returns the result of the message.
delegateToMethod(target, methodName)

Sends the call's message to target via the method specified by methodName. Returns the result of the message.
description

Returns a description of the receiver as a String.
evalArgAt(argNumber)

Evaluates the specified argument of the Call's message in the context of it's sender.
evalArgs

Returns a list containing the call message arguments evaluated in the context of the sender.
hasArgs

Returns true if the call was passed arguments.
message

Returns the message value.
relayStopStatus

未ドキュメント
resetStopStatus

未ドキュメント
sender

Returns the sender value.
setStopStatus(aStatusObject)

Sets the stop status on the call.
slotContext

Returns the slotContext value.
stopStatus

Returns the stop status on the call. (description of stopStatus will be added once we decide whether or not to keep it)
target

Returns the target value.

Collector

モジュール: Core
カテゴリ: Core

説明

A singleton containing 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.

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.

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.

スロット インデックス

スロット

allObjects

Returns a List containing all objects known to the collector.
allocatedStep

Return the allocation step value as a Number.
collect

Runs garbage collector. Returns the number of items collected.
marksPerAlloc

Return the number of allocations per collector mark pass.
maxAllocatedBytes

Returns the maximum number of bytes allocated by the collector.
resetMaxAllocatedBytes

Resets maximum number of bytes allocated by the collector. Returns self.
setAllocatedStep(aNumber)

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.
setDebug(aBool)

Turns on/off printing of collector debugging messages. Returns self.
setMarksPerAlloc(aNumber)

Sets the number of incremental collector marks per object allocation (can be fractional). Returns self.
showStats

Prints the collector's stats to standard output.
timeUsed

Return the time used so far by the collector in seconds.

Compiler

モジュール: Core
カテゴリ: Core

説明

Contains methods related to the compiling code.

スロット インデックス

スロット

messageForString(aString, optionalLabelString)

Returns the compiled message object for aString.
messageForString2

未ドキュメント
messageForTokens(aList)

Returns the compiled message object for the given token list.
tokensForString(aString)

Returns a list of token objects lexed from the input string.

Coroutine

モジュール: Core
カテゴリ: Core

説明

Object wrapper for an Io coroutine.

スロット インデックス

スロット

backTraceString

未ドキュメント
callStack

未ドキュメント
currentCoroutine

未ドキュメント
debugWriteln

未ドキュメント
exception

Returns the current exception or nil if there is none.
freeStack

未ドキュメント
ignoredCoroutineMethodNames

未ドキュメント
implementation

未ドキュメント
inException

Set to true when processing an exception in the coroutine.
ioStack

Returns List of values on this coroutine's stack.
isCurrent

未ドキュメント
isYielding

未ドキュメント
label

A label slot useful for debugging purposes.
main

未ドキュメント
parentCoroutine

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.
pause

未ドキュメント
pauseCurrentAndResumeSelf

未ドキュメント
raiseException

未ドキュメント
result

The result set when the coroutine ends.
resume

未ドキュメント
resumeLater

未ドキュメント
resumeParentCoroutine

未ドキュメント
run

未ドキュメント
runLocals

The locals object in whose context the coroutine will send it's run message.
runMessage

The message to send to the runTarget when the coroutine starts.
runTarget

The object which the coroutine will send a message to when it starts.
setErrorDescription

未ドキュメント
setException

未ドキュメント
setInException

未ドキュメント
setLabel

未ドキュメント
setMessageDebugging(aBoolean)

Turns on message level debugging for this coro. When on, this coro will send a vmWillSendMessage message to the Debugger object before each message send and pause itself. See the Debugger object documentation for more information.
setParentCoroutine

未ドキュメント
setResult

未ドキュメント
setRunLocals

未ドキュメント
setRunMessage

未ドキュメント
setRunTarget

未ドキュメント
setStackSize

未ドキュメント
setYieldingCoros

未ドキュメント
showStack

未ドキュメント
showYielding

未ドキュメント
stackSize

Stack size allocated for each new coroutine. Coroutines will automatically chain themselves as need if more stack space is required.
typeId

未ドキュメント
yield

未ドキュメント
yieldCurrentAndResumeSelf

未ドキュメント
yieldingCoros

Reference to Scheduler yieldingCoros.

Curses

モジュール: Curses
カテゴリ: Server
Credits: Original version by Edwin Zacharias. getCh method by Scott Dunlop.

説明

Curses allows writing and reading at arbitrary positions on the terminal. You have to call init to set the terminal to curses mode and end to end curses mode. The terminal is not updated until refresh is called. It is a bad idea to use the standard io's read and write methods when the terminal is in curses mode. The Curses primitive was written by Edwin Zacharias.

Here's an example that prints Hello at column 5 and row 7;

Curses init
Curses move(5, 7) print(\"Hello\")
Curses refresh
Curses end

スロット インデックス

スロット

asyncReadCharacter

未ドキュメント
begin

Sets the terminal to curses mode. This should be called before any other curses methods. Returns self.
cBreak(aString)

Disables line buffering and erase/kill character-processing. cBreak should be on for most purposes. Returns self.
clear

Clears the terminal. Nicer than erase. Returns self.
clearToEndOfLine

Clears the text from the cursor to the end of the line. Returns self.
delete(n)

Deletes n characters at the current position. Text to the right is shifted left. n is optional and defaults to 1. Returns self.
echo

Echoes user input to terminal. Returns self.
end

Ends curses mode. This should be called before standard io's read and write methods are used. Returs self.
get(n)

Returns n characters from the terminal. n is optional and defaults to 1.
getCh

Reads a single-byte character from the terminal associated with the current or specified window. Returns a Number containing the byte.
hasColors

Returns true if the terminal supports color, false otherwise.
height

Returns a Number containing the height of the current screen.
input(n)

Returns user input up to a return, or a maximun of n characters.
inputBuffer

未ドキュメント
insert(aString)

Inserts the string at the current position on the terminal, pushing existing text to the right. Returns self.
move(x, y)

Moves the cursor to column y and row x on the terminal. (0, 0) is at the top-left of the terminal. Returns self.
noCBreak

Allows line buffering and erase/kill character-processing. cBreak should be on for most purposes. Returns self.
noEcho

Does not echo user input to terminal. Returns self.
nodelay(aBoolean)

Enables or disables block during read. If aNumber is zero, nodelay is set to be false, otherwise it is set to be true.
print(aString)

Prints the string to the current position on the terminal, overwriting existing text on the terminal. Returns self.
readLine

未ドキュメント
refresh

Copies the current buffer to the screen. This must be called to make changes to the screen. Returns self.
setBackgroundBlack

Sets the background color to black.
setBackgroundBlue

Sets the background color to blue.
setBackgroundCyan

Sets the background color to cyan.
setBackgroundGreen

Sets the background color to green.
setBackgroundMagenta

Sets the background color to magenta.
setBackgroundRed

Sets the background color to red.
setBackgroundWhite

Sets the background color to white.
setBackgroundYellow

Sets the background color to yellow.
setForegroundBlack

Sets the foreground color to black.
setForegroundBlue

Sets the foreground color to blue.
setForegroundCyan

Sets the foreground color to cyan.
setForegroundGreen

Sets the foreground color to green.
setForegroundMagenta

Sets the foreground color to magenta.
setForegroundRed

Sets the foreground color to red.
setForegroundWhite

Sets the foreground color to white.
setForegroundYellow

Sets the foreground color to yellow.
width

Returns a Number containing the width of the current screen.
write

未ドキュメント
writeCharacter(aCharacter)

Prints the aCharacter to the current position on the terminal, overwriting existing text on the terminal. Returns self.
x

Returns the cursor x position.
y

Returns the cursor y position.

DBI

モジュール: DBI

スロット インデックス

スロット

drivers

Get a list of drivers and it's associated information:
  1. name
  2. description
  3. filename
  4. version
  5. date compiled
  6. maintainer
  7. url
initWithDriversPath

Initialize the DBI environment with the specified libdbi driver path.
version

Return string version of libdbi being used.
with(driverName)

Get a new connection with the given driver.

DBIConn

モジュール: DBI
カテゴリ: データベース

説明

An object that represents a DBI Connection.

スロット インデックス

スロット

close

Close the connection to the database.
connect

Connect to the database server.
driver

Return database driver name.
execute(sql_query)

Perform a database query that expects no results. Returns the number of rows affected.
option(key)

Retrieve an option value for the connection.
optionClear(key)

Clear a specific option associated with the connection.
optionPut(key,value)

Add an option key, value pair to the connection.
options

Retrieve an option list of the connection.
optionsClear

Clear all options associated with the connection
ping

Ping the database to see if it's alive. Will return true if it is, otherwise false.
query(sql_query)

Perform a database query returning a DBIResult object.
queryOne([object], sql)

Perform a query and return the first result. If [object] is supplied, the object is populated with the contents of the result, the result is marked done and the object is returned.
quote(value)

Quote a string value according to the database server's specifications.
sequenceLast([name])

Return the last inserted sequence value.
sequenceNext([name])

Return the next sequence that will be used during an INSERT query.

DBIRecord

モジュール: DBI
カテゴリ: データベース

説明

A DBI Record. When utilizing `foreach' or `populate' methods of a DBIResult object, you can pass an optional Object cloned from DBIRecord. This object will be populated with the row contents making it possible to write objects that represent your SQL results. A simple example would be:
Person := DBIRecord clone do (fullName := method(firstName.." "..lastName))
q := conn query("SELECT id, firstName, lastName FROM people")
q foreach(Person, p, writeln("Name = ", p fullName))
As you can see, fullName was not in the SQL query, however, a dynamic method in your Person class. DBIRecord in and of itself provides no real functionality. It simply acts as an Object and stores the values from the SQL query into a Map. You can access the field information:
o := r populate(Person)
o firstName            // would retrieve the firstName value of the SQL query
o setFirstName("John") // would update the object's firstName value to be John
Do not confuse the above example as updating the actual database. The call to setFirstName only updates the objects representation of firstName.

スロット インデックス

スロット

forward

Private method that implements getting and setting values.
with(aMap)

Returns a new DBIRecord instance for the given value map.

DBIResult

モジュール: DBI
カテゴリ: データベース

説明

A DBI Result created by a call to DBIConn query.

スロット インデックス

スロット

at(index_or_name)

Returns the contents of the given field. The parameter can be a field index or a field name.
done

Close and free the result. This must be called on each result. Failure to do so will cause memory leaks and open queries with the database server.
fields

Returns a list of field names in the result.
first

Move the cursor to the first record.
foreach([Object], value, message)

Loops over the records in the result starting at either the first result (if the cursor has never been moved) or it's current location if moved. i.e.
r := conn query("SELECT * FROM people")
r foreach(r, r at(1))
The above would start at the first row, however, you can move around in the result set and then foreach would pickup where you left off, for instance, say you wanted to skip the first three rows:
r := conn query("SELECT * FROM people")
r seek(4)
r foreach(r, r at (1))
The above would start at the record #4, not at the beginning. The optional Object parameter would cause a decendent of DBIRecord to be populate instead of the index being set. This allows for advanced functionality. Please see `DBIRecord' for further information and an example.
last

Move the cursor to the last record.
next

Move the cursor to the next record.
populate(object)

Populates a decendent of DBIRecord with the current record's contents. See `DBIRecord' for further explanation and an example.
position

Return the current row's position (or index).
previous

Move the cursor to the previous record.
seek(row_number)

Move the cursor to the nth record.
size

Returns the number of rows available.

DNS

モジュール: Socket
カテゴリ: ネットワーク

スロット インデックス

スロット

dnsQueryPacketForHostName(hostNameSeq)

Assembles a DNS query packet for the given host name and returns it in a Sequence.
hostNameAndIPforDNSResponsePacket(dnsResponsePacketSeq)

Dissasembles the given dnsResponsePacketSeq and returns a list object containing the hostName and IP or an error string on error.
localNameServersIPs

Returns a list of local name server IPs as a list of Sequences. Works on OSX, Unix, Windows.

DNSQuery

モジュール: Socket
カテゴリ: ネットワーク

説明

An object representing an individual DNS query.

スロット インデックス

スロット

addCoro(aCoro)

Private method that adds a coro to coros.
coros

List of coroutines paused waiting for this query. These coros will be resumed when the query completes.
hostName

The host name which the query will request an IP for.
resumeCoros

Resumes all the paused coros. Should this use resumeLater instead?
setHostName(aSeq)

Sets the host name for the query.
waitOn

Pauses the calling coroutine until the query is completed.

DNSResolver

モジュール: Socket

説明

With the DNSResolver you can set the DNS servers to be used for DNS lookups. Example;
DNSResolver addDNSServerIp("128.105.2.10")
ipForYahoo := DNSResolver ipForHostName("yahoo.com")

スロット インデックス

スロット

addDNSServerIp(ipString)

Adds a new DNSServer for the specified IP.
cache

Returns Map containing lookup cache.
dnsServers

Returns list of DNSServer objects used for lookups.
emptyCache

Empties the lookup cache. Returns self.
ipForHostName(hostName)

Returns a String containing the IP for the hostName or an error if hostName could not be resolved.
queries

Returns list of active DNSQuery objects.
setupServerListIfNeeded

Private method that gets local name server IPs and sets up dnsServers list. Returns self.

DNSServer

モジュール: Socket
カテゴリ: ネットワーク

説明

An object representing a DNSServer which DNS requests can be sent to.

スロット インデックス

スロット

host

The host name (usually an IP) for the DNSServer.
ipForHostName(hostName, timeout)

Sends a request to the DNS server, waits for a response and returns it. Will try 3 times if there are timeouts. Returns the IP (as a Sequence) if successful, raises an exception otherwise.
setHost(aSeq)

Sets the host name for the DNSServer.

DOConnection

モジュール: DistributedObjects

説明

The DOConnection object is usefull for communicating with remote servers in a way that makes it look just like the sending of local messages. Proxies are automatically created on either side for passed objects, with the exception of strings and numbers, which are passed by value. 例:
con := DOConnection clone setHost("127.0.0.1") setPort(8456) connect
result := con serverObject test(1)
writeln(result)
r := result at(0)
writeln(r)
r := result at(1)
writeln(r)
Implementation Notes:

The format of the Distributed Objects message is a list of NullCharacter terminated strings in one of these two formats:

Send message format:

s NullCharacter targetId NullCharacter messageName NullCharacter argCount NullCharacter argType NullCharacter argValue NullCharacter (next arg type and value, etc)
Reply message format:
r NullCharacter argType NullCharacter argvalue NullCharacter
If the argument is not a String, Number or nil then: If it is local to the sender, the type is RemoteObject. If it is a proxy to a remote object, the type is LocalObject. This isn't optimized yet.

スロット インデックス

スロット

NullCharacter

未ドキュメント
ShowMessage

未ドキュメント
close

Close the connection, if it is open. Returns self.
connect

Connect to the remote DOServer. Returns self or an Error, if one occurs.
decode

未ドキュメント
encode

未ドキュメント
handleSocket

未ドキュメント
host

Returns the host ip.
localObjects

未ドキュメント
performMessage

未ドキュメント
port

Returns the port.
proxies

未ドキュメント
readMessage

未ドキュメント
sendMessage

未ドキュメント
serverObject

A handle to the remote DOServer's root object. Returns result from server or an Error, if one occurs.
setHost(ipString)

Sets the host ip to connect to. Returns self or an Error, if one occurs.
setLocalObjects

未ドキュメント
setPort(portNumber)

Sets the port number to connect to. Returns self.
setProxies

未ドキュメント
setSocket

未ドキュメント
socket

未ドキュメント

DOProxy

モジュール: DistributedObjects
カテゴリ: ネットワーク

スロット インデックス

スロット

connection

未ドキュメント
forward

未ドキュメント
proxyId

未ドキュメント
setConnection

未ドキュメント
setProxyId

未ドキュメント

DOServer

モジュール: DistributedObjects
カテゴリ: ネットワーク

説明

The DOServer object is usefull for fetching web pages and parsing DOServers. 例;
Test := Object clone
Test test := method(v, 
	write("got test '", v, "'\n")
	return List clone append(1)
)

doServer := DOServer clone
doServer setRootObject(Test clone)
doServer setPort(8456)
doServer start

スロット インデックス

スロット

handleSocket

未ドキュメント
rootObject

未ドキュメント
setRootObject(anObject)

Sets the root object which incoming messages will be send to.
socket

未ドキュメント

Date

モジュール: Core
カテゴリ: Time
Credits: fromString method by Sean Perry")

説明

A container for a date and time information.

スロット インデックス

スロット

+(aDuration)

Return a new Date with the receiver's value plus an amount of time specified by aDuration object to the receiver.
+=(aDuration)

Add aDuration to the receiver. Returns self.
-(aDurationOrDate)

Return a new Date with the receiver's value minus an amount of time specified by aDuration to the receiver. Returns self.
-=(aDuration)

Subtract aDuration from the receiver. Returns self.
asAtomDate

Returns the date formatted as a valid atom date (rfc4287) in the system's timezone.
asNumber

Returns the date as seconds since 1970.
asString(optionalFormatString)

Returns a string representation of the receiver using the receivers format. If the optionalFormatString argument is present, the receiver's format is set to it first. Formatting is according to ANSI C date formating rules.

	
%a abbreviated weekday name (Sun, Mon, etc.)
%A full weekday name (Sunday, Monday, etc.)
%b abbreviated month name (Jan, Feb, etc.)
%B full month name (January, February, etc.)
%c full date and time string
%d day of the month as two-digit decimal integer (01-31)
%H hour as two-digit 24-hour clock decimal integer (00-23)
%I hour as two-digit 12-hour clock decimal integer (01-12)
%m month as a two-digit decimal integer (01-12)
%M minute as a two-digit decimal integer (00-59)
%p either "AM" or "PM"
%S second as a two-digit decimal integer (00-59)
%U number of week in the year as two-digit decimal integer (00-52)
with Sunday considered as first day of the week
%w weekday as one-digit decimal integer (0-6) with Sunday as 0
%W number of week in the year as two-digit decimal integer (00-52)
with Monday considered as first day of the week
%x full date string (no time); in the C locale, this is equivalent
to "%m/%d/%y".
%y year without century as two-digit decimal number (00-99)
%Y year with century as four-digit decimal number
%Z time zone name (e.g. EST);
null string if no time zone can be obtained
%% stands for '%' character in output string.
clock

Returns a number containing the number of seconds of processor time since the beginning of the program or -1 if unavailable.
copy(aDate)

Sets the receiver to be the same date as aDate. Returns self.
cpuSecondsToRun(expression)

Evaluates message and returns a Number whose value is the cpu seconds taken to do the evaluation.
day

Returns a number containing the day of the month of the receiver.
format

Returns the format string for the receiver. The default is "%Y-%m-%d %H:%M:%S %Z".
fromNumber(aNumber)

Sets the receiver to be aNumber seconds since 1970.
fromString(aString, formatString)

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.
gmtOffset

Returns the system's timezone string. E.g., +1300 or -0500.
gmtOffsetSeconds

Returns the system's seconds east of UTC.
hour

Returns a number containing the hour of the day(0-23) of the receiver.
isDaylightSavingsTime

Returns self if Daylight Saving Time is in effect for the receiver, otherwise returns Nil.
isPast

Returns true if the receiver is a date in the past.
isToday

Returns true if the receiver's date is today's date.
isValidTime(hour, min, sec)

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.
justSerialized

未ドキュメント
minute

Returns a number containing the minute of the hour(0-59) of the receiver.
month

Returns a number containing the month(1-12) of the year of the receiver.
now

Sets the receiver to the current time. Returns self.
print

Prints the receiver. Returns self.
second

Returns a number containing the seconds of the minute(0-59) of the receiver. This number may contain fractions of seconds.
secondsSince(aDate)

Returns a number of seconds of between aDate and the receiver.
secondsSinceNow(aDate)

Returns the number of seconds since aDate.
secondsToRun(expression)

Evaluates message and returns a Number whose value is the number of seconds taken to do the evaluation
setDay(aNumber)

Sets the day of the receiver. Returns self.
setHour(aNumber)

Sets the hour of the receiver. Returns self.
setMinute(aNumber)

Sets the minute of the receiver. Returns self.
setMonth(aNumber)

Sets the month(1-12) of the receiver. Returns self.
setSecond(aNumber)

Sets the second of the receiver. Returns self.
setYear(aNumber)

Sets the year of the receiver.
today

Set the receiver to the current date, no time information is included. See `now' for the current date and time.
year

Returns a number containing the year of the receiver.
zone

Returns a string containing the system's time zone code.

Debugger

モジュール: Core
カテゴリ: Core

説明

Contains methods related to the IoVM debugger.

スロット インデックス

スロット

debuggerCoroutine

Returns the coroutine used for the debugger.")
description

To start debugging a coroutine, call Coroutine currentCoroutine setMessageDebugging(true) Then each message sent within that coroutine will cause the Debugger vmWillSendMessage slot to be activated and the Debugger slots: messageCoroutine, messageSelf, messageLocals, and message will be set with the values related to the current message send. You can override vmWillSendMessage to implement your own debugging mechanisms.
start

Starts the debugger.")
vmWillSendMessage

Override this method to implement your own debugging mechanisms. Default behavior is to print every message sent.")

Directory

モジュール: Core
カテゴリ: ファイルシステム
Credits: Cygwin code by Mike Austin. WIN32 code by Daniel Vollmer.

説明

The Directory object supports accessing filesystem directories. A note on paths; if a path begins with a "/" it's the root, if it beings with a "./" it's the launch path, if not specified, "./" is assumed.""")

スロット インデックス

スロット

accessibleAncestors

Returns a list of accessizble ancestor directories.
accessibleParents

Deprecated. Replaced by accessibleAncestors.
ancestorDirectories

Returns a list of ancestor directories.
at(aString)

Returns a File or Directory object matching the name specified by aString or Nil if no such file or directory exists.
create

Create the directory if it doesn't exist. Returns self on success (or if the directory already exists), nil on failure.
createFileNamed(name)

Depracted. Returns a new file object in the directory with the specified name.
createIfAbsent

Creates the directory folder (and any missing ancestor folders) if they don't exist. Returns self.
createSubdirectory(name)

Create a subdirectory with the specified name.
currentWorkingDirectory

Returns the current working directory path.
directoryNamed(aName)

Returns a Directory object for the specified file name whether or not it exists.
exists(optionalPath)

Returns true if the Directory path exists, and false otherwise. If optionalPath string is provided, it tests the existance of that path instead.
fileNamed(aName)

Returns a File object for the specified file name whether it exists or not.
fileNames

Returns a list of strings for the names of the files (no subdirectories) in the directory.
files

Returns a list of File objects for the files in the Directory (no directories).
filesWithExtension(aString)

Returns a list of File objects for the files in the Directory (no directories) with the specified file extension.
folderNamed(aName)

Deprecated. Replaced by directoryNamed().
folderNamedCreateIfAbsent(name)

Deprecated. Returns a new Directory object in the directory with the specified name.
folders

Returns a list of subdirectories for the receiver.
isAccessible

Returns true if the directory can be accessed, false otherwise.
items

Returns a list object containing File and Directory objects for the files and directories of the receiver's path.
moveTo(aPath)

Moves the directory to the specified path.
name

Returns the receiver's last path component.
parentDirectory

Returns the parent directory object or nil if there is no parent directory.
parents

Deprecated. Replaced by ancestorDirectories.
path

Returns the directory path. The default path is '.'.
remove

Removes the directory.
setCurrentWorkingDirectory(pathString)

Set's the current working directory path. Returns true on success or false on error.
setPath(aString)

Sets the directory path. Returns self.
size

Returns a Number containing the number of