標籤:
在一個ruby字串中包含表但是或者變數。想使用不同的值替換運算式或者變數
1 類似java 或者python的printf-style方式
template = ‘Oceania has always been at war with %s.‘template % ‘Eurasia‘ # => "Oceania has always been at war with Eurasia."template % ‘Eastasia‘ # => "Oceania has always been at war with Eastasia."
‘To 2 decimal places: %.2f‘ % Math::PI # => "To 2 decimal places: 3.14"
‘Zero-padded: %.5d‘ % Math::PI # => "Zero-padded: 00003"
2 或者使用erb,因為我用的ide,所以最後一行使用的是kernel.binding ,如果你在irb中,可以只使用binding
require ‘erb‘template = ERB.new %q{Chunky <%= food %>!}food = "bacon"puts output = template.result(Kernel.binding)
3翻轉字串
s = ".sdrawkcab si gnirts sihT"s.reverse # => "This string is backwards."s # => ".sdrawkcab si gnirts sihT"s.reverse! # => "This string is backwards."s # => "This string is backwards."
s = "order. wrong the in are words These"s.split(/(\s+)/).reverse!.join(‘‘) # => "These words are in the wrong order."s.split(/\b/).reverse!.join(‘‘) # => "These words are in the wrong. order"
(\s+)和\s+區別,(\s+)匹配的空格會包含返回列表中
"Three little words".split(/\s+/)# => ["Three", "little", "words"]"Three little words".split(/(\s+)/)# => ["Three", " ", "little", " ", "words"]
ruby 字串學習2