一步一步學Ruby 十八 陣列

2021-08-23 13:17:09 字數 2277 閱讀 3875

一、陣列定義和基本操作
1. 陣列的定義和其它語言一樣,ruby裡的陣列並不限定型別.

x=[1,2,3,4]

puts x[2] #輸出3

x[2]+=1

puts x[2] #輸出 4

x[2]="jack"*3 #輸出 jackjackjack

2. 陣列可以不設初始值,可以使用<< 和pop的操作,後進先出
x=

x<<"jack"

x<<"tom"

x<<"crystal"

puts x[2] #輸出 crystal

x.pop

puts x[x.length-1] #輸出 tom

3. 可以把陣列連線在一起

x=["jack","better","man"]

puts x.join

#輸出 jackbetterman

x=["jack","better","man"]

puts x.join(', ')

#輸出: jack, better, man

4. 字串拆分為陣列
puts "jack is better man".scan(/\w/).join(",")

#輸出 j,a,c,k,i,s,b,e,t,t,e,r,m,a,n

puts "www.cnblogs.com".split(/\./).inspect

#輸出:["www", "cnblogs", "com"]

insepct是顯示乙個物件的變數,用p也可以

ruby-tip-stop-using-puts-object-inspect%e2%80%94use-p-instead

p "jack tom crystal".split(/\s/)

#輸出 ["jack", "tom", "crystal"]

1.陣列迭代
[1,"jack",2.0, 4].each

#輸出 1!jack!2.0!4!

p [1,"jack",2.0, 4].collect

#輸出: [2, "jackjack", 4.0, 8]

a=[1,2,3]

b=["jack","crystal"]

c=a+b

p c#輸出: [1, 2, 3, "jack", "crystal"]

a=[1,2,3,4,5]

b=[2,3]

c=a-b

p c#輸出 [1, 4, 5]

x=

puts "it's empty" if x.empty?

#輸出: it's empty

x=[1,2,3]

puts x.include?("jack")

#輸出:false

puts x.include?(2)

#輸出: true

x=[1,2,3,4]

puts x.first

#output: 1

puts x.last

#output: 4

puts x.first(2).join("-")

#output: 1-2

puts x.last(2).join("-")

#output: 3-4

x=[1,2,3,4]

puts x.reverse.inspect

#output:[4, 3, 2, 1]

一步一步學Ruby 十八 陣列

一 陣列定義和基本操作1.陣列的定義和其它語言一樣,ruby裡的陣列並不限定型別.x 1,2,3,4 puts x 2 輸出3 x 2 1 puts x 2 輸出 4 x 2 jack 3 輸出 jackjackjack2.陣列可以不設初始值,可以使用 和pop的操作,後進先出x x jack x ...

一步一步學Ruby 一 Ruby介紹

文章摘要 ruby是如何來的 ruby 的發明者松本行弘 yukihiro matz matsumoto,混合了他喜歡的語言 perl smalltalk eiffel ada 和 lisp 產生了一種具有函式式及指令程式設計特性的新語言。他常說,他是 試著讓 ruby 更自然,而不是簡單,就像生活...

一步一步學Ruby 一 Ruby介紹

文章摘要 ruby是如何來的 ruby 的發明者松本行弘 yukihiro matz matsumoto,混合了他喜歡的語言 perl smalltalk eiffel ada 和 lisp 產生了一種具有函式式及指令程式設計特性的新語言。他常說,他是 試著讓 ruby 更自然,而不是簡單,就像生活...