美文网首页
Ruby基础

Ruby基础

作者: jerehao | 来源:发表于2016-11-05 17:24 被阅读0次

    文件编码###

    若出现中文错误,则在文件头添加# -*- coding: UTF-8 - *-,文件也必须保存为utf-8编码

    ruby常用命令###

    参数 操作
    -c 只检查语法不执行

    ruby环境变量###

    变量 描述
    DLN_LIBRARY_PATH 动态加载模块搜索的路径。
    HOME 当没有参数传递给 Dir::chdir 时,要移动到的目录。也用于 File::expand_path 来扩展 "~"。
    LOGDIR 当没有参数传递给 Dir::chdir 且未设置环境变量 HOME 时,要移动到的目录。
    PATH 执行子进程的搜索路径,以及在指定 -S 选项后,Ruby 程序的搜索路径。每个路径用冒号分隔(在 DOS 和 Windows 中用分号分隔)。
    RUBYLIB 库的搜索路径。每个路径用冒号分隔(在 DOS 和 Windows 中用分号分隔)。
    RUBYLIB_PREFIX 用于修改 RUBYLIB 搜索路径,通过使用格式 path1;path2 或 path1path2,把库的前缀 path1 替换为 path2。
    RUBYOPT 传给 Ruby 解释器的命令行选项。在 taint 模式时被忽略(其中,$SAFE 大于 0)。
    RUBYPATH 指定 -S 选项后,Ruby 程序的搜索路径。优先级高于 PATH。在 taint 模式时被忽略(其中,$SAFE 大于 0)。
    RUBYSHELL 指定执行命令时所使用的 shell。如果未设置该环境变量,则使用 SHELL 或 COMSPEC

    ruby中的空白###

    a + b会被解释为a+b ,是一个变量
    a +b会被解释为a(+b),是一个方法调用

    ruby的行尾###

    在行尾遇到+-/时表示该行语句未完,延续到下一行

    ruby标识符###

    大小写敏感

    ruby中的Here document###

    "Here Document" 是指建立多行字符串。在 << 之后,您可以指定一个字符串或标识符来终止字符串,且当前行之后直到终止符为止的所有行是字符串的值。
    如果终止符用引号括起,引号的类型决定了面向行的字符串类型。请注意<< 和终止符之间必须没有空格。
    下面是不同的实例:

    #!/usr/bin/ruby -w
    # -*- coding : utf-8 -*-
    
    print <<EOF
        这是第一种方式创建here document 。
        多行字符串。
    EOF
    
    print <<"EOF";                # 与上面相同
        这是第二种方式创建here document 。
        多行字符串。
    EOF
    
    print <<`EOC`                 # 执行命令
        echo hi there
        echo lo there
    EOC
    
    print <<"foo", <<"bar"        # 您可以把它们进行堆叠
        I said foo.
    foo
        I said bar.
    bar
    

    上面语句执行后的结果如下

    This is the first way of creating her document ie. 
    multiple line string. 
    This is the second way of creating her document ie. 
    multiple line string.
        hi there
        lo there 
    I said foo. 
    I said bar.
    

    ruby的BEGIN与END###

    BEGIN {}中的代码会在所有代码执行之前执行,END{}中的代码会在所有代码执行完之后执行。

    ruby中的注释###

    单行注释以#开始
    多行注释以=begin开始,=end结束

    相关文章

      网友评论

          本文标题:Ruby基础

          本文链接:https://www.haomeiwen.com/subject/dqkguttx.html