锘??xml version="1.0" encoding="utf-8" standalone="yes"?>99精品国产综合久久久久五月天,亚洲嫩草影院久久精品,国产免费久久精品丫丫http://www.shnenglu.com/skyscribe/category/11102.htmlzh-cnMon, 12 Mar 2012 04:54:21 GMTMon, 12 Mar 2012 04:54:21 GMT60杞Щ鍒癵ithubhttp://www.shnenglu.com/skyscribe/archive/2012/02/29/move-to-octopress.htmlskyscribeskyscribeWed, 29 Feb 2012 14:52:00 GMThttp://www.shnenglu.com/skyscribe/archive/2012/02/29/move-to-octopress.htmlhttp://www.shnenglu.com/skyscribe/comments/166817.htmlhttp://www.shnenglu.com/skyscribe/archive/2012/02/29/move-to-octopress.html#Feedback0http://www.shnenglu.com/skyscribe/comments/commentRss/166817.htmlhttp://www.shnenglu.com/skyscribe/services/trackbacks/166817.html
鎰熷叴瓚g殑璇風Щ姝? http://skyscribe.github.com

skyscribe 2012-02-29 22:52 鍙戣〃璇勮
]]>
ruby瀛︿範絎旇銆婁簩銆?/title><link>http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-1.html</link><dc:creator>skyscribe</dc:creator><author>skyscribe</author><pubDate>Sun, 19 Feb 2012 11:29:00 GMT</pubDate><guid>http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-1.html</guid><wfw:comment>http://www.shnenglu.com/skyscribe/comments/165993.html</wfw:comment><comments>http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-1.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/skyscribe/comments/commentRss/165993.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/skyscribe/services/trackbacks/165993.html</trackback:ping><description><![CDATA[ruby鐨刡locks鍜宑losure鐗規ф槑鏄炬湁鍒簬鍏跺畠鐨勮璦錛屽叾closure鏈韓鏄痳eal closure錛屾墍緇戝畾鐨刢ontext鏄叡浜殑鑰岄潪copy錛屽叾璁捐鎬濊礬鍜宭isp鐨勭浉鍚岋紱blocks鏈韓鍒欏彲浠ョ敤浜庡疄鐜癱losure銆備簩鑰呯殑鍏崇郴濡備笅鎵榪?錛?a >鏉ユ簮</a>錛?br /> <blockquote><br /> <div><strong>Yukihiro Matsumoto</strong>: You can reconvert a closure back into a block, so a closure can be used anywhere a block can be used. Often, closures are used to store the status of a block into an instance variable, because once you convert a block into a closure, it is an object that can by referenced by a variable. And of course closures can be used like they are used in other languages, such as passing around the object to customize behavior of methods. If you want to pass some code to customize a method, you can of course just pass a block. But if you want to pass the same code to more than two methods -- this is a very rare case, but if you really want to do that -- you can convert the block into a closure, and pass that same closure object to multiple methods.<br /> </div> </blockquote> <div> <ul> <li> <h2>7縐嶇粨鏋?/h2> </li> </ul> <blockquote> <ul> <li>block鏂瑰紡3縐?/li> </ul> <blockquote> <ul> <li>闅愬紡浼犲叆錛屽唴閮ㄧ敤yield璋冪敤</li> </ul> <blockquote>   <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000FF; ">def</span><span style="color: #000000; "> thrice<br />   </span><span style="color: #0000FF; ">yield</span><span style="color: #000000; "><br />   </span><span style="color: #0000FF; ">yield</span><span style="color: #000000; "><br />   </span><span style="color: #0000FF; ">yield</span><span style="color: #000000; "><br /> end<br /> <br /> x</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; "><br /> thrice {x</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">2</span><span style="color: #000000; ">}</span></div> <span style="color: #000000; "></span></div> </blockquote> <ul> <li>&block鍙傛暟浼犲叆錛屽唴閮ㄧ洿鎺ユ搷浣?amp;block</li> </ul> <blockquote> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000FF; ">def</span><span style="color: #000000; "> six_times(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">block)<br />   thrice(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">block)<br />   thrice(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">block)<br /> end<br />  <br /> x </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">4</span><span style="color: #000000; "><br /> six_times { x </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> </span><span style="color: #000000; ">10</span><span style="color: #000000; "> }</span></div> </blockquote> <ul> <li>&block浼犲叆錛屼繚瀛榖lock涓哄彉閲忥紝鐒跺悗璋冪敤block.call</li> </ul> <blockquote> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000FF; ">def</span><span style="color: #000000; "> save_for_later(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">b)<br />   @saved </span><span style="color: #000000; ">=</span><span style="color: #000000; "> b  </span><span style="color: #008000; ">#</span><span style="color: #008000; "> Note: no ampersand! This turns a block into a closure of sorts.</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">end<br />  <br /> save_for_later { puts </span><span style="color: #800000; ">"</span><span style="color: #800000; ">Hello!</span><span style="color: #800000; ">"</span><span style="color: #000000; "> }<br /> puts </span><span style="color: #800000; ">"</span><span style="color: #800000; ">Deferred execution of a block:</span><span style="color: #800000; ">"</span><span style="color: #000000;"><br /> @saved.call<br /> @saved.call<br /> </span></div> </blockquote><blockquote>榪欓噷鐨剆aved淇濆瓨涓簃ain瀵硅薄鐨勪竴涓垚鍛橈紝鍚庤竟瀹炵幇寤惰繜璋冪敤銆?br /> </blockquote></blockquote> <ul> <li>Proc.new/proc</li> </ul> <blockquote> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">@saved_proc_new </span><span style="color: #000000; ">=</span><span style="color: #000000; "> Proc.new { puts </span><span style="color: #800000; ">"</span><span style="color: #800000; ">I'm declared with Proc.new.</span><span style="color: #800000; ">"</span><span style="color: #000000; "> }<br /> @saved_proc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> proc { puts </span><span style="color: #800000; ">"</span><span style="color: #800000; ">I'm declared with proc.</span><span style="color: #800000; ">"</span><span style="color: #000000; "> }<br /> <br /> @saved_proc_new.call<br /> @saved_proc.call</span></div> </blockquote> <ul> <li>lambda</li> </ul> <blockquote> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">@saved_lambda </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">lambda</span><span style="color: #000000; "> { puts </span><span style="color: #800000; ">"</span><span style="color: #800000; ">I'm declared with lambda.</span><span style="color: #800000; ">"</span><span style="color: #000000; "> }<br /> @saved_lambda.call</span></div> </blockquote> <ul> <li>method</li> </ul> <blockquote> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000FF; ">def</span><span style="color: #000000; "> some_method<br />   puts </span><span style="color: #800000; ">"</span><span style="color: #800000; ">I'm declared as a method.</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br /> end<br /> @method_as_closure </span><span style="color: #000000; ">=</span><span style="color: #000000;"> method(:some_method)<br /> <br /> </span></div> </blockquote></blockquote> <ul> <li> <h2>鐗圭偣鍜屽樊寮?/h2> </li> <ul> <li> <h2>return琛屼負</h2> </li> </ul> </ul> <blockquote><blockquote>褰撳搴旂殑block閲岃竟鍖呭惈return鐨勬椂鍊欙紝涓婅堪7涓柟寮忔湁浜涜鐨勪笉鍚岋細<br /> <ul> <li>lambda/method琛ㄧ幇鍑虹湡姝g殑closure琛屼負錛屼粎浠呰繑鍥瀋losure鏈韓錛涘閮ㄨ皟鐢ㄦ帶鍒舵祦涓嶅彈褰卞搷錛岀戶緇瓂ield鎴栬卌all鐨勪笅涓璇彞鎵ц</li> <li>鍏跺畠鍑犵浼氳煩鍑哄閮ㄨ皟鐢ㄨ呯殑鎺у埗嫻侊紝鍗硆eturn鍑鴻皟鐢ㄨ咃紝yield/call涔嬪悗鐨勪篃涓嶄細鍐嶆墽琛岋紝鐩存帴璺沖嚭鍒版渶榪戠殑end澶?/li> </ul> <p><br /> </p> </blockquote> <ul> <li> <h3>arity - 鍙傛暟涓暟鏍¢獙</h3> </li> </ul> <blockquote>瀵逛簬璋冪敤鐐圭殑鍙傛暟媯鏌ワ紝鍛堢幇濡備笅琛屼負錛?br /> <ul> <li>lambda/method涓ユ牸鏍¢獙鍙傛暟鐨勪釜鏁幫紝濡傛灉涓嶅尮閰嶅洖鎶涘嚭寮傚父</li> <li>鍏跺畠鍑犱釜涓嶆鏌ュ弬鏁頒釜鏁?/li> </ul> <p><br /> </p> </blockquote></blockquote> <ul> <li> <h2>鎬葷粨</h2> </li> </ul> <blockquote>lambda/method鏂瑰紡鍛堢幇瀹屽鐨刢losure琛屼負錛宺eturn涔嬪悗緇х畫涓嬩竴嫻佺▼錛屽浜庡疄闄呬紶鍏ュ弬鏁頒釜鏁頒細鍦ㄨ皟鐢ㄧ偣媯鏌ワ紱proc/blocks鏂瑰紡鍦╮eturn鐨勬椂鍊欑洿鎺ヨ繑鍥炰簡澶栭儴鐨勫嚱鏁版垨鑰卋lock錛屽浜庝紶鍏ョ殑鍙傛暟涓暟涔熸病鏈夋墽琛屾鏌ャ?br /> <br /> </blockquote>鍙傝冿細<a >http://innig.net/software/ruby/closures-in-ruby</a> <br />浠ヤ笂緇撹楠岃瘉浜庢渶鏂扮殑ruby1.9.3錛屽拰閾炬帴涓殑緇撹鏈変簺璁鎬笉鍚岋紱ruby1.8涓殑proc鍑芥暟鍙兘鏈変笉鍚岀殑琛屼負銆?br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #000000;"></span></div> </div><img src ="http://www.shnenglu.com/skyscribe/aggbug/165993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/skyscribe/" target="_blank">skyscribe</a> 2012-02-19 19:29 <a href="http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-1.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ruby瀛︿範絎旇銆婁竴銆?/title><link>http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-0.html</link><dc:creator>skyscribe</dc:creator><author>skyscribe</author><pubDate>Sun, 19 Feb 2012 07:58:00 GMT</pubDate><guid>http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-0.html</guid><wfw:comment>http://www.shnenglu.com/skyscribe/comments/165976.html</wfw:comment><comments>http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-0.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/skyscribe/comments/commentRss/165976.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/skyscribe/services/trackbacks/165976.html</trackback:ping><description><![CDATA[鐪嬪緱鍐嶅涔熶笉濡傝嚜宸卞姩鎵嬭瘯錛屾渶榪戞湁闂插氨鎵撶畻璁ょ湡鐮旂┒涓涓媟uby璇█浜嗐?a >Pragmatic programmer</a>涓錛岄渶瑕佷竴騫村涓闂ㄦ柊璇█涓閬嶆敼閫犳濇兂錛屽幓騫存祬嫻呯殑瀛︿簡javascript鐨勭毊姣涳紝浠婂勾鍙互鐪嬬湅ruby榪? 涓湁lisp涔嬮鐨凮O璇█浜嗐?br /> <br /> <ul> <li>瀹夎鐜</li> </ul> 絎竴涓兂鍒扮殑鏄痑pt-get鏉ヤ笅杞戒簡錛屽緱鍒扮殑鏄竴涓氦浜掑紡瑙f瀽鍣ㄥ拰緙栬瘧鍣ㄣ傚拰python鐨勬瘮杈冪被浼鹼紝涓嶈繃ruby鐨勪氦浜掔▼搴忔槸涓崟鐙殑紼嬪簭鍙仛irb銆?br /> <blockquote> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">skyscribe:</span><span style="color: #000000; ">~</span><span style="color: #000000; ">$ ruby </span><span style="color: #000000; ">--</span><span style="color: #000000; ">version<br /> ruby </span><span style="color: #000000; ">1.8</span><span style="color: #000000; ">.</span><span style="color: #000000; ">7</span><span style="color: #000000; "> (</span><span style="color: #000000; ">2011</span><span style="color: #000000; ">-</span><span style="color: #000000; ">06</span><span style="color: #000000; ">-</span><span style="color: #000000; ">30</span><span style="color: #000000; "> patchlevel </span><span style="color: #000000; ">352</span><span style="color: #000000; ">) [i686</span><span style="color: #000000; ">-</span><span style="color: #000000; ">linux]<br /> skyscribe:</span><span style="color: #000000; ">~</span><span style="color: #000000; ">$ irb<br /> irb(main):</span><span style="color: #000000; ">001</span><span style="color: #000000; ">:</span><span style="color: #000000; ">0</span><span style="color: #000000; ">></span><span style="color: #000000; "> puts </span><span style="color: #000000; ">"</span><span style="color: #000000; ">hello</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br /> hello<br /> </span><span style="color: #000000; ">=></span><span style="color: #000000;"> nil<br /> <br /> </span></div> </blockquote>鍙儨寰楀埌鐨勪笉鏄瘮杈冩柊鐨勭増鏈?br /> <br /> 涓? 榪囧緢蹇兂璧風炕緲?a > wiki</a>錛岃繕鏄敤rvm鏂逛究鐨勫銆傛暀紼嬫瘮杈冪畝鍗曪紝鍙傝冨畠鐨?a >quick installation guide</a>灝卞彲銆傜涓嬈″皾璇曠殑鏃跺欑敤apt-get瀹夎浜嗘病鏈塸urge錛屽鑷存繪槸瀹夎鍒皉oot鐢ㄦ埛閫? 鎴?#8220;permission denied"鐨勯棶棰樸?br /> <br /> 瀹夎濂戒箣鍚庯紝鎵鏈夌殑涓滆タ閮藉湪$HOME/.rvm涓嬭竟錛屾瘮杈冨共鑴嗐?br /> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;"><br /> </span><blockquote><span style="color: #000000; ">skyscribe:</span><span style="color: #000000; ">~</span><span style="color: #000000; ">$ rvm install </span><span style="color: #000000; ">1.9</span><span style="color: #000000; ">.</span><span style="color: #000000; ">3</span><span style="color: #000000;"></span><br /> <span style="color: #000000; ">skyscribe:</span><span style="color: #000000; ">~</span><span style="color: #000000;">$ rvm list</span><br /> <span style="color: #000000;"></span><br /> <span style="color: #000000;">rvm rubies</span><br /> <span style="color: #000000;"></span><br /> <span style="color: #000000; ">   ruby</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1.9</span><span style="color: #000000; ">.</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-</span><span style="color: #000000;">p125 [ i686 ]</span><br /> <span style="color: #000000;"></span><br /> <span style="color: #000000; "># Default ruby not </span><span style="color: #0000FF; ">set</span><span style="color: #000000; ">. Try </span><span style="color: #000000; ">'</span><span style="color: #000000; ">rvm alias create default <ruby></span><span style="color: #000000; ">'</span><span style="color: #000000;">.</span><br /> <span style="color: #000000;"></span><br /> <span style="color: #000000; "># </span><span style="color: #000000; ">=></span><span style="color: #000000; "> </span><span style="color: #000000; ">-</span><span style="color: #000000;"> current</span><br /> <span style="color: #000000; "># </span><span style="color: #000000; ">=*</span><span style="color: #000000; "> </span><span style="color: #000000; ">-</span><span style="color: #000000; "> current </span><span style="color: #000000; ">&&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">default</span><span style="color: #000000;"></span><br /> <span style="color: #000000; ">#  </span><span style="color: #000000; ">*</span><span style="color: #000000; "> </span><span style="color: #000000; ">-</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">default</span><span style="color: #000000;"></span><br /> <span style="color: #000000;"></span><br /> <span style="color: #000000; ">skyscribe:</span><span style="color: #000000; ">~</span><span style="color: #000000; ">$ rvm alias create </span><span style="color: #0000FF; ">default</span><span style="color: #000000; "> ruby</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1.9</span><span style="color: #000000; ">.</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-</span><span style="color: #000000;">p125</span><br /> <span style="color: #000000; ">Creating alias </span><span style="color: #0000FF; ">default</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> ruby</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1.9</span><span style="color: #000000; ">.</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-</span><span style="color: #000000;">p125.</span><br /> <span style="color: #000000; ">Recording alias </span><span style="color: #0000FF; ">default</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> ruby</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1.9</span><span style="color: #000000; ">.</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-</span><span style="color: #000000;">p125.</span><br /> <span style="color: #000000; ">Creating </span><span style="color: #0000FF; ">default</span><span style="color: #000000; "> links</span><span style="color: #000000; ">/</span><span style="color: #000000;">files</span><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "></span><span style="color: #000000; "><div>skyscribe:~$ cat >> ~/.bashrc <br />[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.<br />^C<br />skyscribe:~$ bash<br />skyscribe:~$ rvm use 1.9.3<br />Using /home/skyscribe/.rvm/gems/ruby-1.9.3-p125<br />skyscribe:~$ ruby -v<br />ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]</div></span></div><br /> <span style="color: #000000; "></span></blockquote></div> <br /> <ul> <li>鐔熸倝鍜屼笂鎵?/li> </ul> 瀹樻柟鐨勬枃妗f槸鏈濂界殑鍙傝冿紝鎺ㄨ崘<a >ruby koans</a>,涓嬭澆涓嬫潵錛岃В鍘嬪悗錛屾槸涓吀鍨嬬殑TDD瀛︿範鏉愭枡錛屼笉鏂繍琛?br /> <blockquote> <div> <div> ruby path_to_enlightenment.rb</div></div></blockquote><div><div>koans 浼氶亶鍘嗘瘡涓涓猼est case鐩村埌鍏ㄩ儴瀹屾瘯錛屽ぇ姒傞渶瑕?涓皬鏃朵互涓婄殑鏃墮棿鏂瑰彲鍏ㄩ儴瀹屽伐銆備腑闂寸殑娉ㄩ噴鍜孴HINK ABOUT鐨勯儴鍒嗘瘮杈冩湁鎰忔濓紝鎰熸偀姣旇緝娣卞埢鐨勬槸浠ヤ笅涓浜涚偣錛?br /><blockquote><ul><li>瀹屽畬鍏ㄥ叏鐨凮O錛屾墍鏈変笢瑗跨殕涓哄璞?/li><li>涓ょ鍩烘湰鐨刢ollection錛宧ash鍜宎rray鍩烘湰瀵瑰簲浜巔ython鐨刣ict鍜宎rray</li><li>鍑芥暟璋冪敤鍙互涓嶅繀娣誨姞鎷彿錛岄櫎闈炲彲鑳藉紩鍙戞涔夋垨鑰呰В鏋愰敊璇?/li><li>鍑芥暟鍙傛暟鍙互鍖呭惈block錛屾敮鎸乴ambda鍜宑losure<br /></li><li>bool綾誨瀷鏇寸畝鍗曪紝鍙湁false鍜宯il涓巉alse絳変環錛屽叾浣欏叏閮ㄦ槸true</li><li>鎺у埗緇撴瀯鏈塽nless</li><li>綾誨畾涔夋槸寮鏀懼紡鐨勶紝渚夸簬闈炰鏡鍏ュ紡璁捐錛屽綋鐒朵篃鍙互鍏佽淇敼builtin</li><li>姣忎竴涓璞¢兘鏈塷bject id</li><li>symbol鍜宻tring鍙互浜掔浉杞寲鏋勯?/li><li>method鐨勮皟鐢ㄥ彲浠ョ敤send 鐨勬柟娉曞彂閫乵essage - proxy鍙樺緱鏋佸害瀹規槗</li><li>module鍙互琚玞lass include浠庤屽寘鍚柟娉曪紝 渚夸簬mixin璁捐</li><li>instance variable鍜宑lass variable 瀹氫箟鏂逛究蹇嵎</li><li>regular expresion鐨勫拰python鏋佷負鐩鎬技<br /></li></ul></blockquote></div></div><blockquote><div> </div> </blockquote><img src ="http://www.shnenglu.com/skyscribe/aggbug/165976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/skyscribe/" target="_blank">skyscribe</a> 2012-02-19 15:58 <a href="http://www.shnenglu.com/skyscribe/archive/2012/02/19/ruby-study-0.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Unix鏂囨湰澶勭悊涔嬪埄鍣紞awk/gawkhttp://www.shnenglu.com/skyscribe/archive/2011/01/02/awk.htmlskyscribeskyscribeSun, 02 Jan 2011 12:32:00 GMThttp://www.shnenglu.com/skyscribe/archive/2011/01/02/awk.htmlhttp://www.shnenglu.com/skyscribe/comments/137894.htmlhttp://www.shnenglu.com/skyscribe/archive/2011/01/02/awk.html#Feedback0http://www.shnenglu.com/skyscribe/comments/commentRss/137894.htmlhttp://www.shnenglu.com/skyscribe/services/trackbacks/137894.htmlsince 1977錛夈備綔鑰呬腑鏈寮曚漢娉ㄧ洰鐨勫綋灞為紟榧庡ぇ鍚嶇殑Brian W. Kernighan (鍗矺鐨勭畝縐版潵婧愶級銆傜洰鍓嶆墍鐢ㄧ殑鐗堟湰澶у鏄痝awk鎴栬卬awk.

浣滀負涓闂ㄥ井鍨嬩笖瀹屾暣鐨勭紪紼嬭璦錛宎wk鍙互鐢ㄦ暟琛屼唬鐮佸氨瀹屾垚鍏朵粬璇█闇瑕佹暟鍊嶇殑LOC鎵嶈兘瀹屾垚鐨勫伐浣溿傚叾璁捐鍝插涔熸槸姣旇緝鐗規畩鐨勶紝鏍稿績鏄痙ata錛峝riven鐨勶紝騫朵笖閲囩敤浜嗗拰C綾諱技鐨勮娉曟潵緇勭粐銆傚畠鏈鏍稿績鐨勬濇兂搴旇鏄涓嬩袱鐐癸細
  • pattern-action 緇撴瀯 鍊熺敱寮哄ぇ鐨勬鍒欒〃杈懼紡鏉ュ尮閰峱attern錛岀劧鍚庢墽琛宲attern瀵瑰簲鐨勬搷浣?/li>
  • Record/Field 澶勭悊妯″瀷  鎵鏈夌殑杈撳叆鏁版嵁閮芥牴鎹埗瀹氱殑record separator 鍒嗗壊鎴?record, 鐒跺悗娌′竴涓猺ecord鍐嶆牴鎹甪ield separator 鍒嗗壊涓篺ields. POSIX 瀹氫箟鐨?field separator鍙互涓烘鍒欒〃杈懼紡錛岃実awk鍙互鍏佽record separator鍚屾椂涓烘鍒欒〃杈懼紡
寮曞彂鎴戣姳鐐規椂闂存潵浠旂粏鐮旂┒awk鐨勮搗鍥犳槸榪欐牱鐨勶紝鎴戜滑鐨勭▼搴忓湪鍋歱rofiling鐨勬椂鍊欙紝鍙戠幇鍘熸潵鐢╯hell鍐欑殑鑴氭湰鍒嗘瀽涓嬈¤瘽璐圭殑鏃墮棿澶暱銆傚垵鐪嬩簡涓嬮偅涓剼鏈紝澶ф鐨勯昏緫鏄鎵悕鎵鏈夌殑log鏂囦歡錛屾寜鐓ф椂闂存埑灝嗗叧娉ㄧ殑鏃墮棿鎵鑰楄垂鐨勬椂闂存彁鍙栧嚭鏉ワ紝璁$畻騫沖潎鍊鹼紝娉㈠姩絳夋渶緇堢敾鍑烘洸綰垮浘銆?br>
鏁翠綋鐨勮剼鏈湁鍑犱釜閮ㄥ垎錛坧ython錛媌ash錛夛紝澶勭悊涓嬈?0MB鐨刲og鏂囦歡闇瑕佽楄垂40鍒嗛挓锝?涓皬鏃訛紝榪欐樉鐒惰秴鍑轟簡棰勬湡錛涗腑闂翠竴涓鐞嗗緢闀跨殑閮ㄥ垎鏄痝rep鏌愪釜鏃墮棿孌電殑淇℃伅鐒跺悗鎸夌収鎶ヨ〃鏍煎紡鍐欏叆鍒頒腑闂存枃浠朵腑銆傚湪鎯寵兘鍚︿紭鍖栬繖涓鑺傜殑鏃跺欙紝蹇界劧灝辨兂璧蜂簡妯″紡鍖歸厤鏉ワ紙瀛︿範Haskell鐨勬渶娣卞嵃璞★級錛屼簬鏄ぇ鑷寸炕浜嗕竴涓媋wk錛屽彂鐜板緢瀹規槗閫氳繃妯″紡鍖歸厤浣垮緱鎸夎澶勭悊錛屽悓鏃惰褰曚腑闂寸殑淇℃伅錛岃屼竴涓椂闂存鎭板ソ鍜宎wk鐨剅ecord姒傚康鍚誨悎銆?br>
鑺變簡2涓皬鏃剁爺璇諱簡涓媋wk鐨勫嚱鏁拌娉曪紝鑷畾涔夎嚜宸辯殑鏃墮棿鎴彇鍑芥暟錛坓awk鐨剆trftime寰堟湁鐢紝灝ゅ叾鎴戜滑鍙戠幇璁板綍鏈夎煩璺冭鑷姩琛ュ叏涓棿鐨勬暟鎹褰曟椂錛夛紝閫氳繃涓変釜pattern鎴彇闇瑕佺殑淇℃伅錛?0鍒嗛挓鍐欏嚭鏉wk鐨勪唬鐮佹潵銆?br>
鎵騫哥殑鏄紝鍏跺畠鐨剆hell鑴氭湰閮戒笉闇瑕佷換浣曟敼鍔紝閲嶆柊璺戜竴嬈★紝3s灝卞鐞嗗畬浜嗗師鏉?0MB鐨勬枃浠訛紝鐪嬫潵榪欑偣鏃墮棿鎶曞叆榪樻槸鐩稿綋鍊煎緱鐨勩?br>
鏈夊叴瓚g殑鍙弬鑰冿細
     http://www.gnu.org/manual/gawk/gawk.html

PS錛歛wk鐨勫彟涓浣滆?a >Winberger 渚涜亴浜巊oogle銆?br> 



skyscribe 2011-01-02 20:32 鍙戣〃璇勮
]]>
Popen涓鎬殑OSError錛歵oo many open fileshttp://www.shnenglu.com/skyscribe/archive/2009/10/19/98970.htmlskyscribeskyscribeMon, 19 Oct 2009 11:31:00 GMThttp://www.shnenglu.com/skyscribe/archive/2009/10/19/98970.htmlhttp://www.shnenglu.com/skyscribe/comments/98970.htmlhttp://www.shnenglu.com/skyscribe/archive/2009/10/19/98970.html#Feedback0http://www.shnenglu.com/skyscribe/comments/commentRss/98970.htmlhttp://www.shnenglu.com/skyscribe/services/trackbacks/98970.html榪戞潵鐢≒ython鐨剈nittest妗嗘灦鏉ュ仛涓涓猺egression test 宸ュ叿錛岄獙璇佷竴浜涘鏉傜殑紼嬪簭鍔熻兘錛屾湡鏈涘仛鍒拌嚜鍔ㄥ寲嫻嬭瘯瀹屾垚涓閮ㄥ垎闇瑕佺箒鐞愮殑鐣岄潰鐐瑰嚮鍜岀瓑寰呮墠鑳藉畬鎴愮殑楠岃瘉宸ヤ綔銆?/font>

鍏朵腑鏍稿績鐨勯儴鍒嗘槸閫氳繃python鐨剆ubproces module涓殑Popen鏉ヨ皟鐢╯hell鑴氭瀹屾垚鍔熻兘鎬ц姹傦紝騫舵姄鍙栨墽琛岀殑緇撴灉銆?/font>

 

鍒濅竴寮濮嬶紝test case姣旇緝灝戠殑鏃跺欙紙100涓互鍐咃級閮芥病鏈変換浣曢棶棰橈紱浣嗕粠鏌愪竴鍒昏搗錛屽綋瓚呰繃120涓殑鏃跺欙紝鏈鍚庝竴涓猼est case鎵ц鐨勬椂鍊欙紝鎬繪槸鎶ュ憡

                OSError錛?too many open files

緇欏嚭鐨剆tack trace鎸囧悜浜哖open鐨刢ommunicate鏂規硶銆?/font>

 

鏈綆鍗曠殑鎬鐤戣嚜鐒舵槸鎵撳紑鏂囦歡鏁扮殑闄愬埗浜嗭紝 ulimit  -a 鍙戠幇榛樿鐨凷hell鐨勭‘鍙湁256錛岃櫧鐒舵劅瑙夊簲璇ヤ篃澶熺敤浜嗭紙鍥犱負姣忎竴涓猚ase閮芥槸鐢ㄥ崟鐙殑Popen鏉ユ墽琛屾搷浣?瀹屾瘯灝卞簲璇ヨ鍥炴敹浜嗭級錛屼絾榪樻槸鑷劧灝嗗叾寮澶т竴浜涳紱

                      ulimit –n 1024

閲嶆柊鎵ц錛岃繕鏄渶鍚庝竴涓猚ase澶辮觸錛岄敊璇緷鐒躲?/font>

 

Google浜嗕竴涓嬶紝鏆傛椂娌℃湁澶寸華錛屽彧鏈夊緟鏈夋椂闂村啀璇︾粏鐩樻煡涓涓嬪師濮斾簡銆備笉榪囧湪鎼滅儲絳旀鐨勮繃紼嬩腑鍙戠幇浜嗕竴涓湁鎰忔濈殑鐜拌薄錛?/font>

   鏈変漢鍦ㄨ闂庢牱灝唒ython鐨勫瓧絎︿覆quote鎴愪負涓涓彲浠ュ啀shell涓畨鍏ㄤ嬌鐢ㄧ殑瀛楃涓詫紝灝辨湁浜哄洖澶嶈Subprocess涓湁涓涓被浼肩殑鏂規硶鍙互瀹屾垚綾諱技鐨勫伐浣滀負浠涔堜笉鐢紱椹笂鏈夌墰浜虹珯鍑烘潵璇達紝榪欎釜妯″潡鐨勪綔鑰呭ぇ姒備笉鎯崇淮鎶よ繃澶氱殑涓滆タ錛屽洜鑰屽皢鍏墮殣钘忎簡璧鋒潵錛岃屼笉鏄斁寮浜嗙粰澶у鐢紝鍥犱負瀹冪殑doc閲岃竟閮芥病鏈夌洿鎺ヨ鏄庯紝鐢ㄧ殑浜烘槸鐪嬩簡浠栫殑浠g爜鎵嶇煡閬撴湁榪欎釜鍑芥暟錛堝弬鑰?/font>榪欓噷錛?/font>



skyscribe 2009-10-19 19:31 鍙戣〃璇勮
]]>
鐢╳ireshark+scripts瀹炵幇鏈夎叮鐨勫姞瀵嗗寘瑙g爜http://www.shnenglu.com/skyscribe/archive/2009/07/27/91394.htmlskyscribeskyscribeMon, 27 Jul 2009 14:24:00 GMThttp://www.shnenglu.com/skyscribe/archive/2009/07/27/91394.htmlhttp://www.shnenglu.com/skyscribe/comments/91394.htmlhttp://www.shnenglu.com/skyscribe/archive/2009/07/27/91394.html#Feedback0http://www.shnenglu.com/skyscribe/comments/commentRss/91394.htmlhttp://www.shnenglu.com/skyscribe/services/trackbacks/91394.htmlWireshark鑷甫鏈夐厤緗畊smUser鐨勪緥瀛愶紝鍙互鑷姩璋冪敤netsnmp鐨勫簱鏉ュ畬鎴愭彮縐橈紝浣嗗浜嶶nix紼嬪簭鑰岃█錛孏UI鐨勫伐鍏鋒湰韜繕鏄湁璇稿涓嶄究錛屾病鏈塁LI宸ュ叿鏉ョ殑鑸掓湇鑷劧錛屽彟澶栫殑涓涓棶棰樻槸錛岄氳繃鑷繁閰嶇疆usmUser錛屼技涔庝竴鐩存棤娉曟垚鍔熻В鐮併?br>
緲葷湅Wireshark鐨勬枃妗g殑鏃跺欙紝鍙戠幇涓涓己澶х殑灝忓伐鍏峰緢閫傚悎閰嶅悎鑴氭湰鍙戞尌濞佸姏錛歵shark錛涙兂鍒癙ython錛岄┈涓婂疄鐜頒簡涓涓笉閿欑殑灝忓伐鍏楓?br>
tshark鏈韓鍙互鏀寔寰堝閫夐」錛屽嚑涔庢兜鐩栦簡wireshark澶ч儴鍒嗗父鐢ㄥ姛鑳斤紝涓漢鍙戠幇鐗瑰埆閫傚悎浜屾鍒嗘瀽銆傝繖閲屾渶鍏抽敭鐨勬槸 -T pdml閫夐」,
 鍙互鐢熸垚涓涓畬鏁寸殑xml鏍煎紡鐨勫垎鏋愭姤鍛娿?br>
鍋囪瀹炵幇鐢╰cpdump鎴栬卻noop鎶撳彇浜嗕竴涓姞瀵嗙殑鍖卼est.pcap,閭d箞鎺ヤ笅鏉ワ紝鍙互鐢ㄥ叾浣滀簩嬈″垎鏋愶細
snoop -d <dev> -o test.pcap <filter>
tshark 
-r test.pcap --T pdml > test.xml

鎺ヤ笅鏉ュ彲鍊熷姪鑴氭湰鐨勫▉鍔涙潵瑙f瀽榪欎釜xml鏂囦歡浜嗭紝python鐨剎ml.sax寰堥傚悎騫茶繖涓簡錛岃嚜宸卞啓涓涓狢ontentHandler錛?灝嗘劅鍏磋叮鐨勫瓧孌墊姄涓嬫潵錛屽瓨鍌ㄥ湪涓涓浉鍏崇殑緇撴瀯閲岃竟銆傝繖閲屽浜嶴NMP鑰岃█錛屽彧闇瑕佸皢瀵瑰簲鐨剆copedPDU鍔犲瘑鏁版嵁淇濆瓨涓嬫潵錛屽悓鏃朵繚瀛樺叾瀹冨繀瑕佺殑鏁版嵁錛屾斁緗簬绱㈠紩鐨刣ict涓紝渚夸簬涓嬩竴姝ュ垎鏋愩?br>
鍒╃敤C/C++鍐欎竴涓皬紼嬪簭錛屾帴鏀跺姞瀵嗗弬鏁般佸瓧孌靛唴瀹圭瓑鍙傛暟瀹屾垚瀹為檯瑙g爜宸ヤ綔錛岀敱浜庢槸API鐨勭畝鍗曡皟鐢ㄥ拰鍙樻崲錛屾墍浠ユ瘮杈冪畝鍗曪紱鐢熸垚鍙墽琛屾枃浠跺嵆鍙?br>
鏈鍚庯紝灝嗕笂榪伴氳繃python鐨?Popen寤虹珛I/O綆¢亾錛屽皢鍚勪釜閮ㄥ垎涓茶仈璧鋒潵錛屽茍鏍煎紡鍖栨瘡涓姝ュ垎鏋愪駭鐢熺殑杈撳嚭緇撴灉錛岀敓鎴愮粨鏋滄姤鍛娿?br>
浠ヤ笂鐨勬柟寮忓彲浠ヤ笉闇瑕佸啓dissector灝卞畬鎴愯嚜瀹氫箟鐨勬姤鏂囧垎鏋愶紝緙虹偣鏄紝榪愯鏁堢巼姣旇緝浣庝竴浜涳紱浼樼偣涔熷緢鏄庢樉錛屽緢瀹規槗瀹氬埗鍜岃剼鏈嚜鍔ㄥ寲銆?br>瀵逛簬縐佹湁鍗忚鑰岃█錛屼笂榪版柟寮忎篃鏄竴涓笉閿欑殑閫夋嫨銆?br>


skyscribe 2009-07-27 22:24 鍙戣〃璇勮
]]>
瀹炵敤鐨勬祦紼嬪浘緇樺埗宸ュ叿錛欴iagram Designerhttp://www.shnenglu.com/skyscribe/archive/2009/07/06/89398.htmlskyscribeskyscribeMon, 06 Jul 2009 12:34:00 GMThttp://www.shnenglu.com/skyscribe/archive/2009/07/06/89398.htmlhttp://www.shnenglu.com/skyscribe/comments/89398.htmlhttp://www.shnenglu.com/skyscribe/archive/2009/07/06/89398.html#Feedback0http://www.shnenglu.com/skyscribe/comments/commentRss/89398.htmlhttp://www.shnenglu.com/skyscribe/services/trackbacks/89398.html
涓嬭竟鏄垜鍋氱殑鍥懼艦錛?br>

琛ㄧず澶嶆潅鐨勭粨鏋勪篃寰堟槸婕備寒錛岃屼笖鏈鍏抽敭鐨勪竴鐐規槸錛屽彲浠ョ洿鎺ユ嫹璐濆埌PPT閲岃竟鍋氭垚presentation銆?br>涓嬭竟鏄彟澶栦竴涓浘錛岀被浼間簬UML閲岃竟鐨凷equence Diagram錛屽綋鏃跺張涓嶅畬鍏ㄦ槸錛屼笉榪囧彲浠ユ竻鏅扮殑琛ㄨ揪鎴戠殑鎰忔濅簡銆?br>鏇劇粡鎯崇敤Netbeans鐨刄ML鎻掍歡鐢誨嚭綾諱技鐨勫浘鍍忥紝鍙儨鎯寵嚜宸卞姞涓柟妗嗛兘涓嶈錛岃繕鏄繖涓伒媧伙細

榪欎釜鍙埍鐨勮蔣浠訛紝綆鐩村彲浠ュ拰Visio濯茬編浜嗭紝鑰屼笖鏄紑婧愬厤璐圭殑銆?br>鍙﹀涓涓緥瀛愶紝浣滆呮彁渚涚殑妯℃澘錛屼篃寰堟紓浜紝鍙互鐢葷數璺‖浠跺浘鐨勶細

榪樻湁涓涓猆ML鐨勪緥瀛愶紝鐪嬪畠鐨?a >瀹樻柟緗戠珯鎻忚堪銆?br>
楂樼駭鍔熻兘錛氳嚜宸卞畾鍒舵ā鏉匡紝渚涗互鍚庝嬌鐢ㄣ?br>鍙互瀵煎嚭涓哄嚑縐嶅父瑙佺殑鍥劇墖鏍煎紡錛屼互瀹冭嚜宸辯殑鏍煎紡(ddd鍚庣紑錛夋渶鑺傜渷絀洪棿銆?br>
灝忕己鐐癸細鎶樼嚎綆ご鍙兘鎷?涓集錛屽洜姝や笉鑳戒竴絎旂粯鍒跺洖褰㈢澶達紝闇瑕佹墜宸ユ嫾鎺ャ?br>鏈寮哄ぇ鐨勫湴鏂癸細灞炴у彲浠ヨ嚜鐢變慨鏀癸紝鍥犳瓚呯駭鐏墊椿銆?br>



skyscribe 2009-07-06 20:34 鍙戣〃璇勮
]]>
久久se精品一区二区| 日韩精品久久无码中文字幕| 久久精品这里热有精品| 婷婷综合久久狠狠色99h| 色综合久久精品中文字幕首页| 国产精品亚洲美女久久久| 国产午夜精品理论片久久| 狠狠色丁香久久婷婷综合图片| 久久精品国产亚洲AV香蕉| 久久精品国产91久久麻豆自制| 久久久久亚洲爆乳少妇无| 国内精品久久久久久99蜜桃| 久久久噜噜噜久久中文字幕色伊伊| 97精品伊人久久久大香线蕉| 国内精品久久久久久中文字幕| 国产偷久久久精品专区 | 国产巨作麻豆欧美亚洲综合久久 | 久久久久久久波多野结衣高潮| 国产午夜精品久久久久免费视 | 亚洲色婷婷综合久久| 99久久精品免费看国产| 久久综合久久自在自线精品自| 久久一区二区免费播放| 伊人色综合久久天天| 久久99国产精品99久久| 亚洲精品乱码久久久久久中文字幕| 99久久精品国产一区二区三区 | 日本一区精品久久久久影院| 亚洲AV无码久久精品狠狠爱浪潮| 四虎国产精品免费久久| 久久精品国产亚洲AV不卡| 国产成人精品综合久久久| 国内精品久久久久久久影视麻豆 | 麻豆成人久久精品二区三区免费| 欧美粉嫩小泬久久久久久久| 精品国产91久久久久久久a| 国产三级精品久久| 精品久久久久久国产牛牛app| 国产91久久综合| 久久久精品人妻无码专区不卡| 久久精品成人一区二区三区|