• Ruby自学笔记(二)— Ruby的一些基础知识


      Ruby安装好之后,我们就可以来实践Ruby语言了。

      以下是一些学习到的简单基础知识:

    1. 如何执行Ruby文件?

        我们编写的Ruby文件是以rb为后缀名的,例如:XXX.rb。当要执行ruby文件时,可以打开命令行窗口,进入到Ruby文件所在的目录下,通过命令ruby XXX.rb来执行,可以看如下示图:

                              

    2. print方法:用于打印字符串功能,print ("Hello", " Ruby !", " ")   print "Hello Ruby ! "

    3. 换行符: , , 转义符:

    4. puts方法: 和print方法类似,也是用来打印字符,但其中每个分段的字符串都会自动换行。例如, puts ("Hello", "Ruby", "!") 显示结果如下:

                                               

    5. p方法:用来显示数据的方法,其不会对数据做任何修改,只是显示数据。例如:p "Hello, Ruby" 则引号会保留:

                                              

    6. 可以直接用四则运算,数学函数计算

    7. 注释:使用#开头的语句都会被当做注释,也可以将注释写在语句中间,则后面以#开头的语句都会当做注释了。

                 如果是一大段东西都是注释,则可以将需要注释的语句都放在=begin=end之间,如下所示:

    PS: 在JAVA中,注释可以用//, 或者/* ........*/

    =begin
       This is comment for Ruby program
       print "Hello Ruby !"
    =end

    8. Ruby中的变量:变量和JAVA中变量类似,只是没有数据类型,但是有特殊的变量名,然后赋值。

        变量有以下类型:局部变量 (变量名以小写字母或_起始的变量)

                               全局变量 (变量名以$起始的变量)

                               实例变量 (变量名以@起始的变量)

                               类变量 (变量名以@@起始的变量)

                               虚拟变量 ('true', 'false', 'self'等特定名称的变量)

    9. 读取文件内容:open(filename)方法,打开文件,并且会返回一个文件对像

    filename = ARGV[0]  
    file = open(filename)  #使用open方法获取文件对象
    text  = file.read          #使用read方法来将文件对象的内容读取出来
    print text
    file.close                    #关闭文件对象

    10. 读入其他文件:即想要在当前程序中调用另外一个程序的方法,则需要读入其他文件 -》 require "想要读入的库名",其中名字可以省略.rb这个后缀名。也可以读取其他的标准库。

    require "hello"  #读入Hello.rb文件
    hello()     #调用hello.rb中的hello()方法

    11. 条件判断:if~then~else~end,而JAVA中则没有then和end(后面会详述)
    12. 字符串反复执行:while (condition) do~end, 对象.times方法 (后面会详述)

    13. 每个对象都有ID和值。1)每个对象都有object_id这个方法来获得ID; 2)每个对象都可以通过equal?方法来判定是否为同一个对象,即ID是否相同。3)若判断对象持有的值是否相等,则使用==,也可以使用eql?方法,但使用==时候,需要进行必要的转换,而eql?则可以不变换就能直接进行比较。

    PS: 大家可以思考下,在JAVA中,==与equal()方法的区别

    ary1 = []  #定义一个数组
    p ary1.object_id  # => 67653636
    
    str1 = "foo"
    str2 = str1
    str3 = "f" + "o" + ''o"
    p str1.equal?(str2)  # =>true
    p str1.equal?(str3)  # =>false
    
    p str1 == str3  # =>true 
    
    p 1.0 == 1  # =>true
    p 1.0.eql?1  # =>false
  • 相关阅读:
    EF架构~终于实现了Update方法的统一
    刚刚做了个文件上传功能,拿来分享一下!(MVC架构及传统架构通用)
    关于需求分析,你不能不知道的4个必杀技:捡金子+ Warroom作战室+情节串联板+Build构建 (2/2)
    DockLayout布局
    Linux系统安装出错后出现grub rescue的修复方法
    如何批量清除128组节点db上面的过期的binlog,释放磁盘空间。
    读取Fits数据及画图显示JAVA版
    深入理解Oracle索引(17):Cost 值相同 CBO 对索引的选择
    Xeon Phi之MIC编程知识点
    WDK编译libwdi
  • 原文地址:https://www.cnblogs.com/windy1118/p/RubyLearning2.html
Copyright © 2020-2023  润新知