REBOL 3 Docs Guide Concepts Functions Datatypes Errors
  TOC < Back Next >   Updated: 16-Aug-2010 Edit History  

REBOL 3 Functions: help

help  word  /doc

Prints information about words and values.

Arguments:

word [any-type!]

Refinements:

/doc - Open web browser to related documentation.

See also:

?   what   ??   docs  

Description

The help function provides information about words and values.

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

Help about a Function

If you provide a function word as an argument, help prints all of the information related to that 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!)

For more detailed information, you can use the doc refinement:

>> help/doc insert

to open the web browser to the page related to that function.

Help about Datatypes

All datatypes are explained through help.

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

For help on a specific datatype:

help integer!
integer! is a datatype
It is defined as a 64 bit integer
It is of the general type scalar
Found these related words:
   zero            integer!  0

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

Help Search

The help function also finds words that contain a specified string. For example, 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
    ...

Help on Objects

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

Help on Errors

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.


  TOC < Back Next > REBOL.com - WIP Wiki Feedback Admin