8 2 再說字串

2021-08-22 06:51:20 字數 2241 閱讀 8649

一. 生成乙個字串

字串是string類的物件,一般使用字面值來建立。

ruby **

#e8.2-1.rb

str1 = 'this is str1'   

str2 = "this is str2"

str3 = %q/this is str3/   

str4 = %q/this is str4/   

str5 =《eof_string 

here is string document, str5   

line one;   

line two;   

line three.   

ok   

eof_string 

puts str3   

puts str4   

puts str5   

執行結果:

>ruby e8.2-1.rb

this is str3

this is str4

here is string document, str5

line one;

line two;

line three.

ok>exit code: 0

%q 用來生成單引號字串;%q用來生成雙引號字串。%q或者%q後面跟著的是分隔符,可以是配對的!  !; /  /; <  >; (  ); [  ] ;;等等。

str5是乙個字串文件,從 《和文件結束符的下一行開始,直到遇到乙個放置在行首的文件結束符,結束整個字串文件。

乙個陣列可以用join 方法轉換成字串,join( ) 內的引數也是乙個字串,用來分隔陣列的每個元素,例如:arr.join(", ")。

二. 字串操作

字串既然是string類的物件,string類的方法你都可以使用在字串變數上,string類的方法非常多,下面略舉幾例。

ruby **

#e8.2-2.rb

str = ' this' + " is"

str += " you"

str << " string"

<< " ."

puts  str*2       # =>  this is you string . this is you string .

puts  str[-12,12]  # => you string .

三. 字串轉義

雙引號括起來的字串會有轉義,例如:「\n」 表示換行。還有一些其它的轉義符號,比如製表符之類。

ruby **

#e8.2-3.rb

str = " this is you string ."

puts  str*2                     # =>  this is you string . this is you string .

str = " this is you string .\n"

puts  str*2                     # =>  this is you string .

this is you string .   

str = " \tthis is you string ."

puts  str                       # =>   this is you string .

str = ' this\'s you string .\n'   

puts  str                       # =>  this's you string .\n

單引號括起來的字串並不會對字串作任何解釋,你看到的是什麼便是什麼,有乙個例外:單引號字串裡的 單引號 需要轉義。

四. 字串內嵌表示式

在雙引號擴起來的字串中,不僅可以使用各種轉義符,而且可以放置任意的ruby表示式在 # 之中,這些表示式在使用這個字串的時候被計算出值,然後放入字串。

ruby **

#e8.2-4.rb

def hello(name)   

" welcome, # !"

endputs  hello("kaichuan")   # =>  welcome, kaichuan !

puts  hello("ben")       # =>  welcome, ben !

字串內嵌表示式,使得你能夠更加靈活地組織**,表現出更強、更多的動態特性。

完整閱讀,請看我寫的 ruby語言中文教程all in one

NOIP學習之字串 82 最長單詞2

測試鏈結 總時間限制 1000ms 記憶體限制 65536kb 描述 乙個以 結尾的簡單英文句子,單詞之間用空格分隔,沒有縮寫形式和其它特殊形式,求句子中的最長單詞。輸入 乙個以 結尾的簡單英文句子 長度不超過500 單詞之間用空格分隔,沒有縮寫形式和其它特殊形式。輸出 該句子中最長的單詞。如果多於...

ORACLE in 字串,字串,字串

因為傳進來的引數是 字串,字串,字串,要實現in 字串,字串,字串 select from htl price p where p.hotel id 30073328 and p.able sale date between to date 2009 03 27 yyyy mm dd and to ...

字串,字串陣列,字串指標!!

字串 字元陣列實際上是一系列字元的集合,也就是 字串 string 字串陣列 在c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。c語言規定,可以將字串直接賦值給字元陣列 在c語言中,字串總是以 0 作為串的結束符。上面的兩個字串,編譯器已經在末尾自動新增了 0...