Rebol 编程/控制台
交互式控制台是您可以执行大部分编程操作的地方,用于测试代码的小片段并尝试各种函数。它是学习 Rebol 函数的最佳方式。
如果您有 Rebol/View,您可以从控制台访问各种实用程序,例如桌面、文本编辑器和用于输入的基本实用程序,这些实用程序可以在您的程序中使用。
当您使用 Rebol.exe 启动 Rebol/Core 时,可以直接访问控制台,但这不允许您使用 桌面 或 编辑器 命令。
如果您启动 Rebol/View,它将从 Viewtop 开始。控制台可以在窗口左侧的底部图标中访问。要进入控制台,请点击该图标。您可以在控制台提示符下输入 桌面 命令返回 Viewtop。
在开始 Rebol 编程之前,了解有关控制台的一些重要基础知识会很有帮助。您将花费大量时间在控制台中!
只需键入命令,您就可以开始使用控制台。如果您键入
>> now
Rebol 将返回当前日期和时间
== 2-Sep-2005/2:12:42+2:00
另一个例子
>> print "Hello world!" Hello world!
数学运算也是可以的
>> 2 + 2 == 4
请注意 >> 和 == 符号
- >>
- 这是您输入函数和命令的提示符。
- ==
- 这是之前执行的程序或操作的 返回值 符号。
我们之前使用的 打印 函数只是在控制台中产生了输出。打印 函数的返回值是一个特殊值,解释器在显示结果时会忽略它。
让我们尝试一些会导致错误的操作
>> 2 / 0 ** Math Error: Attempt to divide by zero ** Near: 2 / 0
Rebol 友好地使用 ** 符号生成错误信息文本。
如果您想再次重试这些示例,请使用键盘上的向上箭头键访问 Rebol 的已执行函数历史记录。
要移动控制台滚动条,您可以使用鼠标或 Page-Up 和 Page-Down 键
要显示之前输入的行,您可以使用 向上 和 向下 箭头,就像在 Linux 控制台中一样。
要修改它们,请使用 Home 和 End 键以及 Delete、Backspace 和 Left 或 Right 箭头。
TAB 键可用于自动完成:Rebol 将尝试完成您正在键入的内容。例如,如果您只按 a 然后按 TAB,您将获得以 a 开头的所有单词的建议。
>> action! any-type! any-word! any-function! any-string! any-block! action? any-type? any-word? any-function? any-string? any-block? and add and~ absolute at alias all any as-string as-binary access-os arccosine arcsine arctangent abs as-pair about apply also append ajoin array alter attempt ask ascii? any-path! any-path? any-object! any-object? assert alert aqua alive? a
因此,如果您键入 ale,它将完成为 alert,这是唯一以 ale 开头的单词。
>> alert
如果您声明一个变量,例如 aaa,Rebol 将记住它并也使用它进行自动完成。
可以使用 帮助 命令或其快捷方式问号 ? 访问控制台帮助。它可以
1- 在 Rebol 词典中查找一个词并描述其内容。示例
>> ? day No information on day (word has no value)
>> ? pi PI is a decimal of value: 3.14159265358979
>> my-word: "beginning" == "beginning"
>> ? my-word MY-WORD is a string of value: "beginning"
2- 描述函数的语法
>> ? now USAGE: NOW /year /month /day /time /zone /date /weekday /yearday /precise DESCRIPTION: Returns the current local date and time. NOW is a native value. REFINEMENTS: /year -- Returns the year only. /month -- Returns the month only. /day -- Returns the day of the month only. /time -- Returns the time only. /zone -- Returns the time zone offset from GMT only. /date -- Returns date only. /weekday -- Returns day of the week as integer (Monday is day 1). /yearday -- Returns day of the year (Julian) /precise -- Use nanosecond precision
3- 如果您在字符串中键入元素的一部分,Rebol 将返回包含该字符串的任何元素
>> ?? part-of-searched-word Print result here
>> ? wor Found these words: any-word! datatype! any-word! any-word? action! Returns TRUE for any-word values. get-word! datatype! get-word! get-word? action! Returns TRUE for get-word values. lit-word! datatype! lit-word! lit-word? action! Returns TRUE for lit-word values. my-word string! "beginning" set-word! datatype! set-word! set-word? action! Returns TRUE for set-word values. to-get-word function! [value] to-lit-word function! [value] to-set-word function! [value] to-word function! [value] word! datatype! word! word? action! Returns TRUE for word values.
您也可以使用引号来搜索字符串。请注意这两个示例之间的区别
>> ? "find" Found these words: find action! Finds a value in a series and returns the series a... find-key-face function! Search faces to determine if keycode applies. find-window function! Find a face's window face.
>> ? find USAGE: FIND series value /part range /only /case /any /with wild /skip size /match /tail /last /reverse DESCRIPTION: Finds a value in a series and returns the series at the start of it. FIND is an action value. ARGUMENTS: series -- (Type: series port bitset) value -- (Type: any-type) REFINEMENTS: /part -- Limits the search to a given length or position. range -- (Type: number series port) /only -- Treats a series value as a single value. /case -- Characters are case-sensitive. /any -- Enables the * and ? wildcards. /with -- Allows custom wildcards. wild -- Specifies alternates for * and ? (Type: string) /skip -- Treat the series as records of fixed size size -- (Type: integer) /match -- Performs comparison and returns the tail of the match. /tail -- Returns the end of the string. /last -- Backwards from end of string. /reverse -- Backwards from the current position.
有关当前工作会话的其他有用信息,可以使用以下 Rebol 词
probe : Displays the contents of a Rebol word in its original format. source : Displays the contents of a Rebol function. what : Lists all Rebol words currently defined. what-dir : Displays name of the current directory. list-dir : Lists all filenames in current directory. change-dir : Change current directory.
您可以停止一个程序,如果它是在控制台中运行的,或者如果它输出到程序中打开的控制台,请按 Escape 键。这将使您返回到提示符。