在Ruby中扩展Ruby的新功能是很容易的,如果你用c来写底层的代码,那么我们就能更好的扩展Ruby的功能。 用c来扩展ruby是非常简单的事情。比如,我们我们在为Sunset Diner and Grill建造一个基于internet的自动点唱机,它将从硬盘播放mp3文件或者从cd唱机播放cd音频。我们想从ruby程序中控制硬件系统,硬件提供商为我们提供了一个C语言的头文件,和一个二进制的实现库
Ruby 的实现是基于 POSIX环境的,也就是说它可以利用unix程序员熟悉的所有的系统调用和系统库。 同时,系统设计的时候扩展了对windows的支持,这章,我们将看看这方面的特性,并展示一些在windows下高效使用ruby的秘诀。 Ruby PortsWindows does not provide a POSIX environment by itself, so some sort o
译者注:因原来的发布不带图片,所以本章图片选自 http://www.ruby.no/prosjekt/ProgrammeringIRuby/ext_tk.html,不是英语,可能看不清,不过界面都显示出来了。 Ruby Application Archive (简称RAA)包括几个支持你使用Ruby来创建GUI(Graphical User Interface)程序的扩展(extensions
Ruby对互联网来说并不陌生,不只是因为你可以用它来写SMTP服务器,FTP服务器,或者web服务器,你还可以用它来完成通常的任务,比如CGI编程或者作为PHP的一个替代品。 编写 CGI 脚本 你可以用Ruby轻松的编写CGI脚本,为了让Ruby脚本产生HTML输出,你只需要这样做: #!/usr/bin/env ruby print "HTTP/1.0 200 OK\r\n" print "C
It's an unfortunate fact of life that our applications have to deal with the big, bad world. In this chapter, we'll look at how Ruby interacts with its environment. Microsoft Windows users will probab
当我们开始要写这本书的时候,有一个伟大重要的计划,因为我们那时候还很年轻。我们决定从最高到低层次来记录ruby语言,从类和对象开始,然后以详细的核心语法结束。那时候,这看来是个不错的选择,几乎Ruby中很多东西都是对象,感觉也也应该先说说对象。 我们是这么想的。 但是,那样来描述一门语言显得比较困难:如果我们不曾涉及到string,if语句,赋值语句,或其他详细的东西,很难写一个类的例子。贯穿于我
一般的问题 变量、常数、参数 调用带块方法(迭代器) 句法 方法 类、模块 内部库 扩展库 尚未列出的功能 日语字符的处理 Ruby的处理系统 一般的问题 1.1 Ruby是什么? 1.2 为什么取名叫Ruby呢? 1.3 请介绍一下Ruby的诞生过程 1.4 哪里有Ruby的安装文件? 1.5 请问Ruby的主页在哪里? 1.6 请问有Ruby邮件列表吗? 1.7 怎么才能看到邮件列表中的老邮件
在各方有志之士的努力下,Ruby已经被移植到多种平台。下面,就从OS或开发环境等方面对Ruby的运行环境做一个简要介绍。 关于安装和编译问题,请参考Ruby 安装指南。 Unix Windows(Win32) Win32 native版 mswin32 MinGW (mingw, mingw32) bccwin32 Cygwin (cygwin) Mac Mac OS X BeOS MS-DOS
A AWK 由Alfred Aho(A)、Peter Weinberger(W)和Brian Kernighan(K)共通创建的一种小型脚本语言。 B blade ml archive (blade/ruby) C Coerce 进行数据类型变换的方法。如果某数值计算方法从参数那里获得了一个类型不明的实例时, 它会调用coerce方法来进行数据类型变换。coerce方法会返回参数中的数值和本身。
ruby version 1.7是开发版。将来可能会删除下列中的部分内容,也可能因为兼容性问题而对其进行修改。 1.7.3 -> 1.8.0 preview1 (2002-12-24) 2002-12-20 profiler.rb [lib] [new] 新增。作为profile.rb的实体将其分离出来。 rb_define_alloc_func() [api] [new] rb_undef_al
ruby version 1.6是稳定版。在该版本中,主要修改了一些bug。 stable-snapshot是稳定版的源代码,且每日更新。 1.6.8 (2002-12-24) -> stable-snapshot 2003-01-22: errno 在EAGAIN与EWOULDBLOCK同值的系统中,EWOULDBLOCK消失不见了。现在,这种系统中的EWOULDBLOCK被定义为EAGAIN。
ruby 1.6 特性 ruby 1.7 特性 ruby 1.8 特性 obsolete 顺应DOSISH
线程是指共享内存空间并可同时运行的控制流。使用线程便可进行并行编程。 现在Ruby的线程是用户级的线程,可在所有平台上实现相同的运作。下面就来看看线程的运作情况。 Ruby线程的运作方式 程序开始时同步生成的线程称作main thread。当main thread结束时,其他所有线程以及整个程序也会结束。用户的介入所引起的异常也会被送给main thread。 线程启动时会指定一个块。当这个块结束
命令行选项 关于解释器行 请使用如下命令行启动Ruby解释器. ruby [ option ...] [ -- ] [ programfile ] [ argument ...] 这里的"option"指下文将要提到的命令行选项中的一个。"--"则显式地表明选项字符串到此结束。"programfile"是装载Ruby脚本的文件。若省略不写或者写成"-"时,Ruby会把标准输入当做Ruby脚本进行
ruby是印刷业的行业术语,指放在表意文字上方或右边的拼音或批注,广泛应用于日文和中文。 在HTML中,使用 ruby元素为中文、日文等东亚文字定义注音(拼音或注释)。如,为日文中的汉字定义注音: <ruby> <rb>日本語</rb> <rp>(</rp> <rt>にほんご</rt> <rp>)</rp> </ruby> 在定义注音时,ruby元素通常包含 rb