Ruby教程之注释、变量声明以及数组操作_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中的字符串、判断语句以及循环语句等。敬请继续关注!

时间: 2024-07-30 10:34:04

Ruby教程之注释、变量声明以及数组操作_ruby专题的相关文章

Ruby中的方法(函数)学习总结_ruby专题

1.Ruby中方法名和变量名的命名规则一样(以小写字母开头,单词之间的分隔使用"_",),不过可以在方法名后边带上!(重磅方法)或者?(布尔类型返回值). 2.方法的参数请使用(),参数都是局部变量,可以为这些参数设置默认值,带"*"的参数是可选动态参数,可以传入一个或者多个,如果有普通参数,也有可选参数,可选参数要放在最后,如下边示例代码. 复制代码 代码如下: def read_book(chinese='水浒传',english='Jane Eyre',*ot

Ruby中的反射(Reflection)应用实例_ruby专题

在Java语言中,提供了发射机制,通过发射机制可以通过字符串构造出这个对象,可以获取对象的所有方法(包括私有方法),可以调用私有方法,可以更改成员变量的值(包括私有的成员变量).Ruby也是面向对象的高级语言,当然也提供了反射机制,今天我们讨论通过类名称构造类对象的功能. 一.通过类名称构造类对象 我们先看普通的构造: 复制代码 代码如下: module ModuleA     #the class name, later we will use it to create the corresp

Ruby面向对象编程中类与方法的基础学习_ruby专题

打开类和猴子补丁 在Ruby中,类定义的方法和其他的语句没有任何区别,都是一行一行的执行下去的.如下例子: class Example def method_1 puts "method 1" end end class Example def method_2 puts "method 2" end end 本例中,当第一次定义Class Example的时候,还没有一个叫做Example的Class存在,因此,Ruby开始定义这个类,当后面在定义这个类时,Rub

对优化Ruby on Rails性能的一些办法的探究_ruby专题

1.导致你的 Rails 应用变慢无非以下两个原因: 在不应该将 Ruby and Rails 作为首选的地方使用 Ruby and Rails.(用 Ruby and Rails 做了不擅长做的工作) 过度的消耗内存导致需要利用大量的时间进行垃圾回收. Rails 是个令人愉快的框架,而且 Ruby 也是一个简洁而优雅的语言.但是如果它被滥用,那会相当的影响性能.有很多工作并不适合用 Ruby and Rails,你最好使用其它的工具,比如,数据库在大数据处理上优势明显,R 语言特别适合做统计

Terry七月Ruby读书笔记(比较详细)第1/4页_ruby专题

Page 3 概述 ¨         解释执行:Python,Ruby,交互性很好: ¨         编译执行:Pascal, C,速度较快. n         本地执行,如C,C++: n         虚拟机执行,如Java, C#.   ¨         动态语言,如JavaScript,Ruby: ¨         静态语言,如C++,Java.   语言 ¨         语法 关键字 ¨         语义 ¨         语用   松本行弘(Matz) 199

Ruby中一些基本语法知识点的罗列汇总_ruby专题

 让我们写一个简单的ruby程序.所有Ruby源文件将以扩展名.rb.因此,把下面的源代码在一个test.rb文件. #!/usr/bin/ruby -w puts "Hello, Ruby!"; 在这里,假定您已经安装有Ruby解释器,可以在/usr/bin目录找到.现在尝试运行此程序如下: $ ruby test.rb 这将产生以下结果: Hello, Ruby! 通过以上实例,我们已经看到了一个简单的Ruby程序,现在让我们来看看有关Ruby语法的几个基本概念: Ruby程序中的

实例解析Ruby设计模式编程中Strategy策略模式的使用_ruby专题

今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急着要去开会.要帮什么忙呢?你很好奇. 他对你说,当前你们项目的数据库中有一张用户信息表,里面存放了很用户的数据,现在需要完成一个选择性查询用户信息的功能.他说会传递给你一个包含许多用户名的数组,你需要根据这些用户名把他们相应的数据都给查出来. 这个功能很简单的嘛,你爽快地答应了.由于你们项目使用的是MySQL数据库,你很快地写出了如下代码: require 'mysql' class QueryUtil def find_us

Ruby 中一些百分号(%)的用法小结_ruby专题

%Q 用于替代双引号的字符串. 当你需要在字符串里放入很多引号时候, 可以直接用下面方法而不需要在引号前逐个添加反斜杠 (\") 复制代码 代码如下: >> %Q(Joe said: "Frank said: "#{what_frank_said}"")=> "Joe said: "Frank said: "Hello!""" (...)也可用其他非数字字母的符号或成对的符号代替

Ruby实现二分搜索(二分查找)算法的简单示例_ruby专题

在计算机科学中,二分搜索(英语:binary search),也称折半搜索(英语:half-interval search).对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法.搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束:如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较.如果在某一步骤数组为空,则代表找不到.这种搜索算法每一次比较都使搜索范围缩小一半