Ruby 简单入门(一)

最近实习快结束了,也被谈话过了,确定可以把我留下来,但是这面是做javaWeb的,很少时间放在Ruby上了,下午有点闲,写写吧,一下子写不完,我慢慢来....

目测有40个左右例子,尽量涵盖多点知识,不过一下子不发完,慢慢来

1..安装Ruby 

这个,我不会说什么的,有专门的安装帖子,大家可以看一下.

2..第一个小例子

创建一个新文件test.rb , 并用编辑器打开.键入:

puts "Howdy!"
在控制台找到相应的目录,并运行:
C:>ruby test.rb
打印的结果是:
Howdy!
3..Ruby的输出

"puts" 输出的时候 结尾带上回车符,就是会自动换行. 
"print" 功能一样,但是没有回车符,不自动换行. 
"printf" 像C和java5一样格式化输出.

puts "puts works"
puts " with line breaks."

print "print works"
print " with no line breaks."

printf("\n\nprintf formats numbers like %7.2f, and
strings like %s.",3.14156,"me")

结果将是"

puts works
 with line breaks.
print works with no line breaks.

printf formats numbers like    3.14, and strings like
me.
4..从控制台读取

使用gets

puts "What is your name?"
$name = STDIN.gets
puts "Hi "+$name
5..Ruby中的方法
1,方法简介

使用'def'开头,'end'结尾 没有大多数语言中的大括号

ef welcome(name)
   puts "Hi #{name}"   # #{ } 代表着变量
end
welcome("Cass")           

结果是:
Hi Cass
2,方法调用时,括号是可以省略的

def welcome(name)
   puts "Hi#{name}"   
end
welcome "Cass"  
对比前一个例子,二者是一样的,只是括号在与否.

同样,不带参数的方法更能体现出来

"hello".upcase() => "HELLO"
"hello".upcase => "HELLO"
3,方法返回值
和别的语言类似,使用'return'关键字

def multiply(a,b)
  product = a * b
  return product
end
puts multiply(2,3)   =>6   #忘记说了 有些输出简单的 直接使用 =>结果表示了  
在ruby中,甚至可以丢掉return

def mult(a,b)
  product = a * b
end
puts mult(2,3)    #这里可以看出,ruby会然会最后一个表达式
更简单的是,因为return是返回了最后一个表达式,所以完全可以不使用局部变量product
def mult(a,b)
   a * b
end
puts mult(3,3)   =>9 

4,可选参数(表达不好,看例子)

def test(a=1,b=2,c=a+b)
  puts "#{a},#{b},#{c}"
end
test        =>  1,2,3
test 5      =>  5,2,7
test 4, 6   =>  4,6,10
test 3, 4, 6   =>  3,4,6 #通过例子可以看出
5,额外参数
额外参数就是前面有* 的最后一个变量(用each对其进行迭代)

def test(a=1,b=2,*c)
  puts "#{a},#{b}"
  c.each{|x| print " #{x}, "}  # 后面将提到'each'
end
test 3, 6, 9, 12, 15, 18
结果:

3,6
 9,  12,  15,  18,
6,多个返回值
def getCostAndMpg
    cost = 30000  
    mpg = 30
    return cost,mpg
end
AltimaCost, AltimaMpg = getCostAndMpg
puts "AltimaCost = #{AltimaCost}, AltimaMpg = #{AltimaMpg}"
结果:
AltimaCost = 30000, AltimaMpg = 30   

6..类

ruby中,你可以向已有类库中添加方法,举个例子,比如说判断String的方法,NullOrEmpty()

ruby字符串处理类中是没有的,要是写的话 if(mystring != null && mystring != "")  这样是最普遍的表示方法了。

对于常用而库中有没有的函数,可以这样定义:

class String
    def NullOrEmpty?
    (self == nil || self == "")
    end
end
puts "test".NullOrEmpty?
puts "".NullOrEmpty?
是不是很酷,但是这样做并不安全,自己慢慢挖掘~
7..变量名分类

//吃饭去了,,待续

全局变量开始以'$'开始
类变量'@@'开始
实例变量以'@'开始
局部变量,方法名和方法参数 以小写字母开头
类名称,模块名称和常量以大写字母开始
变量名称由字母,数字和下划线
方法名称可能结束以“?”,“!”,或“=”结尾。“?”结尾的方法 意味着布尔运算(例如,“in​​stance_of?”)。“!” 结尾的方法意味着危险的东西,比如字符串被修改的地方(例如,“UPCASE!”)






















评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值