REBOL 3 Docs | Guide | Concepts | Functions | Datatypes | Errors |
TOC < Back Next > | Updated: 19-Oct-2009 Edit History |
Here are some things you can do to get help.
If you need help:
Both beginners and experts find the online help useful.
Type help or ? at the console prompt (>>) to view a summary of help:
>> help To use HELP, supply a word or value as an argument: help insert Also, the ? is a shortcut for help: ? insert ? system ? system/options To search all internal help strings and values: help "insert" help to- ; (a partial word) To see detailed online web docs for a function: help/doc forall For all on-line web documentation, just type: docs To see words with values of a specific datatype: help native! help function! help datatype! Other debug functions: ? self - show words and values (in context) ?? - display a variable and its value probe - print a value (molded) source func - show source code of func trace - trace evaluation steps what - show a list of known functions why? - explain more about last error (via web) Other information: chat - open DevBase developer forum/BBS docs - open DocBase document wiki website bugs - open CureCore bug database website demo - run demo launcher (from rebol.com) about - see general product info upgrade - check for newer versions changes - show changes for recent version install - install (when applicable) license - show user license usage - view program options
If you provide a function word as an argument, help prints all of the information that was provided about the function. For instance, if you type:
>> help insert
you will see:
USAGE: INSERT series value /part range /only /dup count DESCRIPTION: Inserts into a series and returns the series after the insert. (Modifies) INSERT is an action value. ARGUMENTS: series -- Series at point to insert (series! port! map! gob! object! bitset! port!) value -- The value to insert (any-type!) REFINEMENTS: /part -- Limits to a given length or position. length (number! series! pair!) /only -- Only inserts a block as a single value (not the contents of the block) /dup -- Duplicates the insert a specified number of times. count (number! pair!)
The help function also finds words that contain a specified string. For instance, to find all of the words that include the string path!, type:
>> ? "path"
and the result will be:
Found these related words: ?? function! Debug print a word, path, or block of such, f... any-path! typeset! [path! set-path! get-path! lit-path!] any-path? function! Return TRUE if value is any type of path. assert native! Assert that condition is true, else throw an ... cd function! Change directory (shell shortcut function). change-dir native! Changes the current directory path. clean-path function! Returns new directory path with //, . and .. ... dirize function! Returns a copy of the path turned into a dire... file! datatype! file name or path get native! Gets the value of a word, path, or values of ... get-path! datatype! the value of a path get-path? action! Returns TRUE if it is this type. import function! Imports a module; locate, load, make, and set... list-dir function! Print contents of a directory (ls). lit-path! datatype! literal path value lit-path? action! Returns TRUE if it is this type. ls function! Print contents of a directory (ls). make-dir function! Creates the specified directory. No error if ... mkdir function! Creates the specified directory. No error if ... more function! Print file (shell shortcut function). path! datatype! refinements to functions, objects, files path? action! Returns TRUE if it is this type. pwd native! Returns the current directory path. reduce native! Evaluates expressions and returns multiple re... request-file native! Asks user to select a file and returns full f... set native! Sets a word, path, block of words, or object ... set-path! datatype! definition of a path's value set-path? action! Returns TRUE if it is this type. source function! Prints the source code for a word. split-path function! Splits and returns directory path and file as... suffix? function! Return the file suffix of a filename or url. ... to-get-path function! Converts to get-path! value. to-lit-path function! Converts to lit-path! value. to-local-file native! Converts a REBOL file path to the local syste... to-path function! Converts to path! value. to-rebol-file native! Converts a local system file path to a REBOL ... to-set-path function! Converts to set-path! value. undirize function! Returns a copy of the path with any trailing ... what-dir native! Returns the current directory path. why? function! Explain the last error in more detail.
You can also search for all globally defined words that are of a given datatype. For example, to list all words that are function! datatypes, type:
>> ? function!
and the result would be:
Found these related words: ? function! Prints information about words and values. ?? function! Debug print a word, path, or block of such, f... about function! Information about REBOL alter function! If a value is not found in a series, append i... any-block? function! Return TRUE if value is any type of block. any-function? function! Return TRUE if value is any type of function. any-object? function! Return TRUE if value is any type of object. any-path? function! Return TRUE if value is any type of path. any-string? function! Return TRUE if value is any type of string. any-word? function! Return TRUE if value is any type of word. array function! Makes and initializes a series of a given siz... as-pair function! Combine X and Y values into a pair. ask function! Ask the user for input. ...
To obtain a list of all REBOL datatypes, type:
>> ? datatype! Found these related words: action! datatype! datatype native function (standard polymorphic) binary! datatype! string series of bytes bitset! datatype! set of bit flags block! datatype! series of values char! datatype! 8bit and 16bit character ...
If you use help on an object, it will list a summary of the object's fields.
>> ? system SYSTEM is an object of value: product word! core version tuple! 2.100.90.3.1 build date! 14-Oct-2009/22:40:04 license string! {Alpha prototype version. For testing only. U... catalog object! [datatypes actions natives errors reflectors ... contexts object! [root system exports user] state object! [note last-error] intrinsic object! [do make-module make-port parse-url begin] modules block! length: 3 codecs object! [bmp gif png jpeg] dialects object! [secure draw effect text rebcode] schemes object! [system console file dir event dns tcp clipbo... ports object! [wait-list input output echo system] locale object! [language language* locale locale* months day... options object! [boot home path flags script args do-arg impo... script object! [title header parent path args] standard object! [error script header scheme port port-spec-he... view object! [screen-gob handler event-port metrics event-...
There is a special mechanism for getting help on errors.
When you get an error message at the console, you can type why? to see info about that specific error.
For example:
>> test ** Script error: test has no value >> why? Opening web browser...
and, this page, no-value, would be displayed.
See why? for more about this function.
The REBOL community is also a good way to learn more and get some answers to questions. It's easy to access directly from R3 with the chat function.
Chat has two modes: command line interface and graphical graphical user interface. Both are useful. (For example, if your SSH'd onto a server, you'll need the command line mode.)
Here's an example (showing the command line mode):
>> chat Fetching chat... Script: "RebDev Command Line Interface" Version: 0.4.19 Date: 20-Aug-2009/0:00 --- Note: login initiated --- Note: fetching user list --- Note: checking for new messages --- Note: there are new messages 5786 message records Alerts: 141 ! Enter 140 for chat about chat. 140 Carl 280d Top headings: 2 H Server admin 0 admin 5:15h 4 H User messages 0 admin 40d 5 H General 0 Kaj 3:31h 14 H R3 0 Steeve 3:49h 15 H R2 0 maxim 61d 16 H Tools 0 DideC 46d 17 H Websites 0 Henrik 32d > 18 H Community 0 maxim 39d Hint: n = new messages, who = users online, ? = help, ?? = list commands. ...
Use ? to get help, and N to view the newest messages.
To see a list of all built-in functions, use the what function:
>> what ... about Information about REBOL abs Returns the absolute value. absolute Returns the absolute value. action Creates datatype action (for internal usage only). action? Returns TRUE if it is this type. add Returns the result of adding two values. ajoin Reduces and joins a block of values into a new string. alias Creates an alternate spelling for a word. ...
The source function helps users learn more about specific functions by examining their source code.
For example, type:
>> source join
The source to the join function will be returned:
join: make function! [[ "Concatenates values." value "Base value" rest "Value or block of values" ][ value: either series? :value [copy value] [form :value] repend value :rest ]]
REBOL defined functions include the mezzanine functions (built-in interpreted functions) and user defined functions.
Error messages can sometimes be confusing, especially to new users.
When an error occurs in your script, you'll see an error message. You can use the why? function to open a web page to get a more detailed explanation about the error. See the code: debugging tips section for more about errors.
TOC < Back Next > | REBOL.com - WIP Wiki | Feedback Admin |