解析.NET程序員 Ruby核心語法入門(3)_.Net教程
推薦:關(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
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-解析.NET程序員 Ruby核心語法入門(3)
。