美文网首页
红宝石(Ruby)之路

红宝石(Ruby)之路

作者: Yvette14 | 来源:发表于2016-12-16 15:59 被阅读0次

    用Ruby实现的Hello World

    print("Hello World\n")
    

    将这句保存为test.rb,在terminal输入ruby test.rb
    你将会看到Hello World

    用Ruby输出中文

    需要在程序的首行代码添加注释#encoding:编码方式来指定。
    如,在ubuntu环境下,代码该这么写

    #encoding: UTF-8
    print("我喜欢Ruby")
    
    平台 编码方式
    Windows GBK(或者GB 2312)
    Mac OS X UTF-8
    Unix UTF-8

    若没指定编码方式,Ruby会默认使用UTF-8编码方式。

    Ruby的注释

    • 单行注释
      #我是注释
    • 多行注释
      =begin
      我从这一行开始,
      到这一行,
      还有这一行,
      为止,都是注释
      =end
      

    单行注释就是#开始,整行都是注释;多行注释就是行的开头用=begin=end括起来的部分都是注释

    条件判断:ifthenend

    if 条件 then
       条件成立时执行的处理
    else
       条件不成立时执行的处理
    end
    

    then关键字有时可以省略。

    循环

    while语句
    while 循环条件 do
        希望循环的处理
    end
    
    times方法
    循环次数.times do
        希望循环的处理
    end
    

    如输出5个'hello,ruby':

    5.times do
      print("hello,ruby")
    end
    

    times方法被称为迭代器(iterator)。这是Ruby的一个特色功能。
    迭代器表示的是循环(iterate)的容器(-or)。
    迭代器就是指用于执行循环处理的方法。

    数组对象

    创建一个简单数组
    names=["小林","林","高野","森冈"]
    
    数组的大小
    names.size
    

    结果是4。

    数组循环

    each方法,语法:

    数组.each do |变量|
        希望循环的处理
    end
    

    按顺序输出数组names里的元素

    names.each do |n|
      puts n
    end
    

    输出结果:

    小林
    林
    高野
    森冈
    

    散列(hash)对象

    散列是键值对(key-value pair)的一种数据结构。
    在Ruby中,一般是以字符串或者符号作为键,来保存对应的对象。
    这很像JavaScript语言中的Object对象
    符号一般作为名称标签来使用,用来表示方法等的对象的名称。
    创建符号,只需在标识符的开头加上:就可以了。

    sym=:foo    #表示符号":foo"
    sym2=:"foo" #意思同上
    
    散列的创建

    散列用=>来定义获取对象时所需的键(key),以及键相对应的对象(value)。

    address={:name=>"高桥",:pinyin=>"gaoqiao",:postal=>"1234567"}
    

    当符号当作键来使用时,程序还可以像下面这么写:

    address={name:"高桥",pinyin:"gaoqiao",postal:"1234567"}
    
    散列的使用

    散列名[键]

    散列名[键]=希望保存的对象

    address[:name]  #"高桥"
    address[:tel]="000-1234-5678"
    address #{:name=>"高桥",:pinyin=>"gaoqiao",:postal=>"1234567",:tel=>"000-1234-5678"}
    
    散列的循环
    散列.each do |键变量,值变量|
        希望循环的处理
    end
    
    address={name:"高桥",pinyin:"gaoqiao"}
    address.each do |key,value|
      puts "#{key}:#{value}"
    end
    #name:高桥
    #pinyin:gaoqiaos
    
    对象
    数值 Numeric
    字符串 String
    数组 Array
    散列 Hash
    正则表达式 Regexp
    文件 File
    符号 Symbol
    变量
    变量 定义
    局部变量 以英文字母或者_开头
    全局变量 以$开头
    实例变量 以@开头
    类变量 以@@开头
    常量

    以大写英文字母开头。

    To Be Continued............

    相关文章

      网友评论

          本文标题:红宝石(Ruby)之路

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