zoukankan      html  css  js  c++  java
  • ruby 字符串学习笔记1

    1 从一种数据结构中构件字符串

    hash = { key1: "val1", key2: "val2" }
    string = ""
    hash.each { |k,v| string << "#{k} is #{v}
    " }
    puts string
    # key1 is val1
    # key2 is val2

    变种

    string = ""
    hash.each { |k,v| string << k.to_s << " is " << v << "
    " }

    更高效办法使用 Array#join

    puts hash.keys.join("
    ") + "
    "
    # key1
    # key2

    或者

    puts hash.keys.join("") 
    
    # key1key2

     2 创建一个包含ruby变量或者表达式的字符串

    number = 5
    "The number is #{number}."# => "The number is 5."
    "The number is #{5}."# => "The number is 5."
    "The number after #{number} is #{number.next}."# => "The number after 5 is 6."
    "The number prior to #{number} is #{number-1}."# => "The number prior to 5 is 4."
    "We're ##{number}!"# => "We're #5!"

    也可以这样使用但不要这么做

    %{Here is #{class InstantClass
            def bar
              "some text"
            end
                end
           InstantClass.new.bar
     }.}
    # => "Here is some text."

    here document使用

    name = "Mr. Lorum"
    email = <<END
    Dear #{name},
    Unfortunately we cannot process your insurance claim at this
    time. This is because we are a bakery, not an insurance company.
    Signed,
    Nil, Null, and None
    Bakers to Her Majesty the Singleton
    END

    # => "Dear Mr. Lorum, Unfortunately we cannot process your insurance claim at this time. This is because we are a bakery, not an insurance company. Signed, Nil, Null, and None Bakers to Her Majesty the Singleton "
    <<end_of_poem
    There once was a man from Peru
    Whose limericks stopped on line two
    end_of_poem
    # => "There once was a man from Peru
    Whose limericks stopped on line two
    "
  • 相关阅读:
    谜题92:双绞线
    谜题91:序列杀手
    谜题90:荒谬痛苦的超类
    谜题89:泛型迷药
    谜题88:原生类型的处理
    谜题87:紧张的关系
    谜题86:有毒的括号垃圾
    谜题85:惰性初始化
    谜题84:被粗暴地中断
    easyUi DataGrid
  • 原文地址:https://www.cnblogs.com/or2-/p/5006902.html
Copyright © 2011-2022 走看看