1. Ruby环境搭建

  在Windows下,搭建Ruby环境,比较简单的方法是在“RubyInstaller”上下载一个合适的版本(D瓜哥使用的是最新版),直接安装就可以了。

  另外,吐槽两句,网上有人说Windows不适合搞Ruby开发,刚开始D瓜哥不信,昨天因为搭建Ruby on Rails的环境,Mysql数据库的驱动死活安装不成功!太折腾人了。所以,如果真的想玩Ruby,还是使用Linux系统吧。

2. Ruby的注释

  和其他常见编程语言一样,Ruby也分为“单行注释”和“多行注释”。不同的是,Ruby使用的注释符号和Java、C/C++等编程语言不一样。

  另外,Ruby偏好使用单行注释:

# This is a comment line
# This is a comment line

  Ruby中,多行注释比较少见,D瓜哥是接触Ruby十几天后才知道多行注释的语法,之前一直在纳闷多行语法该怎么写。

=begin
This is comment.
This are two comments.
=end

  上述代码中,高亮的两行代码是注释的开头和结尾,这两行的开头必须和上述代码保持一直,否则报错。经过D瓜哥的测试,开头后面可以添加注释。

3. Ruby变量

  Ruby变量的命名有自己的特点:变量的第一个字母是用来表明变量用途。具体情况如下:

  1. 局部变量,方法参数和方法名通常都是以小写字母或者下划线开头的;
  2. 全局变量以$开头;
  3. 实例变量以@开头;
  4. 类变量以@@开头;
  5. 类名,模块名和常量以大写字母开头。

  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

4. 数组  

废话少说,直接上代码。

##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"
p arr3[0]
p arr3[-1]  #输出最后一个数据
p arr3.first
p arr3.last
p arr3.max
p arr3.min
p arr3.length
p arr3.size ##4. 数组操作
puts "\nArray method\n"
p arr3[4] = '5' #此时arr3[3]默认为nil
p arr3.delete_at(3) #删除指定下标的元素
p arr3[2] = ["3a", "3b", "3c"]
p arr3.delete(["3a", "3b", "3c"])
p arr3.push('6')
p arr3.insert(3, 'b')
p arr3<<"f"<<2 #从左到右依次加入元素
p arr3.pop        #删除尾元素
p arr3.shift       #删除首元素
p arr3.clear ##5. 数组运算
p "Array Operator"
aaa = ["aa", 4, 5, "bb"]
bbb = [4, 1, 3, 2, 5]
p aaa + bbb    #输出:["aa", 4, 5, "bb", 4, 1, 3, 2, 5]
p aaa * 2      #输出:["aa", 4, 5, "bb", "aa", 4, 5, "bb"]
p bbb - aaa    #输出:[1, 3, 2]
p aaa | bbb    #输出:["aa", 4, 5, "bb", 1, 3, 2]
p aaa & bbb    #输出:[4, 5]
p bbb.sort     #输出:[1, 2, 3, 4, 5]
p aaa.reverse   #输出:["bb", 5, 4, "aa"]
p bbb.sort.reverse

  由于Ruby的迭代器及其强大,在Ruby编程中,利用数组的这些函数再加上迭代器可以写出非常“炫”的代码!

  这一节,D瓜哥介绍了Ruby中的注释、变量声明以及数组操作。下一节,D瓜哥将介绍Ruby中的字符串、判断语句以及循环语句等。敬请继续关注!

参考资料

  1. Ruby 类的属性、变量、常量和方法定义
  2. Ruby程式語言入門
  3. Ruby数组操作的总结
  4. Ruby字符串处理函数总结列表分享
作 者:D瓜哥,http://www.diguage.com/
原文链接:http://www.diguage.com/archives/92.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

【转】Ruby入门教程(一)的更多相关文章

  1. Ruby入门教程和技巧

    转自:http://blog.csdn.net/cqfz123/article/details/1349050   Ruby真的比Java更好? Ruby On Rails 创始人:对Java 说再见 ...

  2. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

  3. 转:几十种编程语言的快速入门教程- learnxinyminutes.com

    原文来自于:http://top.jobbole.com/15551/ 这家网站的名称是 Learn X in Y minutes,包括了几十种编程语言的快速学习入门教程.打开几种编程语言来看了一下, ...

  4. Ruby入门--Linux/Windows下的安装、代码开发及Rails实战

    Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...

  5. nodejs【伪】入门教程

    声明: 本文适合白的不能再白的小白 不要被标题误导,本文不会讲nodejs基础,只是本人学习流程和资料的一个整合 如果想找一大堆教程自己看,没有电梯,自己拉到文章最下方吧   一.nodejs是什么 ...

  6. TensorFlow 中文资源全集,官方网站,安装教程,入门教程,实战项目,学习路径。

    Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...

  7. laravel 中CSS 预编译语言 Sass 快速入门教程

    CSS 预编译语言概述 CSS 作为一门样式语言,语法简单,易于上手,但是由于不具备常规编程语言提供的变量.函数.继承等机制,因此很容易写出大量没有逻辑.难以复用和扩展的代码,在日常开发使用中,如果没 ...

  8. Apache Solr入门教程(初学者之旅)

    Apache Solr入门教程(初学者之旅) 写在前面:本文涉及solr入门的各方面,建议边思考边实践,相信能帮助你对solr有个清晰全面的了解并能简单实用. 在Apache Solr初学者教程的这个 ...

  9. org-mode入门教程

    org-mode 入门教程By Z.H. Fu 切问录 www.fuzihao.org org-mode 入门教程 org-mode是Emacs提供的一个强大的编辑模式,可以用于做会议笔记以及制作各种 ...

随机推荐

  1. 【C#学习笔记】播放wma/mp3文件

    using System; using System.Runtime.InteropServices; namespace ConsoleApplication { class Program { [ ...

  2. ORACLE CLIENT客户端安装步骤详解

    下载地址: http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip 先将下载下来的ZIP文件解压,并运行se ...

  3. Android粘贴板的运用

    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); clipboa ...

  4. 顶 企业站常用css横向导航菜单

    <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/T ...

  5. Android-取消GridView/ListView item被点击时的效果

    方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...

  6. 国外主流PHP框架比较

    最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考. 主要参考的框架包括:CodeIg ...

  7. Windows安装pomelo过程

    安装总要出点状况的.操作系统是win7 64bit. 为了保证顺利,打开的是VS2012命令行提示.运行 npm install -g pomelo 经过一系列输出,最后安装提示完成了.但是输入 po ...

  8. PackageManager获取版本号

    PackageInfo代表的是关于一个包的所有信息,就相当于一个APP应用的清单文件中收集到的所有信息. 通过这个类我们就可以获取类似版本号等一些信息. /** * 得到应用程序的版本名称 */ pr ...

  9. 自学hadoop(二)

    1)NameNode为主  DataNode为从 2)JobTracker为主 TaskTracker为从 3)开启调试模式 export HADOOP_ROOT_LOGGER=DEBUG,conso ...

  10. Redis3.0 Install

    Installation Download, extract and compile Redis with: $ wget http://download.redis.io/releases/redi ...