锘??xml version="1.0" encoding="utf-8" standalone="yes"?>无码乱人伦一区二区亚洲,国产精品亚洲w码日韩中文,亚洲精品动漫在线http://m.tkk7.com/byterat/category/16519.htmlzh-cnFri, 02 Mar 2007 02:34:18 GMTFri, 02 Mar 2007 02:34:18 GMT60RubyGems綆浠嬪拰浣跨敤http://m.tkk7.com/byterat/archive/2006/12/15/87867.html姣旂壒榧?/dc:creator>姣旂壒榧?/author>Fri, 15 Dec 2006 01:53:00 GMThttp://m.tkk7.com/byterat/archive/2006/12/15/87867.htmlhttp://m.tkk7.com/byterat/comments/87867.htmlhttp://m.tkk7.com/byterat/archive/2006/12/15/87867.html#Feedback0http://m.tkk7.com/byterat/comments/commentRss/87867.htmlhttp://m.tkk7.com/byterat/services/trackbacks/87867.html

鐗圭偣錛?br />鑳借繙紼嬪畨瑁呭寘
鍖呬箣闂翠緷璧栧叧緋葷殑綆$悊
綆鍗曞彲闈犵殑鍗歌澆錛坲ninstallation錛?br />鏌ヨ鏈哄埗錛岃兘鏌ヨ鏈湴鍜岃繙紼嬫湇鍔″櫒鐨勫寘淇℃伅
鑳戒繚鎸佷竴涓寘鐨勪笉鍚岀増鏈?br />鍩轟簬Web鐨勬煡鐪嬫帴鍙o紝鑳芥煡鐪嬩綘瀹夎鐨刧em鐨勪俊鎭?br />

浣跨敤錛?br />1. gem query --remote聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) # shortcut: gem q -R
#鍒楀嚭鎵鏈夊寘
2. gem query --remote --name-matches doom聽(tīng)聽(tīng) # shortcut: gem q -R -n doom
#鍒楀嚭鎵鏈夊悕瀛楀尮閰嶇殑鍖?br />3. gem install --remote progressbar聽(tīng) # shortcut: gem i -r progressbar
#瀹夎鎸囧畾鍚嶅瓧鐨勫寘銆?br />gem ins -r progressbar --version '> 0.0.1' #榪欓噷鍙互鍖歸厤鐗堟湰
4. gem specification聽(tīng) progressbar聽(tīng) # shortcut: gem spec progressbar
#鏌ョ湅瀹夎榪囩殑鎸囧畾鍖呰緇嗕俊鎭?br />5.gem uninstall progressbar
#鍗歌澆鍖?br />6. gem query --local # shortcut: 'gem q -L'
#鍒楀嚭鎵鏈夋湰鍦板畨瑁呰繃鐨勫寘
7. gem ins rake
#鍦ㄦ湰鍦板畨瑁咃紝濡傛灉娌℃湁榪滅▼瀹夎
8. gem list -b ^C
#鍒楀嚭鎵鏈変互C寮澶寸殑鍖?br />9. gem_server
寮鍚痳doc鏈嶅姟銆傚彲浠ユ煡鐪嬪畨瑁呭寘鐨剅doc



]]>
ActiveRecord鐭ヨ瘑http://m.tkk7.com/byterat/archive/2006/12/15/87857.html姣旂壒榧?/dc:creator>姣旂壒榧?/author>Fri, 15 Dec 2006 01:30:00 GMThttp://m.tkk7.com/byterat/archive/2006/12/15/87857.htmlhttp://m.tkk7.com/byterat/comments/87857.htmlhttp://m.tkk7.com/byterat/archive/2006/12/15/87857.html#Feedback0http://m.tkk7.com/byterat/comments/commentRss/87857.htmlhttp://m.tkk7.com/byterat/services/trackbacks/87857.html Tip 1. 榛樿鎯呭喌涓嬶紝Rails璁や負(fù)綾誨悕鏄崟鏁幫紝琛ㄦ槑鏄鏁板艦寮忋?br />濡傛灉浣犱笉鍠滄榪欐牱鐨勮涓哄彲浠ュ湪閰嶇疆鏂囦歡(config/environment.rb)涓緗竴涓叏灞鏍囪瘑鏉ョ鐢ㄥ畠銆?br />ActiveRecord::Base.pluralize_table_names = false

Tip 2.榛樿鎯呭喌涓嬶紝ActiveRecord浼?xì)鋴社敤鎺ㄥD〃鏄庣殑綆楁硶錛屽鏋滀綘涓嶅笇鏈涗嬌鐢ㄦ綆楁硶鍙互鍦ㄦ寚瀹氱殑model涓嬌鐢?"set_table_name" 鏂規(guī)硶錛屼緥濡傦細(xì)
class Sheep < ActiveRecord::Base
聽(tīng)set_table_name "sheep"
end

Tip 3.SQL 綾誨瀷鍜孯uby 綾誨瀷涔嬮棿鐨勫搴斿叧緋誨彲鑳戒細(xì)鍦?decimal 綾誨瀷鐨勭簿搴︿笂鍑虹幇闂銆係QL鐨?demimal,numeric,float,double 閮藉搴?Ruby 鐨?Float銆傚彲浠ヤ嬌鐢ㄨ仛鍚堝璞?composed_of 瀵瑰瓧孌佃繘琛屽鐞嗐偮?tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)?

Tip 4.ActiveRecord浼?xì)灏介噺鐨勬妸浠庢暟鎹簱涓幏鍙栫殑鍊艱漿鎹負(fù)Ruby鐨勭被鍨嬶紙璀璇達(dá)紝鍋囪鏁版嵁搴撳瓧孌墊槸 timestamp 綾誨瀷鐨勶紝灝變細(xì)榪斿洖 Time 瀵硅薄錛夈傚鏋滀綘甯屾湜寰楀埌涓涓睘鎬х殑鍘熷鍊鹼紝鍙互鍦ㄥ睘鎬у悕縐板悗闈㈠姞涓?_before_type_cast.

Tip 5.Ruby 璁や負(fù)錛氶櫎浜?nil 鍜?false 涔嬪鐨勬墍鏈夊奸兘琚В閲婁負(fù) true銆傛墍浠ワ紝濡傛灉瑕佹煡璇竴涓?boolean 鍨嬪瓧孌電殑鐘舵侊紝灝卞繀欏誨湪瀛楁鍚嶇殑鍚庨潰鍔犱笂涓涓棶鍙鳳細(xì)
user = User.find_by_name("Dave")
if user.superuser? # 涓嶅彲浠ヤ嬌鐢?user.superuser錛屽惁鍒欎笉璁烘暟鎹簱涓瓨鍌ㄧ殑鏄暟瀛?0銆佸瓧絎︿覆 f 榪樻槸寰瘋鐨?N錛屾鏉′歡閮藉皢鎴愮珛銆?br />聽(tīng)grant_privileges
end



]]>
Ruby 鍩虹瀛︿範(fàn)http://m.tkk7.com/byterat/archive/2006/11/22/82209.html姣旂壒榧?/dc:creator>姣旂壒榧?/author>Wed, 22 Nov 2006 03:26:00 GMThttp://m.tkk7.com/byterat/archive/2006/11/22/82209.htmlhttp://m.tkk7.com/byterat/comments/82209.htmlhttp://m.tkk7.com/byterat/archive/2006/11/22/82209.html#Feedback0http://m.tkk7.com/byterat/comments/commentRss/82209.htmlhttp://m.tkk7.com/byterat/services/trackbacks/82209.html 鏈榪戜竴鐩村湪鐪婸rogramming Ruby - 2nd, 鍏堣褰曚笅涓浜涗笉鐔熸?zhèn)夌殑Ruby鐨勫熀鏈娉曞拰鎿嶄綔(鐔熸?zhèn)夌殑灏变笉鍐嶈鍟?..)

Ruby鐨勫懡鍚?

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)灞閮ㄥ彉閲徛?tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)鍏ㄥ眬鍙橀噺聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)瀹炰緥鍙橀噺聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)綾誨彉閲徛?tīng)聽(tīng)?聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)甯擱噺鍜岀被鍚?br />==============================================================================
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)name聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)$debug聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) @name聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) @@total聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) PI
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)fish_and_chips聽(tīng) $CUSTOMER聽(tīng)聽(tīng)聽(tīng) @point_1聽(tīng)聽(tīng)聽(tīng)聽(tīng) @@symtab聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) FeetPerMile
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)x_axis聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) $_聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) @X聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) @@N聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) String聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)thx1138聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) $plan9 聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) @_聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)@@x_pos聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) MyClass
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)_26聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) $Global聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) @plan9聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) @@SINGLE聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)JazzSong
==============================================================================


鏁扮粍:

鏁扮粍涓嬫爣浠?寮濮? 涓嬫爣鍙互涓鴻礋鏁存暟, 姝ゆ椂浠h〃鏁扮粍浠庢渶鏈寮濮? 鏈鏈绱㈠紩浠?1寮濮?br />鏁扮粍鐨勫厓绱犲彲浠ユ槸浠諱綍綾誨瀷鐨勫璞″疄渚?鍖呮嫭nil瀹炰緥

鏁扮粍鐨勫垵濮嬪寲:
a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
鎴栬?br />a = %w{ ant bee cat dog elk }

璁塊棶:
a[0]聽(tīng)聽(tīng)聽(tīng)聽(tīng)#榪斿洖"ant"
a[1]聽(tīng)聽(tīng)聽(tīng)聽(tīng)#榪斿洖"bee"聽(tīng)
a[-1]聽(tīng)聽(tīng)聽(tīng)#榪斿洖"elk"
a[-2]聽(tīng)聽(tīng)聽(tīng)#榪斿洖"dog"

璧嬪?
a = [ 1, 3, 5, 7, 9 ]
a[1] = 'bat'聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = [1, "bat", 5, 7, 9]
a[3]= 'cat'聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #a = [1, "bat", "cat", 7, 9]
a[3] = [ 9, 8 ]聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = [1, "bat", "cat", [9, 8], 9]
a[6] = 99聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = [1, "bat", "cat", [9, 8], 9, nil, 99]

a = [ 1, 3, 5, 7, 9 ]
a[2, 2] = 'cat'聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = [1, 3, "cat", 9]
a[2, 0] = 'dog'聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = [1, 3, "dog", "cat", 9]
a[1, 1] = [ 9, 8, 7 ]聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = [1, 9, 8, 7, "dog", "cat", 9]
a[0..3] = [ ]聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = ["dog", "cat", 9]
a[5..6] = 99, 98聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#a = ["dog", "cat", 9, nil, nil, 99, 98]


鍝堝笇琛?
鐩稿綋浜嶫ava涓殑Map
鍏鋒湁"閿煎"鐗規(guī)? key鍜寁alue閮藉彲浠ユ槸浠諱綍綾誨瀷鐨勫疄渚?br />
鍝堝笇鐨勫垵濮嬪寲:
h = Hash["a", 100, "b", 200]聽(tīng)聽(tīng)聽(tīng)聽(tīng) # {"a"=>100, "b"=>200}
h = Hash["a" => 100, "b" => 200]聽(tīng)# {"a"=>100, "b"=>200}
h = { "a" => 100, "b" => 200 }聽(tīng)聽(tīng) # {"a"=>100, "b"=>200}

璁塊棶:
h.length = 2

璧嬪?
h = { 'dog' => 'canine', 'cat' => 'feline', 'donkey' => 'asinine' }
h.length聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 3
h['dog']聽(tīng)聽(tīng)聽(tīng) # "canine"
h['cow']聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 'bovine'
h[12]聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #聽(tīng)'dodecine'
h['cat'] = 99
h聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #聽(tīng){"cow"=>"bovine", "cat"=>99, 12=>"dodecine","donkey"=>"asinine", "dog"=>"canine"}


浠g爜鍧?
浠g爜鍧楀湪ruby 涓槸浠} 鍜宒o end 鏉ュ寘鍥磋搗鏉ョ殑銆傞氬父濡傛灉鏄崟琛屼嬌鐢▄} 錛屽鏋滄槸澶氳浣跨敤do..end
浠g爜鍧楀彲浠ユ帴鍙楀弬鏁? 鍙傛暟鐢ㄤ袱涓珫綰?|"絎﹀彿鏉ュ寘鍚? 鍙傛暟闂寸敤閫楀彿","鏉ュ垎闅?br />浠g爜鍧楄浣滀負(fù)涓涓璞′紶鍏ethod浣撲腑鎵ц(濡傛灉浠g爜鍧楀璞℃湁鍙傛暟, 鍒檓ethod浣撳湪鎵ц浠g爜鍧椾腑鐨勪唬鐮佸墠,闇瑕佸浠g爜鍧楀璞$殑鍙傛暟璧嬪?

渚嬪:

def test(max)
聽(tīng)聽(tīng)聽(tīng)i1, i2 = 1, 1聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# parallel assignment (i1 = 1 and i2 = 1)
聽(tīng)聽(tīng)聽(tīng)while i1 <= max
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)yield i1聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 涔熷彲浠ュ啓鎴恲ield(i1),聽(tīng)yield鎸囦護(hù)浠h〃浜?jiǎn)浠g爜鍧楁墽琛岀殑浣嵕|? i1鏄痬ethod浣撲腑瀵逛唬鐮佸潡f榪涜浜?jiǎn)璧嬪?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)i1, i2 = i2, i1+i2
聽(tīng)聽(tīng)聽(tīng)end
end

test(1000) {|f| print f, " " }

杈撳嚭: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987



鍙堜緥濡?
[1,3,5,7].inject(0) {|sum, element| sum+element} # 杈撳嚭:16



Method鐨勫0鏄?

涓鑸牸寮忔槸:
聽(tīng)聽(tīng)聽(tīng)def my_new_method(arg1, arg2, arg3)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 3 arguments
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# Code for the method would go here
聽(tīng)聽(tīng)聽(tīng)end

鏂規(guī)硶鍚峣nitialize鏄壒孌婄殑method, 瀹冨湪綾葷殑new鎿嶄綔鏃惰鎵ц, 鐢ㄤ簬瀵圭被瀹炰緥榪涜鍒濆鍖栨搷浣?
聽(tīng)聽(tīng)聽(tīng)def initialize(name, &block)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)@name, @block = name, block
聽(tīng)聽(tīng)聽(tīng)end

濡傛灉闇瑕佹柟娉曡繑鍥炰竴涓? 鍙互鏄懼紡浣跨敤return鍏抽敭瀛? 涔熷彲浠ヤ嬌鐢?榛樿鏈鍚庝竴琛岃繑鍥炲?褰㈠紡:
聽(tīng)聽(tīng)聽(tīng)def meth_one
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)"one"聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 鐩稿綋浜?return "one"
聽(tīng)聽(tīng)聽(tīng)end

濡傛灉method鐨勫0鏄庝腑鏈鍚庣殑鍙傛暟甯︽湁"&"鍓嶇紑(渚嬪涓嬩緥鐨?amp;action), 鍒欒〃紺鴻鍙傛暟鎺ュ彈鐨勬槸浠g爜鍧? 騫朵笖璇ヤ唬鐮佸潡灝嗚杞崲涓篜roc瀵硅薄, 鏈鍚庤璧嬪肩粰涓涓被瀹炰緥鍙橀噺,濡?
聽(tīng)聽(tīng)聽(tīng)class JukeboxButton < Button
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)def initialize(label, &action)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)super(label)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)@action = action #浠g爜鍧楀璞¤璧嬪肩粰涓涓被瀹炰緥鍙橀噺(鍗矦action)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)end
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)def button_pressed
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)@action.call(self)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)end
聽(tīng)聽(tīng)聽(tīng)end
聽(tīng)聽(tīng)聽(tīng)start_button = JukeboxButton.new("Start") { songlist.start }

濡傛灉method鐨勫0鏄庝腑鏈鍚庣殑鍙傛暟甯︽湁"*"鍓嶇紑, 琛ㄧず璇ュ弬鏁版帴鍙楃殑鏄?涓垨澶氫釜鍙傛暟(鍗?鍙彉闀垮弬鏁?, 渚嬪:
聽(tīng)聽(tīng)聽(tīng)def varargs(arg1, *rest)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)"Got #{arg1} and #{rest.join(', ')}"
聽(tīng)聽(tīng)聽(tīng)end
聽(tīng)聽(tīng)聽(tīng)varargs("one")聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# "Got one and "
聽(tīng)聽(tīng)聽(tīng)varargs("one", "two")聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) # "Got one and two"
聽(tīng)聽(tīng)聽(tīng)varargs "one", "two", "three" # "Got one and two, three"

濡傛灉method鐨勬柟娉曞悕鏈鍚庝負(fù)瀛楃"=", 琛ㄧず璇ユ柟娉曞彲涓虹被瀹炰緥鍙橀噺璧嬪? 鐩稿綋浜嶫ava涓殑setXXXX鏂規(guī)硶
聽(tīng)聽(tīng)聽(tīng)class Song
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)def duration=(new_duration)聽(tīng)聽(tīng) # 鏁翠釜鏂規(guī)硶鍚嶄負(fù)"duration="
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)@duration = new_duration聽(tīng)聽(tīng) # @duration涓虹被瀹炰緥鍙橀噺
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)end
聽(tīng)聽(tīng)聽(tīng)end
聽(tīng)聽(tīng)聽(tīng)song = Song.new("Bicylops", "Fleck", 260)
聽(tīng)聽(tīng)聽(tīng)song.duration聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 260
聽(tīng)聽(tīng)聽(tīng)song.duration = 257 # set attribute with updated value
聽(tīng)聽(tīng)聽(tīng)song.duration聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#聽(tīng)257


聽(tīng)聽(tīng)聽(tīng)涓婁緥涓殑"duration="鏂規(guī)硶 鐩稿綋浜庝笅闈㈢殑: attr_writer :duration
聽(tīng)聽(tīng)聽(tīng)class Song
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)attr_writer :duration
聽(tīng)聽(tīng)聽(tīng)end
聽(tīng)聽(tīng)聽(tīng)song = Song.new("Bicylops", "Fleck", 260)
聽(tīng)聽(tīng)聽(tīng)song.duration = 257


鍖洪棿:

涓や釜鐐瑰垱寤轟竴涓?鍖呭惈"鍖洪棿
1..10聽(tīng)聽(tīng)聽(tīng)聽(tīng)#鍖呭惈1鍜?0
'a'..'z'

涓変釜鐐瑰垱寤轟竴涓櫎鏈鍚庝竴涓厓绱犲鐨勫尯闂?br />my_array = [ 1, 2, 3 ]
0...my_array.length聽(tīng) # 鐩稿綋浜?..2

鍖洪棿鍙互閫氳繃to_a鍑芥暟鏉ヨ漿鎹負(fù)鏁扮粍
a = (1..3).to_a聽(tīng)聽(tīng) # a = [1, 2, 3]


鍖洪棿鐨勪竴浜涙柟娉?
digits = 0..9
digits.include?(5)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# true
digits === 5聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# true
digits.min聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 0
digits.max聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)# 9
digits.reject {|i| i < 5 }聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)#聽(tīng)[5, 6, 7, 8, 9]
digits.each {|digit| dial(digit)}聽(tīng)聽(tīng)聽(tīng) #聽(tīng) 0..9


寰呯畫(huà)...




]]>
Ruby涓? 縐嶉氳繃瀛楃涓茬被鍚嶆潵浜х敓綾誨疄渚?/title><link>http://m.tkk7.com/byterat/archive/2006/10/24/76940.html</link><dc:creator>姣旂壒榧?/dc:creator><author>姣旂壒榧?/author><pubDate>Tue, 24 Oct 2006 04:35:00 GMT</pubDate><guid>http://m.tkk7.com/byterat/archive/2006/10/24/76940.html</guid><wfw:comment>http://m.tkk7.com/byterat/comments/76940.html</wfw:comment><comments>http://m.tkk7.com/byterat/archive/2006/10/24/76940.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/byterat/comments/commentRss/76940.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/byterat/services/trackbacks/76940.html</trackback:ping><description><![CDATA[ <font face="Courier New" size="2"> <strong> <font style="BACKGROUND-COLOR: #ffffff" color="#000080">1. 鏍囧噯鐢ㄦ硶</font> </strong> <br /> </font> <span id="ywgec80" class="postbody"> <font face="Courier New" size="2">c = Object.const_get("Array") <br />s = c.new <br /><br /><strong><font color="#000080">2. 浣跨敤Ruby Extension</font></strong><br />c = Class.by_name("Array") <br />鍙傝: <a >http://extensions.rubyforge.org/rdoc/index.html</a><br /><br /><strong><font color="#000080">3. 閫氳繃eval</font></strong>聽(tīng)<br />c = eval("Array").new</font> </span> <img src ="http://m.tkk7.com/byterat/aggbug/76940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/byterat/" target="_blank">姣旂壒榧?/a> 2006-10-24 12:35 <a href="http://m.tkk7.com/byterat/archive/2006/10/24/76940.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Ruby on Rails鐨勫浗闄呭寲錛屾湰鍦板寲闂鐨勮В鍐?杞澆)http://m.tkk7.com/byterat/archive/2006/10/24/76888.html姣旂壒榧?/dc:creator>姣旂壒榧?/author>Tue, 24 Oct 2006 01:53:00 GMThttp://m.tkk7.com/byterat/archive/2006/10/24/76888.htmlhttp://m.tkk7.com/byterat/comments/76888.htmlhttp://m.tkk7.com/byterat/archive/2006/10/24/76888.html#Feedback1http://m.tkk7.com/byterat/comments/commentRss/76888.htmlhttp://m.tkk7.com/byterat/services/trackbacks/76888.html 鍘熸枃鍑?guó)檱? http://my.donews.com/woodstudio/

Ruby on Rails鏄竴涓緢涓嶉敊鐨剋eb寮鍙戞鏋訛紝涓嶈繃鐢變簬鐩墠鍏舵湰韜鍥介檯鍖栫殑鏀寔杈冨樊錛屾墍浠ラ渶瑕佷竴浜涜緟鍔╃殑涓滆タ鏉ヨВ鍐沖浗闄呭寲闂銆?/font>

鎴戞渶鍏堜嬌鐢ㄧ殑鏄竴涓彨localization鐨勬彃浠訛紝榪欎釜鎻掍歡鐨勪嬌鐢ㄨ鏄庡湪Ruby on Rails瀹樻柟鐨剋iki涓婇潰鏈夛紝榪欎釜鎻掍歡浣跨敤姣旇緝綆鍗曪紝涓嶈繃鍔熻兘姣旇緝寮便?/font>

鐩墠浣跨敤鐨勬槸Ruby-GetText錛岃繖涓彃浠跺姛鑳藉己澶э紝鍩轟簬GNU鐨刧ettext錛岃緇嗙殑浣跨敤璇存槑鍦?/font> http://manuals.rubyonrails.com/read/chapter/105 涓婇潰鏈夊啓錛屾垜澶ф鎻愪竴涓嬭鐐癸細(xì)

棣栧厛瑕佹槸Ruby on Rails鏀寔UTF-8錛岄氳繃灝嗗涓嬩唬鐮佹坊鍔犲埌environment.rb涓細(xì)

$KCODE = 鈥榰鈥?br />require 鈥榡code鈥?/font>

鎺ョ潃鏄畨瑁匯uby-GetText錛岃繍琛実em install gettext灝卞彲浠ヤ簡(jiǎn)錛屽鏋滄槸Windows騫沖彴灝遍?錛屽惁鍒欓?銆傛帴鐫灝辨槸鍦ㄩ」鐩牴鐩綍涓嬮潰鍒涘緩po鐩綍錛岄噷闈㈡坊鍔犱綘闇瑕丩ocale鐨勫悕瀛椾綔涓哄瓙鐩綍錛屾瘮濡俥n, zh_CN絳夈傞渶瑕佸浗闄呭寲鐨勫瓧絎︿覆閮戒互_(鈥?)鏉ヤ功鍐欙紝姣斿鎯沖浗闄呭寲鈥滅紪杈戔濊繖涓爣絳撅紝灝卞彲浠ュ湪瑙嗗浘鐨剅html涓嬌鐢╛(鈥滶dit鈥?錛岃繖鏍峰湪鏄劇ず鐨勬椂鍊欎細(xì)鑷姩鏍規(guī)嵁Locale鏉ユ浛鎹㈡垚鐩稿簲鐨勫箋?/font>

鎺ョ潃鍦ㄩ」鐩殑rakefile閲岄潰濡備笅鍐呭錛?/font>

desc 鈥淐reate mo-files for L10n鈥?br />task :makemo do
聽(tīng) GetText.create_mofiles(true, 鈥減o鈥? 鈥渓ocale鈥?
end

闇瑕佹敞鎰忕殑鏄湪涓婇潰緇欏嚭鐨勯摼鎺ョ殑閭g瘒鏂囩珷閲岄潰錛岃繕闇瑕佹坊鍔爑pdatepo榪欐牱涓涓洰鏍囷紝涓嶈繃榪欎釜鐩爣鍦ㄦ垜榪欎笉璧蜂綔鐢紝鎬繪槸鍑洪敊錛屾垜鐨勫姙娉曟槸涓嬭澆閭g瘒鏂囩珷闄勫甫鐨勪唬鐮侊細(xì) http://www.digitale-wertschoepfung.de/artikel/gettext/using-gettext-with-rails.tgz 銆傚湪閲岄潰鐨剆cript鐩綍涓嬮潰鏈変竴涓猯ocalize鏂囦歡錛屾妸瀹冩嫹璐濆埌浣犵殑欏圭洰鐨剆cript鐩綍涓嬮潰錛岀劧鍚庤繍琛宺uby ./script/localize {鏂囨湰鍩熺殑鍚嶅瓧}灝卞彲浠ヤ粠controllers, views涓洿鏂皃o鏁版嵁錛岀敤Unicode緙栬緫鍣紙姣斿UltraEdit錛変慨鏀瑰悇涓猵o鏂囦歡錛岀劧鍚庤繍琛宺ake makemo灝卞彲浠ヤ簡(jiǎn)銆傚叧浜庡鏋滀慨鏀筧pplication.rb鍙?qiáng)鍏朵粬controller鐨勪唬鐮侊紝鏌ョ湅緇欏嚭鐨勯摼鎺ャ傛鏃墮噸鏂板惎鍔╯erver錛屽氨鍙互鏌ョ湅鏁堟灉浜?jiǎn)銆?/font>



]]>
鍩轟簬Ruby鐨勫厓緙栫▼鎶鏈?杞澆)http://m.tkk7.com/byterat/archive/2006/10/24/76886.html姣旂壒榧?/dc:creator>姣旂壒榧?/author>Tue, 24 Oct 2006 01:52:00 GMThttp://m.tkk7.com/byterat/archive/2006/10/24/76886.htmlhttp://m.tkk7.com/byterat/comments/76886.htmlhttp://m.tkk7.com/byterat/archive/2006/10/24/76886.html#Feedback0http://m.tkk7.com/byterat/comments/commentRss/76886.htmlhttp://m.tkk7.com/byterat/services/trackbacks/76886.html鍘熸枃鍑哄: http://www.rubychina.org/viewthread.php?tid=124&extra=page%3D1

聽(tīng) 聽(tīng) 鍏冪紪紼嬪茍涓嶆槸涓涓緢鏂扮殑姒傚康錛岄氬父鍏冪紪紼嬭璁や負(fù)鏄氳繃紼嬪簭鏉ョ敓鎴愮▼搴忥紝濡傛灉浠庤繖縐嶆剰涔変笂鏉ヨ冭檻錛岄偅涔坙ex鍜寉acc浠ュ強(qiáng)JavaCC搴旇閮藉彲浠ョ畻鏄叿鏈変簡(jiǎn)鍏冪紪紼嬬殑姒傚康錛屽湪Java涓紝鍏冪紪紼嬪緱鍒頒簡(jiǎn)騫挎硾鐨勫簲鐢ㄣ備絾鍦≧uby涓紝鍏冪紪紼嬬殑浣跨敤鍙樺緱鐩稿綋鐨勭畝鍗曞拰瀹規(guī)槗瀹炵幇錛屼嬌鐢≧uby璇█鏈韓鏉ヤ駭鐢烺uby浠g爜錛屼笉闇瑕佸熷姪澶栭儴鐨勫伐鍏鳳紝钁楀悕鐨凴oR妗嗘灦灝辨槸寤虹珛鐨凴uby鍏冪紪紼嬬殑鍩虹涓婄殑銆傚彲鑳戒綘浣犲鍏冪紪紼嬭繕娌′粈涔堟蹇碉紝浣嗘槸Ruby宸茬粡鍐呭緩浜?jiǎn)鍏兙~栫▼榪欑鏈哄埗錛屾墍浠ュ緢鏈夊彲鑳斤紝浣犲湪涓嶇煡涓嶈涓氨宸茬粡浣跨敤浜?jiǎn)Ruby鍏冪紪紼嬫妧鏈負(fù)浣犲甫鏉ョ殑鏂逛究涔嬪銆傚涓嬮潰榪欐浠g爜錛?/font>

class Person
聽(tīng) 聽(tīng)attr_reader :name
end
浣犺偗瀹氱煡閬?:name 鏄拰 @name 鐩稿叧鑱旂殑錛屼絾鏄綘涓嶄竴瀹氭竻妤氬畠鍒板簳鏄庝箞瀹炵幇鐨勶紝鍏跺疄attr_reader鏂規(guī)硶鐨勫疄鐜板氨鏄噰鐢ㄤ簡(jiǎn)鍏冪紪紼嬫妧鏈紝濡備笅闈㈢殑榪欐浠g爜錛?br />
class Module
聽(tīng) 聽(tīng) def attr_reader(*syms)
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)syms.each do |sym|
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)class_eval %{def #{sym}聽(tīng) 聽(tīng)
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)@#{sym}
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng) end
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)end聽(tīng) 聽(tīng)
聽(tīng) 聽(tīng) end
end

聽(tīng) 聽(tīng) 鐪嬩簡(jiǎn)榪欐浠g爜錛屼綘搴旇澶ф浜?jiǎn)瑙e厓缂柦E嬬殑鏈哄埗浜?jiǎn)鍚уQ屽鏋滀綘鐜板湪榪樹(shù)笉浜?jiǎn)瑙eQ岄偅涔堟垜寤鴻浣犲厛璁ょ湡鐨勫涔?fàn)涓涓婻uby鐨勫弽灝勬満鍒訛紝鐒跺悗鍐嶆帴涓嬪幓鐪嬭繖綃囧笘瀛愶紝鍥犱負(fù)涓嬮潰浠嬬粛鐨勫唴瀹瑰茍涓嶆槸涓鏉┐鍎垮ザ綺夈?br />

聽(tīng) 聽(tīng) 鍦≧uby On Rails涓紝鏈変竴涓狾R鏄犲皠灞傦紝灝辨槸鍔ㄦ佺殑浠庝竴寮犲叧緋昏〃鏄犲皠鍒頒竴涓璞★紝榪欎富瑕佺敱ActiveRecord綾繪潵瀹炵幇銆傚湪OR鏄犲皠妯″瀷涓紝灝嗗叧緋繪暟鎹簱涓殑鍏崇郴琛ㄨ〃鏄犲皠鍒板璞℃ā鍨嬫椂錛屽皢鍏崇郴琛ㄧ殑琛ㄥ悕鏄犲皠鍒扮被鍚嶏紝琛ㄤ腑鐨勬瘡涓涓厓緇勬槧灝勫埌瀵瑰簲浜庤繖涓被鐨勪竴涓璞★紝鍏冪粍鐨勪竴涓瓧孌靛搴斾簬瀵硅薄鐨勪竴涓睘鎬с?/font>

鍋囧鎴戜滑鏈変竴涓繚瀛樿亴鍛樺熀鏈俊鎭殑鏂囦歡錛屾枃浠剁殑鏍煎紡鏄繖鏍風(fēng)殑錛氱涓琛屾槸鏂囦歡鍐呭鐨勬瘡涓瓧孌電殑鍚嶇О錛屼粠絎簩琛屽紑濮嬶紝鍒欐槸姣忎釜鑱屽憳鐨勫熀鏈俊鎭傜幇鍦ㄦ垜浠湁涓涓枃浠跺悕涓衡渆mployee.txt鈥濈殑鏂囦歡錛屽叾鍐呭濡備笅鎵紺猴細(xì)


name,age,gender

"John", 23, "male"

"Linclon", 25, "male"


鍋囪鎴戜滑灝辮浠庤繖涓枃鏈枃浠朵腑璇誨彇鏁版嵁錛屽茍榪涜涓瀹氱殑澶勭悊銆傚鏋滄槸浣跨敤C++緙栫▼錛屼綘棣栧厛涓瀹氫細(xì)鎯沖埌搴旇瀹氫箟涓涓狤mployee綾伙紝鐒跺悗榪欎釜綾諱腑鏈塶ame, age, gender榪欎簺鎴愬憳鍙橀噺銆備絾鏄槸閲囩敤榪欑鏂規(guī)硶鐨勮瘽錛屽彲浠ュ彂鐜幫紝濡傛灉鎯沖湪鑱屽憳?shù)俊鎭腑鍔犲叆涓涓瓧孌碉紝姣斿閮ㄩ棬錛坉epartment錛夛紝灝變笉寰椾笉淇敼Employee綾葷殑浠g爜錛屽湪Employee綾諱腑澧炲姞涓涓渄epartment鈥濇垚鍛樺彉閲忥紝鎵浠ユ垜浠殑浠g爜鏄珮搴︿緷璧栦簬鏂囦歡鐨勫叿浣撴牸寮忥紝榪欏綋鐒朵笉鏄竴涓ソ鐨勭幇璞°傛垜浠笇鏈涙湁涓縐嶆洿綆鍗曞拰浼橀泤鐨勬柟妗堬紝榪樻湁錛孯uby鍔ㄦ佹ф彁楂樼粰鎴戜滑涓涓В鍐蟲(chóng)柟妗堬紝浣嗘槸錛屾垜浠簲璇ヤ粠鍜屼笅鎵嬪憿錛岃繖灝遍渶瑕丷uby鐨勫厓緙栫▼鑳藉姏銆?/font>


聽(tīng) 聽(tīng) 棣栧厛錛屾垜浠兂搴旇鏈変竴涓亴鍛樼被錛屽湪Rails涓紝姣忎釜鍏崇郴琛ㄧ殑鍚嶇О浼?xì)鎴愪负绫荤殑鍚嵖U幫紝鍦ㄨ繖閲岋紝閲囩敤綾諱技鐨勬柟娉曪紝灝嗘枃鏈枃浠剁殑鍚嶇О浣滀負(fù)綾葷殑鍚嶇О錛屽湪Ruby涓紝綾誨悕鍚屾椂涔熸槸涓涓父閲忓悕錛屾墍浠ョ涓涓瓧姣嶅繀欏諱負(fù)澶у啓錛屾垜浠嬌鐢ㄥ涓嬬殑浠g爜鏉ョ敓鎴愮被鍚嶃?/font>


class_name = File.basename(file_name, ".txt").capitalize
# "employee.txt" => "Employee"
klass = Object.const_set(class_name, Class.new)



Class.new鐢熸垚涓涓柊鐨勭被錛岃繖涓被鐨勫悕縐版槸鍖垮悕鐨勶紝鎵浠ラ噰鐢╟onst_set鎿嶄綔鏉ョ粦瀹氫竴涓被鍚嶏紝鍙橀噺klass鏄柊綾誨瀷鐨勫紩鐢ㄣ?/font>


鐢熸垚浜?jiǎn)杩欎釜绫讳互鍚庡Q岄渶瑕佹兂榪欎釜綾繪坊鍔犲鍚嶏紝騫撮緞鍜屾у埆榪欎簺灞炴э紝榪欎簺灞炴х殑鍚嶇О鏄湪鏂囨湰鏂囦歡鐨勭殑絎竴琛屼腑緇欏嚭鐨勩?br />


data = File.new(file_name)
header = data.gets.chomp

data.close

names = header.split(",")


涓嬮潰鐨勪唬鐮佺粰鍑轟簡(jiǎn)濡備綍鐢熸垚榪欎簺灞炴э紝浠ュ強(qiáng)鍒濆鍖栬繖浜涘睘鎬у箋?br />


klass.class_eval do
聽(tīng) 聽(tīng) attr_accessor *names
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)
聽(tīng) 聽(tīng) define_method(:initialize) do |*values|
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)names.each_with_index do |name, i|
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)instance_variable_set("@" + name, values )
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)end
聽(tīng) 聽(tīng) end
聽(tīng)聽(tīng)聽(tīng)聽(tīng)#...聽(tīng) 聽(tīng)
end聽(tīng) 聽(tīng)

鐜板湪錛屾湁浜?jiǎn)涓緋誨垪鐨勮闂瓙錛堝彲璇誨拰鍙啓錛夛紝閫氳繃instance_variable_set鏂規(guī)硶錛屽張緇欐瘡涓睘鎬у仛浜?jiǎn)鍒濆鍖栥?br />

鍙橀噺names鏄湪鍧楀閮ㄥ畾涔夌殑錛岀敱浜庡潡鐨勯棴鍚堟э紝鎵浠ュ彉閲弉ames鍦ㄥ潡涓篃鏄湁鏁堢殑銆傚綋鐒?dòng)灱屼皋Z簡(jiǎn)紼嬪簭鐨勬紨紺猴紝鍙堝畾涔夌殑浜?jiǎn)涓涓猼o_s鏂規(guī)硶錛屼唬鐮佸涓嬫墍紺猴細(xì)


聽(tīng) 聽(tīng) define_method(:to_s) do
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)str = "<#{self.class}: "
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)names.each {|name| str << "#{name}=#{self.send(name)} "}
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)str + ">"
聽(tīng) 聽(tīng) end
聽(tīng) 聽(tīng) alias_method :inspect, :to_s


聽(tīng) 聽(tīng) 瀹屾垚浜?jiǎn)杩欎簺浠ュ悗锛屽浜幘c葷殑鏋勯犲凡緇忓熀鏈粨鏉熶簡(jiǎn)錛岀幇鍦ㄥ氨闇瑕佺湡姝g殑浠庢枃鏈枃浠朵腑璇誨彇鏁版嵁浜?jiǎn)銆備粠鏂囨湰鏂囦歡璇繪暟鎹簲璇ユ槸涓涓被鏂規(guī)硶錛岃屼笉鏄竴涓疄渚嬬殑鏂規(guī)硶錛屽叾瀹炵幇浠g爜濡備笅錛?br />


聽(tīng) 聽(tīng) def klass.read
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)array = []
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)data = File.new(self.to_s.downcase + ".txt")
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)data.gets #throw away header
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)data.each do |line|
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)line.chomp!
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)values = eval("[#{line}]")
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)array << self.new(*values)
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)end
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)data.close
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)return array
聽(tīng) 聽(tīng) end


鍦ㄨ繖涓柟娉曚腑錛屼嬌鐢ㄥ瓧鐨勭被鍚嶆潵鍖歸厤鐩稿叧鐨勬枃浠訛紝姣斿灝咵mployee綾繪槧灝勫埌鈥渆mployee銆倀xt鈥濄?br />

鐒跺悗錛屼粠鏂囦歡涓鍙栬亴鍛樹(shù)俊鎭紝鐢變簬絎竴琛屾槸瀛楁瀹氫箟錛屾墍浠ヨ鑸嶅純絎竴琛屾暟鎹備粠絎簩琛屽紑濮嬭鍙栨暟鎹紝姣忚鍙栦竴琛屾暟鎹紝鍒欐瀯閫犱竴涓狤mployee瀹炰緥銆?font color="black">閫氳繃涓婇潰榪欎釜綆鍗曠殑渚嬪瓙錛屾垜浠彲浠ョ湅鍑哄厓緙栫▼鐨勫姛鑳芥槸鐩稿綋涔嬪己澶х殑錛屼嬌鐢ㄥ厓緙栫▼鎶鏈紝鍙互鏋勯犵浉褰撶畝鍗曪紝浼橀泤鐨勮В鍐蟲(chóng)柟妗堛?/font>



]]>
Rails Installing on Windowshttp://m.tkk7.com/byterat/archive/2006/10/23/76680.html姣旂壒榧?/dc:creator>姣旂壒榧?/author>Mon, 23 Oct 2006 00:48:00 GMThttp://m.tkk7.com/byterat/archive/2006/10/23/76680.htmlhttp://m.tkk7.com/byterat/comments/76680.htmlhttp://m.tkk7.com/byterat/archive/2006/10/23/76680.html#Feedback0http://m.tkk7.com/byterat/comments/commentRss/76680.htmlhttp://m.tkk7.com/byterat/services/trackbacks/76680.html閫氬父鍦╓indows涓婂畨瑁匯uby on Rails閮介噰鐢ㄤ互涓嬫楠?

1.瀹夎Ruby

http://rubyforge.org/frs/?group_id=167

榪欓噷鏈墂indows涓閿畨瑁呯増鏈?/font>

2.鍦ㄧ嚎瀹夎Rails

C:\> gem聽(tīng)install聽(tīng)rails聽(tīng)--include-dependencies



浠ヤ笂鏂規(guī)硶鍦ㄤ竴鑸儏鍐典笅閮芥槸鍙鐨? 浣嗗鏋滀笉琛岀殑璇? 榪樺彲鍙傜収浠ヤ笅鏂規(guī)硶:

1. 璁塊棶:http://instantrails.rubyforge.org/wiki/wiki.pl
聽(tīng)聽(tīng)
聽(tīng)聽(tīng) 涓嬭澆鏈鏂扮増鏈殑InstantRails

2. 瑙e帇鍒頒綘鎸囧畾鐨勭洰褰曚笅, 娉ㄦ剰, 鐩綍鍚?鍖呮嫭璺緞鍚?涓嶈兘鏈夌┖鏍?br />
3. 璁塊棶鍏朵腑鐨剅eadme.txt, 閲岄潰璇︾粏璇存槑浜?jiǎn)濡備綍閰嵕|拰榪愯InstantRails




姣旂壒榧?/a> 2006-10-23 08:48 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲第一成年免费网站| 国产精品免费看久久久无码| 一个人免费观看www视频在线| 亚洲小说图区综合在线| 久久精品国产免费| xvideos亚洲永久网址| 亚洲an日韩专区在线| 久久精品国产免费一区| 亚洲中文字幕无码久久| 伊伊人成亚洲综合人网7777| 阿v免费在线观看| 成年人免费网站在线观看| 亚洲天堂一区二区三区四区| 午夜爽爽爽男女免费观看影院| 亚洲一区无码中文字幕| 国产日韩精品无码区免费专区国产| 四虎永久成人免费| 农村寡妇一级毛片免费看视频| 波多野结衣视频在线免费观看| 亚洲.国产.欧美一区二区三区| 免费特级黄毛片在线成人观看| 亚洲av无一区二区三区| 亚洲成人动漫在线| 华人在线精品免费观看| 久久精品国产亚洲av天美18| 亚洲精品A在线观看| 国产精品小视频免费无限app | 高清一区二区三区免费视频| 亚洲国产精品成人精品无码区 | 国拍在线精品视频免费观看| 亚洲不卡影院午夜在线观看| 国产一区二区视频免费| 91嫩草免费国产永久入口| 亚洲xxxx18| 亚洲伊人成无码综合网 | 成人无码区免费视频观看| 黄色网址在线免费观看| 中文字幕 亚洲 有码 在线| 亚洲2022国产成人精品无码区| 亚洲一级Av无码毛片久久精品| 免费无码又爽又刺激高潮|