- 浏览: 82381 次
- 性别:
最近访客 更多访客>>
最新评论
-
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 1733先看一句代码: ruby 代码 (1..9). ... -
8.3 正则表达式
2007-02-13 06:13 1527一本入门小书,不想涉及正则表达式,但是正则表达式与Ruby语言 ... -
8.2 再说字符串
2007-02-13 06:07 1260一. 生成一个字符串 字 ... -
8.1 再说数组
2007-02-13 06:03 1383一. 建立一个数组 ruby 代码 #E8.1- ... -
7.4 require 和 load
2007-02-13 05:59 1313程序 E7.3-1.rb中先写了Me模块,然后include ... -
7.3 糅和(Mix-in) 与多重继承
2007-02-13 05:55 1774糅和,也译作混合插入,也许就称作 Mix-in 比较合适。 现 ... -
7.1 模块 7.2 命名空间
2007-02-13 05:50 22097.1 模块 我们常常把许 ... -
6.5 访问控制
2007-02-13 05:43 1122在Ruby里,要读取,或是改变对象的属性,唯一的途径是调用对象 ... -
6.4 单例方法
2007-02-13 05:16 1006同一份设计蓝图(类),不同的实例对象,可以表现出不同的行为特征 ... -
6.3 实例变量、类变量、类方法
2007-02-13 05:28 2242学习编程的过程,就是深化理解变量的过程。在面向对象编程中也不例 ... -
6.2 增强父类方法
2007-02-13 04:39 973如果我们只是想增强父类的方法,而不是完全地替代它,就可以用关键 ... -
6.1 重载?重写
2007-02-13 04:11 1892在Java 中,重载(overload)和重写(overrid ... -
5.4 蓝图可以改变吗? ——动态语言
2007-02-13 03:28 748Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能, ... -
5.3 详解变量—— 动态类型
2007-02-13 03:22 1103变量是什么?变量有哪些特征呢?学习编程的过程,就是深化理解变量 ... -
5.1 为什么是Ruby? 5.2 Ruby会长久么?
2007-02-13 03:16 9765.1 为什么是Ruby? 现 ... -
4.5 多态
2007-02-13 03:07 771不同的子类继承一个父 ... -
4.4 继承
2007-02-13 03:04 797如果我们要写一个学生 ... -
4.3 封装
2007-02-13 02:53 897让我们来定义一个类,类名是Person,类名首字母要大写;属性 ... -
4.1 两种思维方式 4.2 对象
2007-02-13 02:47 8934.1 两种思维方式 人们 ... -
3.11 一个综合小练习
2007-02-13 02:05 996还是求50以内的素数,尽可能地用到本章更多的语法,看程序 E3 ...
相关推荐
Mysql5.5安装包,下载后解压运行steup.bat开始安装,安装过程中在选择语言的时候记得选UTF-8,否则后续使用过程中会出现一些列的乱码问题,解决起来比较 麻烦,所以建议安装的时候就选好UTF-8作为默认编码,其他也没...
追梦FCMS5.4是梦想网络第5套flash模板系统,为5.3升级版,追梦flash网站模板5.4版本增加了一些新的功能,也修复了一些bug,追梦5系列模板不断完善起来,有很多人提了很多建议,也提出了很多方案,我们只能选择性的...
7)VBV缓冲区大小:缓冲区大的话,编码优化会好一些,但是解码的时候也要求大一些的缓冲区。因此,vcd/svcd标准中参数是固定的,否则可能机器无法播放。 8)Pofile & level(类别与级别): 这个参数是mpeg1没有的。...
3.9.2 建议配置 12 第4章 总体设计 13 4.1 引言 13 4.2 系统布局设计 13 4.3 总体结构图 14 4.4 本人主要工作任务 15 第5章 详细设计 16 5.1 引言 16 5.2 系统功能流程图 16 5.3系统目录结构设计 17 5.4 数据库设计...
1、建议在服务器上面安装宝塔面板,以便操作,高逼格技术员可以忽略这步操作。 2、把安装包文件解压到根目录,同时建立数据库,把数据文件导入数据库 3、修改核心文件config/inc_config.php把数据库信息替换成你的...
为了充分利用多天线系统中后合并混合自动重传请求(HARQ)结构...仿真结果表明,当传输次数为4时,所建议的方案相对于空间复用方案在误比特率为10-4时约有5.5dB的信噪比增益,并且随着重传次数的增加性能差异更加明显。
2自组装建议。 5 3接收器的外观。控制和结构要素6 4打开和关闭接收器。 9 5个用户界面。 10 5.1主屏幕指示灯10 5.2常规菜单12 5.3 HARD菜单13 5.4时钟菜单17 5.5 LCD菜单18 5.6音频20菜单 6基本功能及其使用22 6.1...
5.7 建议采用的一些规则 5.8 可灵活运用的一些规则 5.9 标准化代码示例 5.10 成对编码规则 5.10.1 成对编码的实现方法 5.10.2 成对编码中的几点问题 5.11 正确的成对编码的工程编程方法 5.11.1 编码前的工作 ...
5.1.4 系统模块分配(编码) 4 5.1.5 单元测试 4 5.2 测试与执行 4 5.2.1 功能性测试 4 5.2.2 性能、效率测试 4 5.2.3 安全性测试 4 5.2.4 压力测试 4 5.2.5 可靠性测试 4 5.2.6 模拟各种环境安装测试 5 5.3 内部...
5.7 建议采用的一些规则 236 5.8 可灵活运用的一些规则 238 5.9 标准化代码示例 239 5.10 成对编码规则 243 5.10.1 成对编码的实现方法 243 5.10.2 成对编码中的几点问题 248 5.11 正确的成对编码的工程编程方法 251...
建议使用Mysql的5.5/5.6版本以实现最高执行效率。 # 组件要求 | PHP:本程序支持PHP5.2及以上版本 | MySQL:必须开启MySQLi扩展,否则无法连接数据库 | fsockopen:不支持将导致采集、远程资料本地化等功能无法...
卸载这个软件 rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64 这时要下载mysql 的 repo源,建议⽤阿⾥云源,这⾥我们就⽤迅雷去下载repo源会好些 3.先下载迅雷(wget)并安装好 yum install -y wget 5.开始安装...
1.7 CDMA系统的建议标准 6 第二章 关键技术 7 2.1 功率控制 7 2.1.1 功率控制概述 7 2.1.2 功率控制分类 8 2.1.3 反向开环功率控制算法 8 2.1.4 反向闭环功率控制算法 9 2.2 地址码的选择 10 2.3 软切换 11 2.4 分集...
5.5 PAD相关协议……………… 5.5.1PAD建议及功能………… 5.5.2 又3镁窥义———hhu。——… 55.3 又2a建议……………… 5.5.4x 29建议……………… 5.6x.75/及32/x.121建议…… 561 x.75建议...
5.5家庭收支模块 3 5.6银行账户管理模块 3 5.7统计模块 3 6 编码 3 6.1 概述开发工具及编程脚本 3 6.1.1 WEB服务器简介 3 6.1.2 MYSQL数据库系统简介 3 6.1.3 JSP简介 3 6.2 脚本习惯说明 3 6.3 编码 3 7 测试 3 ...
5.7 建议采用的一些规则 236 5.8 可灵活运用的一些规则 238 5.9 标准化代码示例 239 5.10 成对编码规则 243 5.10.1 成对编码的实现方法 243 5.10.2 成对编码中的几点问题 248 5.11 正确的成对编码的工程编程方法 251...
5.5常见提示信息样式 6 5.6常见错误信息样式 7 5.7其他界面约定 7 六、软件编码设计标准与规范 7 6.1对象命名约定 7 6.2常量和变量命名约定 8 6.3结构化编码约定 8 6.4数据源的约定 9 6.5数据库访问约定 9 6.6其他...
5.5 从营销管理方面 16 6 企业报表 17 6.1 化纤企业的外部报表 17 6.2 化纤企业的内部报表 18 依据中国石化ERP项目整体规划、试点推进的战略部署,根据中国石化ERP项目指导委员会和ERP试点项目领导小组...
人事档案管理系统适用于中小企业以及微型企业的人事管理系统。 人事档案管理系统采用utf8的编码方式,采用...5、环境要求:php5.5版本及以上,建议用php7 人事档案管理系统截图 相关阅读 同类推荐:站长常用源码