锘??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕日韩精品一区,国产视频综合在线,密臀av在线http://www.aygfsteel.com/Blake/category/1583.htmlJava Toxication!zh-cnWed, 07 Mar 2007 18:30:04 GMTWed, 07 Mar 2007 18:30:04 GMT60<image src='http://www.aygfsteel.com/images/blogjava_net/blake/Misc/ruby.gif'/>Get total lines of fileshttp://www.aygfsteel.com/Blake/archive/2005/06/18/6311.htmlBlake HANBlake HANSat, 18 Jun 2005 04:24:00 GMThttp://www.aygfsteel.com/Blake/archive/2005/06/18/6311.htmlhttp://www.aygfsteel.com/Blake/comments/6311.htmlhttp://www.aygfsteel.com/Blake/archive/2005/06/18/6311.html#Feedback2http://www.aygfsteel.com/Blake/comments/commentRss/6311.htmlhttp://www.aygfsteel.com/Blake/services/trackbacks/6311.htmlThis is one small tools to get the total file line number of on folder.

 1POST_FIX = %w{java jsp html xml properties}
 2EXCLUDE_DIR =
 %w{CVS}
 3$displayStr = ""

 4$fileReg = ""
 5$dirReg = "\\.|\\.\\.|"
 6

 7def sumLine(fileName)
 8  file =
 open fileName
 9
  begin
10    while
 file.gets()
11    end

12  ensure
13
    file.close
14  end

15  $.
16end

17
18def iteDir(name, level=0
)
19  lines = 0

20  dir = Dir.open name
21  rex = /\+ "java" +$|\.jsp$|\.html$/

22  begin
23    dir.each do
 |fileName|
24      fileName = dir.path + '/' + fileName

25      if File.ftype(fileName) =/directory/
26        if not fileName =~ Regexp.new($dirReg)
27          lines += iteDir(fileName, level+1
)
28        else

29          next
30        end
31      elsif fileName =~ Regexp.new($fileReg)
32        lines +=
 sumLine(fileName)
33      end

34    end
35  ensure
36
    dir.close
37  end

38  str = ""
39  for i in 0..(level-1)
40    str += "\t|"

41  end
42  if level != 0
43    str += "---"
44  end
45  $displayStr = "#{str}#{name}\t#{lines} lines\n#{$displayStr}"
46  lines
47end

48
49POST_FIX.each do
 |postfix|
50  $fileReg += "\.#{postfix}$|"

51end
52$fileReg = $fileReg.chop
53

54EXCLUDE_DIR.each do
 |excludeDir|
55  $dirReg += "^#{excludeDir}$|"

56end
57$dirReg = $dirReg.chop
58

59print "Total #{iteDir("E:/_MyWorkSpace/IDEA_Proj")} lines\n"

60print $displayStr

Keystone:
   1. Ruby I/O access. Dir and File
   2. Regexp & String -> Regexp
   3. Some kinds of variables
   4. Array operation

Technorati Tags: Ping Technorati



Blake HAN 2005-06-18 12:24 鍙戣〃璇勮
]]>
<image src='http://www.aygfsteel.com/images/blogjava_net/blake/Misc/ruby.gif'/>Use Ruby send emailhttp://www.aygfsteel.com/Blake/archive/2005/06/16/6232.htmlBlake HANBlake HANThu, 16 Jun 2005 11:38:00 GMThttp://www.aygfsteel.com/Blake/archive/2005/06/16/6232.htmlhttp://www.aygfsteel.com/Blake/comments/6232.htmlhttp://www.aygfsteel.com/Blake/archive/2005/06/16/6232.html#Feedback0http://www.aygfsteel.com/Blake/comments/commentRss/6232.htmlhttp://www.aygfsteel.com/Blake/services/trackbacks/6232.htmlToday I'll show you how to send email with Ruby:

 1 require 'net/smtp'
 2 SMTP_HOST = "192.168.60.99"
 3 

 4 def send(from, to, subject, msg)
 5   mail = "To: #{to}\r\n" +

 6          "From: #{from}\r\n" +
 7          "Subject: #{subject}\r\n" +
 8          "\r\n" +
 9          msg
10 

11   Net::SMTP.start(SMTP_HOST) do |smtp|
12     smtp.send_mail(mail, from, to
)
13   end

14 end
15 
16 from = "blake@192.168.60.99"
17 to = ["blake@192.168.60.99"]
18 send(from, to"test""Just a test!\ntest")

Notice:
1. 'mail' is the email body, it use "\r\n" to separate the mail header and mail context. So if you only want to send context without header, you should write: "mail = "\r\n" + msg". Otherwise your email will lost the context.

Technorati Tags: Ping Technorati



Blake HAN 2005-06-16 19:38 鍙戣〃璇勮
]]>
Ruby姒傝堪http://www.aygfsteel.com/Blake/archive/2005/06/16/6221.htmlBlake HANBlake HANThu, 16 Jun 2005 09:04:00 GMThttp://www.aygfsteel.com/Blake/archive/2005/06/16/6221.htmlhttp://www.aygfsteel.com/Blake/comments/6221.htmlhttp://www.aygfsteel.com/Blake/archive/2005/06/16/6221.html#Feedback0http://www.aygfsteel.com/Blake/comments/commentRss/6221.htmlhttp://www.aygfsteel.com/Blake/services/trackbacks/6221.html Ruby鏄潰鍚戝璞$殑緙栫▼璇█錛屽ス榪芥眰鐨勬槸鈥滅畝渚垮揩鎹風(fēng)殑闈㈠悜瀵硅薄緙栫▼鈥濄俁uby鏄В閲婂瀷璇█錛屽洜姝や笉闇緙栬瘧鍗沖彲蹇嵎鍦扮紪紼嬨傚悓鏃禦uby鍏鋒湁綾諱技 Perl鐨勫己澶х殑鏂囨湰澶勭悊鍔熻兘錛屽ス鍙茍涓嶅彧鏄釜鐜╁叿錛屾?zhèn)ㄥ彲浠ョ敤濂规潵杩涜瀹炵敤鐨劸~栫▼銆傛澶栵紝鎮(zhèn)ㄨ繕鍙互寰堟柟渚垮湴浣跨敤C璇█鏉ユ墿灞昍uby鐨勫姛鑳斤紝鍥犳鍙互鎶婂ス褰撲綔鍚勭搴撶殑鍓嶇鏉ヤ嬌鐢ㄣ?/FONT>

鑻ユ?zhèn)ㄦ泟』忊滄兂瑕佷竴縐嶇畝鍗曠殑闈㈠悜瀵硅薄鐨勮璦鈥濓紝鎴栬呰涓衡淧erl鐨勫姛鑳借櫧鐒跺ソ鐢紝浣嗗畠鐨勮娉曠湡璁╀漢鍙椾笉浜?jiǎn)鈥濓紝鍙堟垨鑰呰寰椻渓isp緋誨垪璇█鐨勬濇兂涓嶉敊錛屼絾鍒板閮芥槸鎷彿鐪熻浜鴻鍘岋紝鏈璧風(fēng)爜綆楀紡搴旇鎸夌収閫氬父鐨勬牱寮忎功鍐欌濄傞偅涔堬紝Ruby鎴栬鑳借鎮(zhèn)ㄦ弧鎰忋?/FONT>

褰掔撼浠ユ潵錛孯uby鏈変互涓嬩紭鐐廣?/FONT>

瑙i噴鍣?/STRONG>
Ruby鏄В閲婂瀷璇█錛屽叾紼嬪簭鏃犻渶緙栬瘧鍗沖彲杞繪澗鎵ц銆?/FONT>
鍙橀噺鏃犵被鍨?/STRONG>
Ruby鐨勫彉閲忔病鏈夌被鍨嬶紝鍥犳涓嶅繀涓洪潤(rùn)鎬佺殑綾誨瀷鍖歸厤鑰岀儲(chǔ)鎭箋傜浉搴斿湴錛岄敊璇鏌ュ姛鑳戒篃鍙樺急浜?jiǎn)銆?/FONT>
涓嶉渶瑕佸彉閲忓0鏄?/STRONG>
鎵鏈夊彉閲忓潎鏃犻渶澹版槑鍗沖彲绔嬪嵆浣跨敤銆傚彟澶栵紝浠庡彉閲忓悕鍗沖彲鍒ゆ柇鍑烘槸浣曠鍙橀噺錛堝眬閮ㄥ彉閲忥紝鍏ㄥ眬鍙橀噺錛屽疄渚嬪彉閲忥級(jí)銆?/FONT>
璇硶綆鍗?/STRONG>
璇硶姣旇緝綆鍗曪紝綾諱技Algol緋昏娉曘?/FONT>
涓嶉渶瑕佸唴瀛樼鐞?/STRONG>
鍏鋒湁鍨冨溇鍥炴敹錛圙arbage Collect錛孏C錛夊姛鑳斤紝鑳借嚜鍔ㄥ洖鏀朵笉鍐嶄嬌鐢ㄧ殑瀵硅薄銆?/FONT>
涓鍒囬兘鏄璞?/STRONG>
Ruby浠庝竴寮濮嬪氨琚璁℃垚綰補(bǔ)鐨勯潰鍚戝璞¤璦錛屽洜姝や互鏁存暟絳夊熀鏈暟鎹被鍨嬩負(fù)棣栫殑鎵鏈変笢瑗塊兘鏄璞★紝瀹冧滑閮芥湁鍙戦佷俊鎭殑緇熶竴鎺ュ彛銆?EM>錛堣繖鏂歸潰榪濲ava閮戒笉濡俁uby錛?/FONT>
綾伙紝緇ф壙錛屾柟娉?/STRONG>
Ruby褰撶劧鍏鋒湁闈㈠悜瀵硅薄璇█鐨勫熀鏈姛鑳姐?/FONT>
鐗規(guī)畩鏂規(guī)硶
鍙悜鏌愬璞℃坊鍔犳柟娉曘備緥濡傦紝鍙互鎶奊UI鎸夐挳琚寜涓嬫椂鐨勫姩浣滀綔涓烘柟娉曡榪頒笅鏉ワ紝榪樺彲浠ョ敤瀹冩潵榪涜鍘熷瀷搴擄紙prototypebase錛夌殑闈㈠悜瀵硅薄緙栫▼錛堟湁浜鴻繖涔堝共鍚э級(jí)銆?/FONT>
鐢ㄦā鍧楄繘琛屾販鍚堟彃鍏ワ紙Mixin錛?/STRONG>
Ruby鏁呮剰鑸嶅純浜?jiǎn)澶氶噸鐟翩壙锛屼絾鎷ユ湁尕滃悎鎻掑叆鍔熻兘銆備嬌鐢ㄦā鍧楁潵瓚呰秺綾葷殑鐣岄檺鏉ュ叡浜暟鎹拰鏂規(guī)硶絳夈?/FONT>
榪唬鍣?/STRONG>
璇ュ姛鑳藉彲浠ュ皢寰幆鎶借薄鍖栥?/FONT>
闂寘
鍙互灝嗘煇榪囩▼鐗囨瀵硅薄鍖栥傚璞″寲鍚庣殑璇ヨ繃紼嬬墖孌靛氨縐頒綔闂寘銆?/FONT>
鍔熻兘寮哄ぇ鐨勫瓧絎︿覆鎿嶄綔錛忔鍒欒〃杈懼紡
浠erl涓烘牱鏉垮垱閫犲嚭浜?jiǎn)鍔熻兘寮哄ぇ鐨勫瓧绗︿覆鎿嶄綔鍜屾鍒欒〃杈惧紡妫绱㈠姛鑳姐?/FONT>
鎷ユ湁瓚呴暱鏁存暟
娣誨姞瓚呴暱鏁存暟鍔熻兘鍚庯紝鍙互璁$畻闈炲父澶х殑鏁存暟銆備緥濡傝綆?00鐨勯樁涔樹篃杞昏屾槗涓俱?/FONT>
鍏鋒湁閿欒澶勭悊鍔熻兘
閿欒澶勭悊鍔熻兘鍙互浣挎?zhèn)ň~栧啓浠g爜澶勭悊鍑洪敊鎯呭喌銆?/FONT>
鍙互鐩存帴璁塊棶OS
Ruby鍙互浣跨敤錛圲NIX鐨勶級(jí)緇濆ぇ閮ㄥ垎鐨勭郴緇熻皟鐢ㄣ傚崟鐙嬌鐢≧uby涔熷彲浠ヨ繘琛岀郴緇熺紪紼嬨?/FONT>
鍔ㄦ佸姞杞?/STRONG>
鑻S鏀寔鐨勮瘽錛屽彲浠ュ湪榪愯鏃惰鍏ュ璞℃枃浠躲?/FONT>

浣哛uby涔熸湁涓嬪垪緙虹偣銆?/FONT>

  • 鍥犱負(fù)Ruby鏄В閲婂瀷璇█錛屾墍浠ラ熷害杈冩參
  • 闈?rùn)鎬佹鏌ユ瘮杈冨皯

Technorati Tags: Ping Technorati



Blake HAN 2005-06-16 17:04 鍙戣〃璇勮
]]>
<image src='http://www.aygfsteel.com/images/blogjava_net/blake/Misc/ruby.gif'/>Ruby Http clienthttp://www.aygfsteel.com/Blake/archive/2005/06/02/5476.htmlBlake HANBlake HANThu, 02 Jun 2005 08:52:00 GMThttp://www.aygfsteel.com/Blake/archive/2005/06/02/5476.htmlhttp://www.aygfsteel.com/Blake/comments/5476.htmlhttp://www.aygfsteel.com/Blake/archive/2005/06/02/5476.html#Feedback1http://www.aygfsteel.com/Blake/comments/commentRss/5476.htmlhttp://www.aygfsteel.com/Blake/services/trackbacks/5476.htmlAn example shows how to use Ruby write an HTTP client.

require 'net/http'
def fetch(loc, port, url)
   z
=nil
   h
=Net::HTTP.new(loc,port)
   begin
     resp, data 
= h.get(url,z)
     puts 
"Code = #{resp.code} #{resp.message}"
     resp.each {|key, val| printf "%-14s = %-40.40s\n", key, val}
     p data
   rescue Net::ProtoFatalError 
=> detail
     head 
= detail.data
     head.
each {|key,val| puts "#{key}    #{val}"}
     
if head.code=="404"
         puts "File not Found"
     elsif head.code=="401"
         print "Authorization Required\n User name?"
         gets
         uname
=$_.chomp
         
print "Password?"
         gets
         pwd
=$_.chomp
         unpwd
=uname + ":" + pwd
         puts unpwd
         hval
=[unpwd].pack("m")
         z
={'Authorization' => 'Basic ' + hval}
         retry
     
end
   rescue SystemCallError
         puts 
"Can't connect"
   end
end

fetch(
'www.aygfsteel.com', 80, '/blake/articles/5471.html')

Technorati Tags: | Ping Technorati



Blake HAN 2005-06-02 16:52 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 平武县| 瓦房店市| 库伦旗| 阿拉善盟| 巴彦淖尔市| 湘潭县| 玛曲县| 江源县| 军事| 肃北| 闵行区| 从化市| 高青县| 柘城县| 和田市| 渭源县| 古浪县| 社旗县| 兴国县| 军事| 襄樊市| 宁波市| 昭通市| 昌乐县| 高雄市| 马山县| 西乌| 曲麻莱县| 腾冲县| 汽车| 揭西县| 朝阳县| 茂名市| 峨眉山市| 江达县| 永宁县| 千阳县| 阿克陶县| 五原县| 英吉沙县| 大港区|