设为首页 加入收藏

TOP

ruby 基础知识(一)(一)
2017-10-10 12:07:40 】 浏览:2465
Tags:ruby 基础知识

  突然今天发现一大神的博客:http://www.cnblogs.com/jackluo/archive/2013/01/22/2871655.html    相信初学者会受益颇多

ruby  参考文档:http://www.tutorialspoint.com/ruby/

关于ruby 的算法:http://liuzxc.github.io/blog/sorting-algorithm/

变量类型

描述

示例

局部变量(或伪变量)

以小写字母或下划线卡头

var    _var

全局变量

以$开头

$var

类变量

类中定义,以@@开头

@@var

实例变量

对象中定义,以@开头

@var

常量

以大写字母开头

Var

一 ruby 中的关键字
 
 1.模块定义:module
 
 2.方法定义:def , undef
 
 3.检查类型:defined?
 
 4.循环语句:redo 重新开始循环,从这一次开始,retry 重头开始这个循环体,yield ,next 忽略本次循环的剩余部分,开始下一次的循环
 
 5.逻辑判断:not ,and ,or
 
 6.空值:true ,false , nil
 
 7.异常处理:rescue ,ensure
   Ruby中用begin/end …rescue…ensure … raise 来处理异常,retry可以用在rescue中。可以只用rescue或是ensure,两者都使用时,rescue必须在ensure前。
 
 8.对象引用:super ,self
 
 9.块的起始:begin/end
 
 10.文件相关:__FILE__ , __LINE__
 
 11.别名: alias
 
二 ruby的数据类型
 
 1.数字,字符串,数组,哈希表,区间,正则表达式
 
 2.数组的每个元素可以是不同的类型:[ 2.4, 99,“thank you”,[ a, b ,c ] ,78 ]
 
 3.区间:1..5 表示1,2,3,4,5 
         1...5表示1,2,3,4 
 
三 ruby 的赋值运算(#号后面的是结果)
 
 a = 1 ;b = 2 + 3 #a=1 ,b=5
 
 a ,b = b ,a      #a=5 ,b=1
 
 a = b = 1 + 2 + 3 #a=6 ,b=6
 
 a = (b = 1 + 2) + 3 #a=6 ,b=3
 
 x = 0 #x=0
 
 a,b,c = x, (x+1), (x+2) #a=0 ,b=1,c=2
 
四 条件运算符
 
<=>
比较两个对象的大小,大于、等于、小于 分别返回1,0,-1
"aab" <=> "acb" # -1 (第二个 a 的 ASCII 码小于 c)
 
[5] <=> [4,9] # 1 (第一个元素 5 > 4)
 
 
===
右边的对象是否在左边区间之内,返回 true, flase
puts (0..9)=== 3.14 #true
puts ('a'..'f')=== 'c' # true
 
 
 
=~(匹配)
用来比较是否符合一个正则表达式,返回模式在字符串中被匹配到的位置,否则返回 nil
 
 
!~ (不匹配)
断言不符合一个正则表达式,返回 true, flase
 
 
<=            <     >        >=
小于等于 小于 大于 大于等于
 
 
五 条件判断语句
 
1.  case when
 
x=3
case x
when 1..2
 print "x=",x,";在 1..2中"
when 4..9, 0
 print "x=",x,";在4..9,0中,或是0"
else
 print "x=",x,";其它可能"
end
 
2. until
 
a=1
until a >=10
 print a," "
 a=a+1
end
 
3. while
 
a=1
while a <10
 print a," "
 a=a+1
end
 
一边是while a <10,一边是until a >=10,其它代码都一样,结果也一样
 
4. for in 
 
   for i in 1..9
      print i," "
   end
 
 
六 关键字
times , upto , downto , each ,step
 
3.times { print "Hi!" } #Hi!Hi!Hi!
 
1.upto(9) {|i| print i if i<7 } #123456
 
9.downto(1){|i| print i if i<7 } #654321
 
(1..9).each {|i| print i if i<7} #123456
 
0.step(11,3) {|i| print i } #0369
 
 
七 对象
1. 属性的简写
 
attr_writer :motherland 相当于
def motherla
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ruby语言是什么东西 下一篇Ruby中对象数组排序

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目