亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Ruby中的字符串編寫示例

 更新時(shí)間:2015年08月03日 15:48:18   投稿:goldensun  
這篇文章主要介紹了Ruby中的字符串編寫示例,作者給出了相關(guān)編程風(fēng)格的一些建議,需要的朋友可以參考下

優(yōu)先使用 字符串插值 來代替 字符串串聯(lián)。

  # bad
  email_with_name = user.name + ' <' + user.email + '>'

  # good
  email_with_name = "#{user.name} <#{user.email}>"

  # good
  email_with_name = format('%s <%s>', user.name, user.email)

    Consider padding string interpolation code with space. It more clearly sets the
    code apart from the string.考慮使用空格填充字符串插值。它更明確了除字符串的插值來源。

  "#{ user.last_name }, #{ user.first_name }"

    Consider padding string interpolation code with space. It more clearly sets the
    code apart from the string.
    考慮替字符串插值留白。這使插值在字符串里看起來更清楚。

  "#{ user.last_name }, #{ user.first_name }"

    采用一致的字符串字面量引用風(fēng)格。這里有在社區(qū)里面受歡迎的兩種風(fēng)格,它們都被認(rèn)為非常好 -
    默認(rèn)使用單引號(hào)(選項(xiàng) A)以及雙引號(hào)風(fēng)格(選項(xiàng) B)。

        (Option A) 當(dāng)你不需要字符串插值或者例如 \t, \n, ' 這樣的特殊符號(hào)的
        時(shí)候優(yōu)先使用單引號(hào)引用。

    # bad
    name = "Bozhidar"

    # good
    name = 'Bozhidar'

        (Option B) Prefer double-quotes unless your string literal
        contains " or escape characters you want to suppress.
        除非你的字符串字面量包含 " 或者你需要抑制轉(zhuǎn)義字符(escape characters)
        優(yōu)先使用雙引號(hào)引用。

    # bad
    name = 'Bozhidar'

    # good
    name = "Bozhidar"

    第二種風(fēng)格可以說在 Ruby 社區(qū)更受歡迎些。該指南的字符串字面量,無(wú)論如何,
    與第一種風(fēng)格對(duì)齊。

    不要使用 ?x 符號(hào)字面量語(yǔ)法。從 Ruby 1.9 開始基本上它是多余的,?x 將會(huì)被解釋為 x (只包括一個(gè)字符的字符串)。

  

 # bad
  char = ?c

  # good
  char = 'c'

    別忘了使用 {} 來圍繞被插入字符串的實(shí)例與全局變量。

  

 class Person
   attr_reader :first_name, :last_name

   def initialize(first_name, last_name)
    @first_name = first_name
    @last_name = last_name
   end

   # bad - valid, but awkward
   def to_s
    "#@first_name #@last_name"
   end

   # good
   def to_s
    "#{@first_name} #{@last_name}"
   end
  end

  $global = 0
  # bad
  puts "$global = #$global"

  # good
  puts "$global = #{$global}"

    在對(duì)象插值的時(shí)候不要使用 Object#to_s,它將會(huì)被自動(dòng)調(diào)用。

  # bad
  message = "This is the #{result.to_s}."

  # good
  message = "This is the #{result}."

    操作較大的字符串時(shí), 避免使用 String#+ 做為替代使用 String#<<。就地級(jí)聯(lián)字符串塊總是比 String#+ 更快,它創(chuàng)建了多個(gè)字符串對(duì)象。

  # good and also fast
  html = ''
  html << '<h1>Page title</h1>'

  paragraphs.each do |paragraph|
   html << "<p>#{paragraph}</p>"
  end

    When using heredocs for multi-line strings keep in mind the fact
    that they preserve leading whitespace. It's a good practice to
    employ some margin based on which to trim the excessive whitespace.
    heredocs 中的多行文字會(huì)保留前綴空白。因此做好如何縮進(jìn)的規(guī)劃。這是一個(gè)很好的
    做法,采用一定的邊幅在此基礎(chǔ)上削減過多的空白。

  code = <<-END.gsub(/^\s+\|/, '')
   |def test
   | some_method
   | other_method
   |end
  END
  #=> "def test\n some_method\n other_method\nend\n"


相關(guān)文章

  • Ruby 迭代器知識(shí)匯總

    Ruby 迭代器知識(shí)匯總

    這篇文章主要介紹了Ruby 迭代器的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Ruby基礎(chǔ)知識(shí)之基本流程控制

    Ruby基礎(chǔ)知識(shí)之基本流程控制

    這篇文章主要介紹了Ruby基礎(chǔ)知識(shí)之基本流程控制,本文講解了條件判斷、循環(huán)語(yǔ)句、迭代器和枚舉三部分內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Ruby學(xué)習(xí)筆記一

    Ruby學(xué)習(xí)筆記一

    學(xué)習(xí)ruby有段時(shí)間了,記錄下自己的學(xué)習(xí)心得并分享幾個(gè)例子給大家
    2014-07-07
  • win7下從ruby源代碼編譯安裝的方法

    win7下從ruby源代碼編譯安裝的方法

    下面小編就為大家?guī)硪黄獁in7下從ruby源代碼編譯安裝的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • Ruby中的gem包管理的使用及gem源搭建教程

    Ruby中的gem包管理的使用及gem源搭建教程

    RubyGems是Ruby世界中的包管理工具,gem命令使用起來就如同Linux中的apt與yum一樣,也可以構(gòu)建自己的gem源,下面就帶大家一起來學(xué)習(xí)Ruby中的gem包管理的使用及gem源搭建教程
    2016-05-05
  • Ruby編程中的命名風(fēng)格指南

    Ruby編程中的命名風(fēng)格指南

    這篇文章主要介紹了Ruby編程中的命名風(fēng)格指南,包括變量和自定義方法等的常用命名格式,需要的朋友可以參考下
    2015-08-08
  • Ruby實(shí)現(xiàn)的矩陣連乘算法

    Ruby實(shí)現(xiàn)的矩陣連乘算法

    這篇文章主要介紹了Ruby實(shí)現(xiàn)的矩陣連乘算法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • ruby實(shí)現(xiàn)網(wǎng)頁(yè)圖片抓取

    ruby實(shí)現(xiàn)網(wǎng)頁(yè)圖片抓取

    本文給大家分享的是個(gè)人使用ruby編寫的抓取網(wǎng)頁(yè)圖片的代碼,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
    2015-06-06
  • ruby開發(fā)的交互式程序例子

    ruby開發(fā)的交互式程序例子

    這篇文章主要介紹了ruby開發(fā)的交互式程序例子,本文使用ripl實(shí)現(xiàn),需要的朋友可以參考下
    2014-07-07
  • Ruby中Hash的11個(gè)問題解答

    Ruby中Hash的11個(gè)問題解答

    這篇文章主要介紹了Ruby中Hash的11個(gè)問題解答,本文講解了如何創(chuàng)建Hash、Hash的鍵是哪些類型、 如何給Hash賦默認(rèn)的值等內(nèi)容,需要的朋友可以參考下
    2015-01-01

最新評(píng)論