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

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

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

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

數(shù)組

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

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ù)組末尾追加項目,以及獲取或設(shè)置值使用的指針操作符[],當(dāng)你向數(shù)組末尾添加一個項目時,Ruby使用零值填充數(shù)組中的“洞”,當(dāng)你訪問數(shù)組外的值時,Ruby返回零值而不是異常。

你可以使用一個范圍的指針將數(shù)組分片,也可以使用負(fù)的指針從后向前訪問數(shù)組,-1就是最后一項,-2是倒數(shù)第二項,以此類推,但不能使用反向范圍獲取反向分片,你可以使用一個正向范圍,然后調(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]

和字符串一樣,你會發(fā)現(xiàn)有多個唯一對數(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的最后一個核心數(shù)據(jù)結(jié)構(gòu)是散列,與.NET 1.0中的散列表類似,它是一個聯(lián)合數(shù)組,它的鍵值可以是任意類型的值,它們指向的數(shù)據(jù)也可以是任意類型的數(shù)據(jù),實際上,大部分散列使用的是符號作為鍵值。

使用{}語法聲明散列,并且使用key => value格式聲明初始值,在散列中獲取或設(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ù)名都是以小寫字母開頭的,可以包括字母、數(shù)字和下劃線。本地變量沒有前綴,實例變量以@開頭,全局變量以$開頭。
在使用變量前無需聲明,未初始化的變量有一個零值,下面是幾個預(yù)定義的變量:

nil表示一個“無”對象,與.NET中的null類似,除了nil是一個實例化的NilClass類外。

true和false分別是實例化的TrueClass和FalseClass。

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

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

符號

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

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

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