日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解析.NET程序員 Ruby核心語(yǔ)法入門(mén)(3)_.Net教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:關(guān)于URL的傳遞字符串問(wèn)題的研究
前幾天在調(diào)程序的時(shí)候遇到了比較郁悶的問(wèn)題,我用URL從一個(gè)頁(yè)面?zhèn)鬟f字符串到另一個(gè)頁(yè)面的時(shí),出現(xiàn)了個(gè)奇怪的問(wèn)題,我要傳遞的字符串是“DK51 700中繼站”;可是另一個(gè)頁(yè)面接收到

數(shù)組

Ruby中的數(shù)組與.NET 1.0中的ArrayList類很接近,它們的大小都是可變的,用于存儲(chǔ)任意類型的數(shù)據(jù),從0開(kāi)始編號(hào),如:

irb(main):032:0> a = ["hello", 42, "world"]
=> ["hello", 42, "world"]
irb(main):033:0> a << 5.0 * 7.5
=> ["hello", 42, "world", 37.5]
irb(main):034:0> a[0]
=> "hello"
irb(main):035:0> a[6] = 'hi' * 2
=> "hihi"
irb(main):036:0> a
=> ["hello", 42, "world", 37.5, nil, nil, "hihi"]
irb(main):037:0> a[99]
=> nil

前面的代碼顯示了如何使用<<操作符向數(shù)組末尾追加項(xiàng)目,以及獲取或設(shè)置值使用的指針操作符[],當(dāng)你向數(shù)組末尾添加一個(gè)項(xiàng)目時(shí),Ruby使用零值填充數(shù)組中的“洞”,當(dāng)你訪問(wèn)數(shù)組外的值時(shí),Ruby返回零值而不是異常。

你可以使用一個(gè)范圍的指針將數(shù)組分片,也可以使用負(fù)的指針從后向前訪問(wèn)數(shù)組,-1就是最后一項(xiàng),-2是倒數(shù)第二項(xiàng),以此類推,但不能使用反向范圍獲取反向分片,你可以使用一個(gè)正向范圍,然后調(diào)用reverse方法,如:

irb(main):038:0> a[-1]
=> "hihi"
irb(main):039:0> a[1..3]
=>[42, "world", 37.5]
irb(main):040:0>a[2..-2]
=>["world", 37.5, nil, nil]
irb(main):041:0>a[-4..-1]
=>[37.5, nil, nil, "hihi"]
irb(main):042:0>a[-1..-4] # 不能工作
=>[]
irb(main):043:0>a[-4..-1].reverse # 能夠工作
=>["hihi", nil, nil, 37.5]

和字符串一樣,你會(huì)發(fā)現(xiàn)有多個(gè)唯一對(duì)數(shù)組有用的類函數(shù),如:

irb(main):044:0> a
=> ["hello", 42, "world", 37.5, nil, nil, "hihi"]
irb(main):045:0> a.compact
=> ["hello", 42, "world", 37.5, "hihi"]
irb(main):046:0> a.join
=> "hello42world37.5hihi"
irb(main):047:0> [10, 75, 6, 29].sort
=> [6, 10, 29, 75]
irb(main):048:0> [[1, 2, 3], [4, 5, 6]]
=> [[1, 2, 3], [4, 5, 6]]
irb(main):049:0> [[1, 2, 3], [4, 5, 6]].flatten
=> [1, 2, 3, 4, 5, 6]

散列

Ruby的最后一個(gè)核心數(shù)據(jù)結(jié)構(gòu)是散列,與.NET 1.0中的散列表類似,它是一個(gè)聯(lián)合數(shù)組,它的鍵值可以是任意類型的值,它們指向的數(shù)據(jù)也可以是任意類型的數(shù)據(jù),實(shí)際上,大部分散列使用的是符號(hào)作為鍵值。

使用{}語(yǔ)法聲明散列,并且使用key => value格式聲明初始值,在散列中獲取或設(shè)置值時(shí)都可以使用鍵值操作符,如:

irb(main):050:0> h = {:foo=>'bar', :baz=>'biff'}
=> {:foo=>"bar", :baz=>"biff"}
irb(main):051:0> h[:foo]
=> "bar"
irb(main):052:0> h[:unknown]
=> nil
irb(main):053:0> h[:baz] = "new"
=> "new"
=> {:foo=>"bar", :baz=>"new"}
irb(main):054:0> h.entries
=> [[:foo, "bar"], [:baz, "new"]]

變量

Ruby中的變量和類函數(shù)名都是以小寫(xiě)字母開(kāi)頭的,可以包括字母、數(shù)字和下劃線。本地變量沒(méi)有前綴,實(shí)例變量以@開(kāi)頭,全局變量以$開(kāi)頭。
在使用變量前無(wú)需聲明,未初始化的變量有一個(gè)零值,下面是幾個(gè)預(yù)定義的變量:

nil表示一個(gè)“無(wú)”對(duì)象,與.NET中的null類似,除了nil是一個(gè)實(shí)例化的NilClass類外。

true和false分別是實(shí)例化的TrueClass和FalseClass。

在類函數(shù)中使用時(shí),self指向調(diào)用類函數(shù)的對(duì)象實(shí)例;在一個(gè)類中使用時(shí),它指的是實(shí)例化的類對(duì)象本身。

__FILE__ 和__LINE__返回當(dāng)前執(zhí)行文件和那個(gè)文件中的行號(hào)。

符號(hào)

Ruby有一個(gè)特殊類型的字符串,叫做符號(hào),因?yàn)樽址赗uby中是可以被修改的,使用它們作為散列鍵是很慢的,而且有一些情況是不能預(yù)測(cè)的。
除了它們是以冒號(hào)(:)開(kāi)頭外,符號(hào)的命名規(guī)則和變量的命名規(guī)則一致,你不能改變符號(hào)的值,兩個(gè)名字相同的符號(hào)它們的身份就一樣,它們可以作為優(yōu)秀的散列鍵,查找請(qǐng)求只需要比較整數(shù)值,而不是與一個(gè)可變長(zhǎng)字符串的值進(jìn)行對(duì)比。

分享:.NET Framework 3.5 SP1正式版
微軟今天發(fā)布了.NET Framework 3.5第一個(gè)SP服務(wù)包的最終版.這是一個(gè)累積更新,包含很多基于.NET Framework 2.0、3.0和3.5不斷生成的新功能,此外還包括.NET Framework 2.0 SP2和.NET Framewo

來(lái)源:模板無(wú)憂//所屬分類:.Net教程/更新時(shí)間:2009-08-02
相關(guān).Net教程