语句定界符
有些语言需要一定类型的标点,一般会是分号(;)来结束程序的每一语句.Ruby却采用了shell里的sh和csh的方便做法.一行中的多个语句由分号分开,但在行尾分号却并不需要;一个换行被看作一个分号.如果行以反斜杠(\)结束,随后的换行将忽略;这就允许你的单个逻辑行可以跨越数行.
注释为什么写注释?虽然良好的代码可自成文档,但那种自以为别人能看懂并按你的方式很快去理解的想法是错误的.除此之外,你自己在离开数天后也会是另一个人;一段时间后我们忘了我们还未修补或增强程序中的哪些部分,你会说,我知道我写了这个的,但我究竟写的是些什么?
一些有经验的程序员会相当正确地指出,矛盾的和过期的注释比没有强.当然,有了注释并不意味着代码的可读性;如果你的代码不清晰,它也许是多虫的.当你学习Ruby的时候,你会发现自己需要更多的注释;然后当你可以通过更简单,优雅,可读的代码来表达思想时,它们就会减少.
Ruby遵从一些普遍的书写习惯,用井号(#)表示注释的开始.跟在#号后面直到#号这行结束为止的代码都将被解释器忽略.
同时,为了方便写大块的注释, Ruby解释器省略以"=begin"和"=end"开始的行中间的一切.
#!/usr/bin/env ruby =begin ********************************************************************** This is a comment block, something you write for the benefit of human readers (including yourself). The interpreter ignores it. There is no need for a '#' at the start of every line. ********************************************************************** =end |
组织你的代码Ruby读到什么就处理什么.没有编译处理;如果有什么还没读到,就被简单地认为未定义.
# this results in an "undefined method" error: print successor(3),"\n" def successor(x) x + 1 end |
这并不是像一开始认为的那样,强迫你以从上至下的方式组织你的代码.只要你确保其在调用前将被定义,当解释器遇到一个方法定义时,它能安全地接受暂未定义的引用.
# Conversion of fahrenheit to celsius, broken # down into two steps. def f_to_c(f) scale(f - 32.0) # This is a forward reference, but it's okay. end def scale(x) x * 5.0 / 9.0 end printf "%.1f is a comfortable temperature.\n", f_to_c(72.3) |
所以,一方面看起来比使用Perl或Java要稍稍不方便一些,但却没有写C那么严格(要求你永远维持所指的部分排序).将最高层的代码放在源文件的最后总是可行的.即使这样也比看见时要好的多.一个明智而无痛苦的好办法是将main定义在文件顶端,再在底端调用它.
#!/usr/bin/env ruby def main # Express the top level logic here... end # ... put support code here, organized as you see fit ... main # ... and start execution here. |
Ruby也提供了将复杂程序分割为可读,可重用,逻辑相关的大块的工具.我们已看到用 include 来访问模块.你将发现 load 和 require 也很有用.load的作用类似于文件的复制加粘贴(和C的#include处理器指令相似).require更复杂,仅在需要时才加载,而且最多加载一次.load和require还有其它一些区别;在语言手册,FAQ中可找到更多信息.
分享到:
相关推荐
Ruby的API(应用程序接口)文档是开发者理解和使用Ruby语言的重要资源,它详细介绍了Ruby的标准库、类、模块、方法等核心组件。Ruby 1.9.3是其历史上的一个重要版本,此版本引入了许多改进和新特性。 1. **Ruby的...
Ruby数据结构简介 word文档
本压缩包包含的资源是关于 Ruby 1.9.1 的文档和一本 PDF 文件,可能是对该版本的深入解析或教程。 首先,让我们来探讨 Ruby 1.9.1 的主要变化和特性: 1. **语法增强**:Ruby 1.9 引入了新的语法特性,如元编程的...
- Ruby有丰富的测试框架,如RSpec、Test::Unit和MiniTest,鼓励开发者进行测试驱动的编码实践。 通过阅读"Ruby中文文档.CHM",你将能够逐步熟悉并熟练掌握这些概念和技术,为你的Ruby编程之路打下坚实的基础。文档...
在实际项目中,Ruby-QRcode可以与其他库结合使用,比如与Sinatra或Rails框架结合,生成网页上的QR码,或者与PDF生成库一起,将QR码嵌入到文档中。 此外,Ruby-QRcode库也支持SVG输出,这对于在Web应用中生成响应式...
Ruby-twittercldrrb是基于ICU(International Components for Unicode)的一个Ruby库,主要用于处理国际化(i18n)和本地化(l10n)任务。这个库为Ruby开发者提供了一套强大的工具,用于在应用程序中实现多语言支持...
这个压缩包可能包含了一系列关于如何使用 Ruby Mail 库的文档、示例代码或者教程。 Ruby Mail 的核心功能包括: 1. **邮件构造**:Ruby Mail 允许开发者通过提供必要的头部信息(如发件人、收件人、主题等)和邮件...
**Ruby-Mail:深入理解Ruby邮件库** Ruby-Mail是一个强大的Ruby库,专为处理电子邮件而设计。这个库使得在Ruby应用程序中创建、解析、发送和接收邮件变得轻而易举。Mail库提供了丰富的功能,包括解析MIME(多用途...
至于压缩包中的"ruby-1.9.3-p327",这是Ruby 1.9.3的一个具体发行版,其中可能包含了源码、编译工具、文档以及其他必要的文件,方便用户在不同平台上安装和使用Ruby 1.9.3。通常,开发者会通过解压这个文件,然后...
建议仔细研读这份文档,结合实际编码练习,加深对Ruby的理解。 总之,Ruby for Eclipse插件是Ruby开发者在Eclipse环境中不可或缺的工具,它提升了开发效率,简化了项目管理和调试流程。配合高质量的学习资料,如`...
Ruby-Geokit是一个强大的开源库,专为Ruby开发者设计,用于处理与地理位置相关的任务,如地理编码、反向地理编码以及进行距离和方向的计算。这个gem极大地简化了在Ruby应用中集成地理服务的工作,使得开发者能够轻松...
标题:"Ruby with MongoDB",描述:"用ruby开发web,使用nosql数据库,mongodb",标签:"ruby mongo db",这些信息揭示了文档主要讲述如何使用Ruby语言结合MongoDB数据库来开发Web应用,强调了MongoDB作为NoSQL...
Ruby 1.9.1中已经内置了JSON支持,能够方便地进行JSON数据的编码和解码。 5. 配置脚本和安装向导:指导用户完成安装过程,并根据用户的系统配置进行适当的设置。 6. 文档:包括API参考、教程和示例代码,帮助用户...
1. **字符串编码支持**:1.9.2开始支持Unicode编码,使处理多语言文本变得更加容易,为开发全球化应用提供了便利。 2. **块参数语法**:引入了新的块参数语法,允许更直观地处理代码块,如`|a, b|`,使得代码更加...
7. **文档支持**:可能集成了Ruby和SketchUp API的参考文档,方便用户查找函数和方法。 8. **版本控制**:可能与Git等版本控制系统集成,便于版本管理和协同开发。 在压缩包文件中,`as_rubyeditor.rb`可能是一个...
10. **集成文档**:集成Ruby文档和Rails API,可以在编码时随时查阅相关API和方法信息。 安装Ruby Eclipse插件非常简单,只需要将下载的压缩包解压后,将其中的插件文件复制到Eclipse的安装目录下的“dropins”...
在Ruby编程语言中,与阿里云API交互时,开发者经常需要处理一些公共参数,这些参数是请求接口必不可少的部分。阿里云API的公共参数通常包括AccessKeyId、SignatureMethod、SignatureVersion、Timestamp、Format、...
《Ruby编码风格指南》是社区驱动的一份重要资源,它为Ruby程序员提供了统一的编码规范和最佳实践。这份指南旨在提升代码的可读性、可维护性和团队协作效率。Ruby是一种灵活而富有表达力的编程语言,但也因此可能导致...
Streamio FFMPEG 是一个基于 Ruby 的库,它为 FFmpeg 提供了一个简洁而强大的接口,使得在 Ruby 开发环境中处理多媒体文件变得容易。FFmpeg 是一个广泛使用的跨平台工具集,用于处理音频和视频文件,包括转换、提取...
- **字符编码问题**:文档中出现了“Latin1StandardCharacterS”,这可能指的是Rails在处理不同字符编码时的配置选项。 总结以上内容,Ruby on Rails快速Web应用开发实战的文档详细介绍了Ruby编程语言和Rails框架的...