Red语言入门(1)—— 第一个Red程序

原创 2015年03月16日 09:48:24

几乎所有的编程教程都以一个小例子开始。其目的是让读者准备好开发环境,熟悉编译工具的使用。我们也按照传统,从这最基本的一步开始吧!

不同于大多数编程语言的第一个Hello World程序,我们来做些更有意思事。程序 demo.red 如下:

Red [
    Title:  "Red alpha simple ASCII art demo"
    Author: "Nenad Rakocevic"
    File:   %demo.red
    Tabs:   4
    Rights: "Copyright (C) 2012 Nenad Rakocevic. All rights reserved."
    License: {
        Distributed under the Boost Software License, Version 1.0.
        See https://github.com/dockimbel/Red/blob/master/BSL-License.txt
    }
]

data: [
    [0 7 20]
    [2 2 6 7 20]
    [1 2 6 7 20]
    [0 2 6 7 10 14 17 20 20]
    [2 2 6 7 9 10 13 14 16 17 19]
    [1 7 9 10 13 14 16 17 20]
    [0 2 4 5 9 14 16 17 20]
    [2 2 5 6 9 10 16 17 20]
    [1 2 5 6 9 10 13 14 16 17 19]
    [0 2 6 7 10 14 17 20 20]
]

pattern: "Red"
prin newline

foreach line data [
    cursor: 1 + line/1
    line: next line
    gap-start: line/1
    gap-end: line/2
    prin tab
    prin tab
    
    repeat i 21 [
        prin either all [
            gap-start <= i
            i <= gap-end
        ][
            #" "
        ][
            pattern/:cursor
        ]
        if i > gap-end [
            unless tail? line: skip line 2 [
                gap-start: line/1
                gap-end: line/2
            ]
        ]
        
        cursor: cursor + 1
        if cursor = 4 [cursor: 1]
    ]
    prin newline
]
程序有点长,但是没关系,现在我们不需要理解它,我们的目的是学会如何运行这段代码。

首先,下载Red工具链。相对于其他的编程语言动辄上百MB的工具链,Red显得太过苗条,甚至让人怀疑它的能力。你能想象一个不到1MB的工具,包含了两个编译器(Red和Red/System),一个解释器(Red)吗?真可谓是麻雀虽小,五脏俱全。

官方下载地址:http://red.github.io

接着,以Windows平台为例进行操作:

1. 打开CMD,解释执行:

E:\>red-051.exe demo.red

                RedRed              d
                d     d             e
                e     e             R
                R     R   edR    dR d
                d     d  d   R  R  Re
                edRedR   e   d  d   R
                R   e    RedR   e   d
                d    e   d      R   e
                e    R   e   d  d  dR
                R     R   edR    dR d

E:\>
2. 编译后运行。解释执行很方便,缺点是程序运行速度,并且需要有Red解释器才可以运行程序。编译后,会生成一个独立的可执行文件,能够弥补前面说的缺陷。

E:\>red-051.exe -c demo.red

-=== Red Compiler 0.5.1 ===-

Compiling /E/demo.red ...
...compilation time : 241 ms

Compiling to native code...
...compilation time : 13256 ms
...linking time     : 189 ms
...output file size : 348672 bytes
...output file      : E:\demo.exe

E:\>demo.exe

                RedRed              d
                d     d             e
                e     e             R
                R     R   edR    dR d
                d     d  d   R  R  Re
                edRedR   e   d  d   R
                R   e    RedR   e   d
                d    e   d      R   e
                e    R   e   d  d  dR
                R     R   edR    dR d
3. 进入REPL环境。

E:\>red-051.exe

-=== Red Console alpha version ===-
Type HELP for starting information.

red>> 1 + 2
== 3
red>> print "你好"
你好
red>> quit

E:\>
好了,现在你已经基本学会了Red工具链的使用,就这么简单!:D

如果了解更多的命令行参数,可以执行:

E:\>red-051.exe -h
童鞋们可以根据帮助说明,尝试编译DLL,交叉编译(在windows上编译Linux或者Mac版本的程序)。在下一篇,我们将正式进入Red语言的学习。


版权声明:本文为博主原创文章,转载请注明出处。

5种最有前途的编程语言

在编程领域保持流行就像《爱丽丝镜中奇遇记》中的红棋王后所说,“如果保持在原地用尽了你所有的速度,那么到达另一处最起码需要两倍于此的速度”。 也许你精通Ruby on Rails,很好,但用于数据分析...
  • sinat_32582203
  • sinat_32582203
  • 2016年08月20日 10:12
  • 3388

python基础教程_学习笔记14:标准库:一些最爱——re

标准库:一些最爱 re re模块包含对正则表达式的支持,因为曾经系统学习过正则表达式,所以基础内容略过,直接看python对于正则表达式的支持。 正则表达式的学习,见《Mastering Reg...
  • signjing
  • signjing
  • 2014年06月24日 17:10
  • 1894

Red语言概览--ReCode 2013

  • 2015年09月22日 16:43
  • 1.82MB
  • 下载

Red语言入门(2)—— 代码结构和求值顺序

本文要介绍的是Red的代码结构和求值顺序。
  • qtxie
  • qtxie
  • 2015年03月16日 09:58
  • 1332

python re 模块及正则表达式调用认识(1)

最近用到正则表达式,虽然看了学习了一些,但是不成体系,没有深刻认识,所以来看官方文档学习下,进行一个半汉化的翻译吧,网上查了很多都不是特别全面,要不就不是纯粹用在python中。 http://doc...
  • julius_lee
  • julius_lee
  • 2013年10月09日 15:11
  • 1694

python模块系列之 - re

str = "adcd123TF192.168.3.200diek929304255.284.23.23" # match 从字符串第一个开始找,开头找到就返回找到的值,没有就返回none,后面即使...
  • songfreeman
  • songfreeman
  • 2016年01月26日 11:32
  • 2185

Red Hat Enterprise 6.5 在虚拟机上将系统语言修改为中文

Red Hat Enterprise 6.5在虚拟机上将系统语言修改为中文
  • cj5785
  • cj5785
  • 2016年10月18日 20:38
  • 1520

red hat 中文语言包

  • 2014年10月17日 10:57
  • 25.28MB
  • 下载

Python正则表达式--Re库的基本使用

正则表达式(regular expression ,RE) 概念:正则表达式(通项公式)是用来简洁表达一组字符串的表达式。优势是简洁,一行胜千言。 应用:字符串匹配。 编译:将符合正则表达式语法的字符...
  • i_chaoren
  • i_chaoren
  • 2017年03月15日 23:23
  • 3346

python 详解re模块

正则表达式的元字符有. ^ $ * ? { [ ] | ( ) .表示任意字符 []用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可以理解成或的关系。 ^...
  • qq403977698
  • qq403977698
  • 2015年08月11日 19:41
  • 641
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Red语言入门(1)—— 第一个Red程序
举报原因:
原因补充:

(最多只允许输入30个字)