Ruby教程之注释、变量声明以及数组操作

前两天在“博客园”上看了一篇文章“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中的字符串、判断语句以及循环语句等。敬请继续关注!

(0)

相关推荐

  • 解读Ruby中注释的使用方法

    Ruby行内注释的代码在运行时被忽略.单行注释#字符开始,他们从#到行末如下: #!/usr/bin/ruby -w # This is a single line comment. puts "Hello, Ruby!" 上述程序执行时,会产生以下结果: Hello, Ruby! Ruby的多行注释 可以注释掉多行使用 =begin 和 =end 语法如下: #!/usr/bin/ruby -w puts "Hello, Ruby!" =begin This is

  • 编写Ruby代码注释时需要注意的一些问题

    写出自解释文档代码,然后让这部分歇息吧.这不是说着玩.     使用英文编写注释.     使用一个空格将注释与符号隔开.     注释超过一个单词了,应句首大写并使用标点符号.句号后使用 一个空格 避免多余的注释. # bad counter += 1 # increments counter by one 随时更新注释,没有注释比过期的注释更好. 不要为糟糕的代码写注释.重构它们,使它们能够"自解释".(Do or do not - there is no try.) 注解应该写在

  • Ruby教程之注释、变量声明以及数组操作

    前两天在"博客园"上看了一篇文章"PHP基础教程",介绍PHP的,感觉挺好.D瓜哥在学Ruby,正好也写一篇"Ruby入门教程".需要说明一下,这篇文章适合有编程基础的,但是没接触过Ruby的新手.而且,这篇文章侧重入门,老鸟可以直接飞过.(如果能帮忙检查一下是否有描述不当,甚至错误的地方,也欢迎来踩两脚.D瓜哥感激不尽.) Ruby环境搭建 在Windows下,搭建Ruby环境,比较简单的方法是在"RubyInstaller"

  • JAVA学习笔记:注释、变量的声明和定义操作实例分析

    本文实例讲述了JAVA学习笔记:注释.变量的声明和定义操作.分享给大家供大家参考,具体如下: 本文内容: 注释 变量的声明和定义 成员变量和局部变量 首发时间:2018-03-16 15:59 注释: 单行注释:// 多行注释:/* - */ 变量: 变量是内存中的一个存储区域,变量的定义就是给每一个变量名定义一个内存区域 JAVA中定义变量的格式为: 数据类型 变量名=初始化值,比如 变量可以先声明再定义,也可以声明并定义. 同类的变量可以一起声明,一起定义. 变量的使用要注意: 1.变量的作

  • Kotlin基础教程之函数定义与变量声明

    Kotlin基础教程之函数定义与变量声明 可以看到,函数定义就是 <访问控制符> <函数名> <参数列表> <:返回类型(不写就是无返回类型)> { 函数体 } 单语句函数可以简写,比如add函数和add1函数效果是一样的 变量定义 var <标识符> : <类型> = <初始化值> 常量定义 val <标识符> : <类型> = <初始化值> 常量与变量都可以没有初始化值,但是在引用前

  • JavaScript进阶(一)变量声明提升实例分析

    本文实例讲述了JavaScript变量声明提升.分享给大家供大家参考,具体如下: 如下代码输出的结果是? var num = 123; function foo1(){ console.log( num ); //undefined var num = 456; console.log( num ); //456 } foo1(); Javascript代码执行分为两个大步: 预解析的过程 代码的执行过程 1.预解析与变量声明提升 程序在执行过程中,会先将代码读取到内存中检查,会将所有的声明在此

  • JavaScript判断变量是否为数组的方法(Array)

    今天小编给大家整理些关于javascript判断变量是否是数组(Array)的相关知识,主要通过以下四点给大家展开话题,具体内容如下所示: 1. typeof真的那么厉害吗?? //首先看代码 var ary = [1,23,4]; console.log(typeof ary); //输出结果是Object 上面的办法并不能实时的检测出是否是数组,只能判断其类型,所以说typeof判断基本类型数据还是挺好的,但是不能准确测试出是否是数组(typeof的具体用法以后提及,现在回归正题) 2.in

  • Go语言中的变量声明和赋值

    1.变量声明和赋值语法 Go语言中的变量声明使用关键字var,例如 复制代码 代码如下: var name string //声明变量 name = "tom" //给变量赋值 这边var是定义变量的关键字,name是变量名称,string是变量类型,=是赋值符号,tom是值.上面的程序分两步,第一步声明变量,第二步给变量赋值.也可以将两步合到一起. 复制代码 代码如下: var name string = "tom" 如果在声明时同时赋值,可以省略变量类型,Go语

  • 基于Java class对象说明、Java 静态变量声明和赋值说明(详解)

    先看下JDK中的说明: java.lang.Object java.lang.Class<T> Instances of the class Class represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class tha

  • JavaScript变量声明var,let.const及区别浅析

    var声明变量的作用域限制在其声明位置的上下文中 var x = 0; // x是全局变量,并且赋值为0. console.log(typeof z); // undefined,因为z还不存在. function a() { // 当a被调用时, var y = 2; // y被声明成函数a作用域的变量,然后赋值成2. console.log(x, y); // 0 2 function b() { // 当b被调用时, x = 3; // 全局变量x被赋值为3,不生成全局变量. y = 4;

  • JavaScript的变量声明与声明提前用法实例分析

    本文实例讲述了JavaScript的变量声明与声明提前用法.分享给大家供大家参考,具体如下: JavaScript的变量声明 JavaScript的变量声明语句无论出现在何处,都会先于其他代码首先被执行.使用var关键词声明变量的作用域是当前的执行上下文,有可能是外围函数,或者,当变量声明在函数体之外时,则为全局变量. 向一个未声明变量赋值会隐式地将其创建为一个全局变量(它变成了全局对象的一个属性).声明变量与未声明变量之间的区别为: 1. 声明变量的作用范围限定在其执行的上下文环境中.未声明的

  • JavaScript中的变量声明你知道吗

    目录 变量 (一)var 1)关于var声明的变量的作用域 2)var声明提升(hoist) (二)let 1)与var不同,let声明的变量不会再作用域中被提升,这一现象被称为“暂时性死区” 2)全局声明 (三)Const 总结 变量 ECMAScript中,变量可以保存任何类型的数据(既可以是字符串也可以是数组也可以是别的……),也即“松散的”,变量只是一个用来区分的占位符,一共有var.const.let三个关键字用于声明变量(var在ECMAScrip所有版本可用,后两个只在ES6及以后

随机推荐