前两天在“博客园”上看了一篇文章“PHP基础教程”,介绍PHP的,感觉挺好。D瓜哥在学Ruby,正好也写一篇“Ruby入门教程”。需要说明一下,这篇文章适合有编程基础的,但是没接触过Ruby的新手。而且,这篇文章侧重入门,老鸟可以直接飞过。(如果能帮忙检查一下是否有描述不当,甚至错误的地方,也欢迎来踩两脚。D瓜哥感激不尽。)
Ruby环境搭建
在Windows下,搭建Ruby环境,比较简单的方法是在“RubyInstaller”上下载一个合适的版本(D瓜哥使用的是最新版),直接安装就可以了。
另外,吐槽两句,网上有人说Windows不适合搞Ruby开发,刚开始D瓜哥不信,昨天因为搭建Ruby on Rails的环境,Mysql数据库的驱动死活安装不成功!太折腾人了。所以,如果真的想玩Ruby,还是使用Linux系统吧。
Ruby的注释
和其他常见编程语言一样,Ruby也分为“单行注释”和“多行注释”。不同的是,Ruby使用的注释符号和Java、C/C++等编程语言不一样。
另外,Ruby偏好使用单行注释:
复制代码 代码如下:
# this is a comment line
# this is a comment line
Ruby中,多行注释比较少见,D瓜哥是接触Ruby十几天后才知道多行注释的语法,之前一直在纳闷多行语法该怎么写。
复制代码 代码如下:
=begin
This ia comment.
this is two comment
=end
上述代码中,高亮的两行代码是注释的开头和结尾,这两行的开头必须和上述代码保持一直,否则报错。经过D瓜哥的测试,开头后面可以添加注释。
Ruby的变量
Ruby变量的命名有自己的特点:变量的第一个字母是用来表明变量用途。具体情况如下:
局部变量,方法参数和方法名通常都是以小写字母或者下划线开头的;
全局变量以$开头;
实例变量以@开头;
类变量以@@开头;
类名,模块名和常量以大写字母开头。
Ruby变量的命名规则是:变量名是以小写字母或者下划线开始(D瓜哥在IRB中测试,也可以使用$开头,但是使用_$开头就会报错;使用$_开头没有问题),其后由大小写英文字母,数字和下划线组成。变量名是区分大小写的,变量名的字符长度没有限制。另外,需要注意的是,给变量命名的时候,尽量遵守上面的根据变量首字母分类的约定。D瓜哥认为:变量的命名,可以反应出一个程序猿的代码素养。
复制代码 代码如下:
mystr = "Are you ready" # 局部变量
class Person #类名
@@year = 2013 # 类变量
def initialize(name) # 构造函数名
@name = name # 示例变量
end
def name # 方法名
@name
end
def name=(name)
@name = name
end
end
puts mystr
数组
废话少说,直接上代码。
复制代码 代码如下:
## 1、数组定义
arr1 = []
arr2 = Array.new
arr3 = ['1','2','3']
## 2、输出
puts "Output:\n"
print arr3,"\n" # 输出:["1", "2", "3"]
puts arr3[0] # 输出:1
print arr3.join(",") # 输出:1,2,3
## 3、访问数组元素
puts "\nArray Element\n"
puts "\n", arr3[0]
puts "\n", arr3[-1] #这个比较有意思,意思是最后一个的数据
puts "\n", arr3.first
puts "\n", arr3.last
puts "\n", arr3.max
puts "\n", arr3.min
puts "\n", arr3.length
puts "\n", arr3.size
## 4、数组操作
puts "\nArray method\n"
puts "\n", arr3[4] = '5' #此时arr3[3]默认尾nil
puts "\n", arr3.delete_at(3) #删除指定下标的元素
puts "\n", arr3[2] = ["3a","3b","3c"] #可以这样来做
puts "\n", arr3.delete(["3a","3b","3c"]) #可以删除上面添加的
puts "\n", arr3.push('6') #插入元素
puts "\n", arr3.insert(3,"b") #在指定位置插入新元素
puts "\n", arr3<<"f"<<2 #从左至右一次加入元素
puts "\n", arr3.pop #删除尾元素
puts "\n", arr3.shift #删除首元素
puts "\n", arr3.clear #清空数组
## 5、数组运算
puts "\nArray Operator\n"
aaa = [" aa ",4,5," bb "]
bbb = [4,1,3,2,5]
print aaa + bbb,"\n" # 输出:[" aa ", 4, 5, " bb ", 4, 1, 3, 2, 5]
print aaa*2,"\n" # 输出:[" aa ", 4, 5, " bb ", " aa ", 4, 5, " bb "]
print bbb - aaa,"\n" # 输出:[1, 3, 2]
print aaa | bbb,"\n" # 输出:[" aa ", 4, 5, " bb ", 1, 3, 2]
print aaa & bbb,"\n" # 输出:[4, 5]
print bbb.sort,"\n" # 输出:[1, 2, 3, 4, 5] 排序
print aaa.reverse,"\n" # 输出:[" bb ", 5, 4, " aa "] 倒置
print bbb.sort.reverse,"\n" # 输出:[5, 4, 3, 2, 1] 降序
由于Ruby的迭代器及其强大,在Ruby编程中,利用数组的这些函数再加上迭代器可以写出非常“炫”的代码!
这一节,D瓜哥介绍了Ruby中的注释、变量声明以及数组操作。下一节,D瓜哥将介绍Ruby中的字符串、判断语句以及循环语句等。敬请继续关注!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 黑鸭子2008-男人女人[首版][WAV+CUE]
- 张佳佳 《FOLK SONG Ⅱ Impromptus OP.23(即兴曲7首)》[320K/MP3][98.71MB]
- 祖海 《我家在中国 (维也纳金色大厅独唱音乐会)》[320K/MP3][118.55MB]
- 祖海 《我家在中国 (维也纳金色大厅独唱音乐会)》[FLAC/分轨][268.08MB]
- 张信哲.1996-思念【EMI百代】【WAV+CUE】
- 江美琪.2024-圆的?圆的>华纳】【FLAC分轨】
- 许巍.2018-无尽光芒【和雅弘嘉】【WAV+CUE】
- 庆怜 CAELAN《THE HALF-BLOOD PRINCE 半血王子》[320K/MP3][65.72MB]
- 庆怜 CAELAN《THE HALF-BLOOD PRINCE 半血王子》[FLAC/分轨][378.53MB]
- Fine乐团《废墟游乐》[320K/MP3][105.13MB]
- 万山红.2009-花开原野万山红Vol.1-2【柏菲】2CD【WAV+CUE】
- 曾庆瑜1992-18首中英文经典全集[台湾派森][WAV整轨]
- 【上扬爱乐】群星-TheSoundsofLS35AVol.4情迷4【低速原抓WAV分轨】
- Fine乐团《废墟游乐》[Hi-Res][24bit 48kHz][FLAC/分轨][767.04MB]
- Cicada《回返 (十五周年自选集)》[320K/MP3][93.87MB]