• 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++那样,工程一大,容易出现各种问题,改个需求,需要牵扯很多地方,外包又是各种加班进度,改完客户又改需求,又要加班赶进度。这里面太花时间了。

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

  • 相关阅读:
    通过JavaScript垃圾回收机制来理解WeakSet/WeakMap中对象的弱引用
    json处理
    dotenv 加载本地环境变量
    各种ast库
    类型检测库
    npm 加解密库
    用计算机语言的爱情表白
    情侣在招聘会上搂抱招致企业反感
    《软件性能测试与LoadRunner实战》网上订购问题
    F1赛车的起源
  • 原文地址:https://www.cnblogs.com/scotth/p/3156581.html
Copyright © 2020-2023  润新知