ruby编程语言-学习笔记1

安装完 ruby ri irb ruby-devel

1. 先来个简单的,写个helloworld 给新手们 (terminal中,# 代表root权限,$ 代表用户权限, 前面的就不写了。)

# vim hello.rb

puts "hello world"

检查下语法# ruby -c hello.rb

编译 # ruby hello.rb

结果:hello world

2.好了开始说点有营养的了

创建2个文件,如下

main.rb

 1 #文件名main.rb
 2 
 3 load "Ambiguous.rb"
 4 
 5 newInstance = Ambiguous.new    
 6 
 7 newInstance.x  #调用了x方法,返回值为1 ,但是没有输出
 8 puts"---------1"
 9 
10 puts "newInstance return =" + newInstance.x.to_s  #输出 newInstance return =1
11 puts"---------2"
12 
13 newInstance.test  #test 方法里有puts输出
14 puts"---------3"
15 
16 puts "newInstance return =" + newInstance.test.to_s  #没有值,因为test()方法没有返回值,但是又调用了一边test()方法
17 puts"---------4"

Ambiguous.rb

 1 #文件名Ambiguous.rb
 2 
 3 class Ambiguous
 4     def x; 1; end      # a method named 'x', always return 1
 5     
 6     def test
 7         puts x        # no variable been seen,  refers method above, prints 1    
 8         
 9         x = 0 if false    #create variable 'x' overhere, then confirm  x equal 0?  
10         puts x  //输出的是变量x的值 ,而不是method x 的返回值
11         
12         x = 2   //assign a value to x
13         puts x  //输出变量x 的值
14         
15     end
16 end    

检查下语法# ruby -c ambiguous.rb main.rb

编译 # ruby main.rb

结果:(我就偷个懒)结果大家就自己输出看吧,毕竟自己实践了才能弄明白是不?

在上面需要注意的是:

1.变量名和方法名 声明问题,不要混淆。

2.方法的返回值问题

3.to_s 指to string,还有to_i 、to_f 等等

是不是超级简单?选择一种语言就是选择一种生活方式,

自从我在以前的公司,开始做InstallShield的脚本方面的工作,发现脚本语言的修改,维护。。都太轻松了。

懂的话,一个人都可以把工程1天修改完毕。

不会像C++那样,工程一大,容易出现各种问题,改个需求,需要牵扯很多地方,外包又是各种加班赶进度,改完客户又改需求,又要加班赶进度。这里面太花时间了。

做人,一定不能让变化赶着你走,一定要让自己赶在变化之前就做好准备。