- 浏览: 84030 次
- 性别:
最近访客 更多访客>>
最新评论
-
Bernice_liu:
谢谢分享,受益匪浅,适合我——初学者
Ruby语言中文教程all in one -
何枫abc:
怎么感觉Ruby有点像C!!!
3.5 标识名和变量的作用域 3.6 类库 3.7 数据类型 -
何枫abc:
谢谢了!!!你写的很好,现在我正在学Ruby!!!
第二章 运行环境 -
yangzhihuan:
正想知道ruby是怎么样生成像javadoc那样的文档,多谢了 ...
3.1 注释与分行 -
whisper:
从lambda演算的角度说我们并不关心一个东西到底是什么,而只 ...
变量一定要有类型吗(一)
这里不是 Ruby语言的编码约定,只是建议,很少的一些建议。在语法正确的前提下,你可以按照自己的编码风格自由组织你的代码。
一. 命名
常量全用大写的字母,用下划线分割单词。例如:MAX, ARRAY_LENGTH。
类名和模块名用大写字母开头的单词组合而成。例如:MyClass, Person。
方法名全用小写的字母,用下划线分割单词。例如:talk, is_prime?。在Ruby里,有时将“!”和“?”附于某些方法名后面。惊叹号“!”暗示这个方法具有破坏性, 有可能会改变传入的参数。问号“?”表示这个方法是一个布尔方法,只会返回 true 或 false。
变量和参数用小写字母开头的单词组合而成。例如:name, currentValue。
类名、模块名、变量名、参数名最好使用“名词”或者“形容词+名词”。方法名最好使用“动词”或者“动词+名词”。例如:aStudent.talk 。
二. 空格和圆括号
关键字之后要留空格。
逗号“,”、 分号“;”之后要留空格。 “,”、 “;”向前紧跟,紧跟处不留空格。
赋值操作符、比较操作符、算术操作符、逻辑操作符,如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”等二元操作符的前后应当加空格。
一元操作符如“!”、“~”等之后不加空格。
象“[]”、“.”、“::”这类操作符前后不加空格。
函数名之后不要留空格,紧跟左圆括号“(”,以与关键字区别。左圆括号“(”向后紧跟,右圆括号“)”向前紧跟,紧跟处不留空格。
Ruby里圆括号常常被省略,看程序 E5.5-1.rb :
- #E5.5-1.rb
- def talk name
- "Hi! " + name
- end
- puts talk "kaichuan" # => Hi! kaichuan
- puts talk("kaichuan") # => Hi! kaichuan
- puts (talk "kaichuan") # => Hi! kaichuan
- puts (talk("kaichuan")) # => Hi! kaichuan
优先规则会自动确定哪个参数被哪个方法使用。但是,生活并不总是美好的,事情经常变得复杂,看程序 E5.5-2.rb :
- #E5.5-2.rb
- a=5
- b=3
- puts a>b ? "a>b" : "bbb" # => a>b
- puts (a>b)? ("a>b") : ("bbb") # => a>b
- #puts a>b? "a>b" : "bbb" 错误语句
最后一条语句,变量b 与三元条件运算符的问号“?”之间没有空格,没有圆括号,产生错误。所以建议除了极简单的情况,还是使用圆括号为好。
圆括号还可以把几个语句约束成一个语句集合,看程序 E5.5-3.rb :
- #E5.5-3.rb
- a = 3
- b = 1; a += b if 3 > 5
- print "a = ", a, "\n" # => a = 3
- print "b = ", b, "\n" # => b = 1
- c = 3
- (d = 1; c += d) if 3 > 5
- print "c = ", c, "\n" # => c = 3
- print "d = ", d, "\n" # => d = nil
条件为假,语句集合里的变量d 没有被赋值。
三. 使用 return
你在定义方法的时候,在最后一行可以显式地 return 某个值或几个值,但却不是必须的。 Ruby 方法的最后一行语句如果是表达式,表达式的值会被自动返回;最后一行语句如果不是表达式,就什么也不返回。
return 并不仅仅用在方法的最后一行。使用 break 你能够跳出本层循环,如果要从多重循环体中跳出,可以使用return ,结束这个方法; return还能够从方法的某个执行点立即退出,而不理会方法的其余代码,例如程序 E3.12-1.rb 的方法 is_prime?。
四. 注释
养成写注释的习惯吧!你见过没有路标的高速公路吗?
注释表明了一段代码块的功能、意图或是代码块的解释,应该简洁明了,错误的注释不如没有注释。一般地,注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不要放在代码的下方。
完整阅读,请看我写的 Ruby语言中文教程all in one
发表评论
-
8.4 迭代器、代码块、闭包
2007-02-13 06:25 1770先看一句代码: ruby 代码 (1..9). ... -
8.3 正则表达式
2007-02-13 06:13 1563一本入门小书,不想涉及正则表达式,但是正则表达式与Ruby语言 ... -
8.2 再说字符串
2007-02-13 06:07 1360一. 生成一个字符串 字 ... -
8.1 再说数组
2007-02-13 06:03 1488一. 建立一个数组 ruby 代码 #E8.1- ... -
7.4 require 和 load
2007-02-13 05:59 1365程序 E7.3-1.rb中先写了Me模块,然后include ... -
7.3 糅和(Mix-in) 与多重继承
2007-02-13 05:55 1812糅和,也译作混合插入,也许就称作 Mix-in 比较合适。 现 ... -
7.1 模块 7.2 命名空间
2007-02-13 05:50 22467.1 模块 我们常常把许 ... -
6.5 访问控制
2007-02-13 05:43 1200在Ruby里,要读取,或是改变对象的属性,唯一的途径是调用对象 ... -
6.4 单例方法
2007-02-13 05:16 1043同一份设计蓝图(类),不同的实例对象,可以表现出不同的行为特征 ... -
6.3 实例变量、类变量、类方法
2007-02-13 05:28 2277学习编程的过程,就是深化理解变量的过程。在面向对象编程中也不例 ... -
6.2 增强父类方法
2007-02-13 04:39 1051如果我们只是想增强父类的方法,而不是完全地替代它,就可以用关键 ... -
6.1 重载?重写
2007-02-13 04:11 1932在Java 中,重载(overload)和重写(overrid ... -
5.4 蓝图可以改变吗? ——动态语言
2007-02-13 03:28 780Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能, ... -
5.3 详解变量—— 动态类型
2007-02-13 03:22 1200变量是什么?变量有哪些特征呢?学习编程的过程,就是深化理解变量 ... -
5.1 为什么是Ruby? 5.2 Ruby会长久么?
2007-02-13 03:16 10305.1 为什么是Ruby? 现 ... -
4.5 多态
2007-02-13 03:07 800不同的子类继承一个父 ... -
4.4 继承
2007-02-13 03:04 839如果我们要写一个学生 ... -
4.3 封装
2007-02-13 02:53 935让我们来定义一个类,类名是Person,类名首字母要大写;属性 ... -
4.1 两种思维方式 4.2 对象
2007-02-13 02:47 9394.1 两种思维方式 人们 ... -
3.11 一个综合小练习
2007-02-13 02:05 1033还是求50以内的素数,尽可能地用到本章更多的语法,看程序 E3 ...
相关推荐
Mysql5.5安装包,下载后解压运行steup.bat开始安装,安装过程中在选择语言的时候记得选UTF-8,否则后续使用过程中会出现一些列的乱码问题,解决起来比较 麻烦,所以建议安装的时候就选好UTF-8作为默认编码,其他也没...
建议选择“UTF-8”,这是目前最通用的编码格式,能支持多种语言,避免了因编码问题导致的数据丢失或乱码。 4. **设置密码**:紧接着,你需要为root用户设置一个安全的密码。确保密码包含大写字母、小写字母、数字和...
在开始学习之前,建议查阅与本书相关的其他文档资源,以便更好地理解和应用VxWorks的功能。这些资源可能包括官方手册、API文档、示例代码等。 #### 3. VxWorks配置与构建 本章节介绍了如何设置VxWorks开发环境以及...
在探讨本次提供的信息之前,首先需要明确几个关键...综上所述,虽然本文提供了关于如何使用特定注册码激活MyEclipse 5.5的信息,但在实际操作过程中建议用户通过正规渠道购买正版软件,以获得更安全、稳定的使用体验。
但为了优化性能或磁盘空间管理,建议自定义这些路径,例如可以将数据库文件放置在D盘或E盘等其他非系统分区上。 #### 五、配置服务类型和网络端口 接下来是“服务类型和网络端口”配置页。这里可以设置MySQL服务的...
Servlet 2.4规范引入了更多的注解,增强了过滤器和监听器的功能,以及对URL编码和MIME类型处理的改进。JSP 2.0则带来了EL(Expression Language)的增强,使得开发者可以更方便地在JSP页面中访问JavaBean属性,同时...
【JDK1.5安装详解】 Java Development Kit (JDK) 是Java编程语言的核心组件,提供了编译、调试和运行Java应用程序所需的工具和...不过,由于这两个版本较旧,建议学习和使用最新稳定版,以便获取更好的性能和安全性。
同时,为了管理和维护多个实例,建议分别创建不同的数据目录,每个实例对应一个独立的配置文件,以区分不同的数据库设置。 总之,MySQL 5.5免安装版为需要快速部署和管理多个数据库实例的用户提供了一个方便的选择...
1. **代码提示**:利用CCS5.5的代码提示功能可以提高编码速度,减少错误。 2. **调试工具**:熟练掌握各种调试工具的使用,比如断点设置、单步执行等,能够快速定位和解决问题。 3. **性能分析**:CCS5.5提供了强大...
该软件的版本包括3.5、3.9和5.5,每个版本都有其独特的功能和优化,以满足不同用户的需求。 在描述中提到的"注册机"是用于生成N8相册设计软件的注册码的工具。通常,这类软件需要用户购买并激活才能获得完整功能。...
为了解决这个问题,我们需要对系统环境进行一些配置调整,下面将详细介绍整个解决过程。 1. **理解字符集与乱码**: - 在Linux系统中,字符集(Character Set)用于定义系统如何存储和显示文本,特别是非英文字符...
Zend Guard Loader 是一款由 Zend Technologies 开发的 PHP 编码保护工具,专用于 PHP 5.5 版本。它允许开发者对他们的 PHP 代码进行加密,以防止未经授权的复制、修改或反编译,从而保护知识产权。这款工具在PHP...
安装Oracle时,建议禁用SELinux或在系统中配置为非强制模式,同时关闭防火墙,因为它们可能会引起一些兼容性和连接问题。这可以通过修改配置文件并重启相关服务来实现。 3. **系统语言选择**: 为了避免在Oracle...
- 在配置向导中,依次设置服务器类型(开发机器或生产服务器)、数据库用途(多用途服务器或事务处理)、数据存储位置(建议不在安装目录下)、预期连接人数、字符集(推荐选择支持UTF-8的编码)等。 - 设置root...
然而,在处理Unicode编码时,bcc5.5可能会遇到一些兼容性问题。 #### 错误原因分析 当bcc5.5在构建Unicode项目时出现“不能链接到c0w32w.obj”的错误,主要原因是bcc5.5默认的链接器设置与Windows平台上的Unicode...
因此,强烈建议用户通过合法途径获取MyEclipse许可证,支持正版软件的发展。如果遇到软件授权问题,应直接联系软件供应商寻求解决方案,而不是寻找非法途径。这样既能避免法律纠纷,也能维护良好的市场秩序和个人...