Time of Update: 2018-12-08
Rails內建了Log功能,或者更準確的說,Rails暴露了Logger對象,該對象可以在所有的Rails程式中使用。Logger是從ruby中移植過來的一個簡單的Log架構(你可以在ruby的命令列裡鍵入ri Logger來查看標準庫的文檔),對於我們而言,我們只需要知道Logger能針對warnning,info,error或者fatal level來產生Log資訊,然後確定向Log檔案中寫入哪個層級的Log資訊。logger.warn("I don't think that's a
Time of Update: 2018-12-07
linux的安裝: 我用的是源碼編譯的方式安裝,作業系統是Red Hat Linux release 7.3 (Valhalla) 到ruby主站下載原始碼,首頁右邊的"Get Ruby now!!" ,目前是1.8.2,搞到手解壓到目錄./configure make make install(需要root許可權,預設安裝到/usr/local下, 如果需要另外指定目錄,請使用 ./configure --prefix=自訂路徑 )這一步我沒有遇到任何問題, 接下來安裝rubygem,
Time of Update: 2018-12-07
在ruby程式中,經常會看到一些以$開頭的變數,這些不是指我們自己在程式中設定的全域變數,而是指系統內部已經設定好的變數,他們代表了一些特定的意思,下面搜集了一些常用的內部變數,用一些簡單的代碼說明他們代表的意思: 局部域: 在某一個線程範圍內才能有效,下列也可看做是線程內的局部變數。PS:這邊講解的幾個變數都是於正則匹配相關的,正則匹配過程的代碼是一樣的,這裡不重複輸入Regex匹配的代碼,只在第一個例子裡給出完整的輸入和輸出,之後的例子只直接輸出變數的值。$_
Time of Update: 2018-12-07
RegexRuby大部分的內建類型都和其它的程式設計語言很相似。主要有strings,integers,floats,arrays等等。然而,只有指令碼語言,如Ruby,Perl,和awk等提供了內建運算式類型的支援。慚愧的是:Regex儘管比較隱蔽,但卻是一個很強大的文本處理工具。內建它們比單純的添加介面類庫有著很大的區別。Regex是使用指定的模式比對字元串的一種簡單的方法。在Ruby中,建立Regex的典型方式是把模式寫在兩個斜線之間(/pattern/)。畢竟,Ruby就是Ruby,Re
Time of Update: 2018-12-07
看了幾天ruby,發現c#中很多一直被稱道的文法特性,ruby早在幾年前就有了: 1.c#中的params關鍵字 class Program { static void Main(string[] args) { Console.WriteLine(Sum()); Console.WriteLine(Sum(3,6)); Console.Read(); }
Time of Update: 2018-12-07
想感受一下ruby卻又不想費事的安裝它? 沒有關係, 現在有了Try Ruby網站, 只要你有瀏覽器你就可以立刻使用ruby了,Try Ruby提供了一個類似ruby的irb那樣的互動環境, 還提供了一個簡短的ruby教程.怎麼樣? 還不馬上去試試看----------------------------------------------------------ps: ruby-cn 上的cid73 告訴我,
Time of Update: 2018-12-07
YARV 的全名是 Yet Another Ruby VM, 由日本人SASADA Koichi 另外實現的ruby虛擬機器 目前ruby的虛擬機器是通過AST(abstract syntax tree) 來完成的,它的速度比較慢, 只能作一般純指令碼的解釋工作, YARV的出現就是為瞭解決這個問題, 它是基於Stack VM來完成.主要的目的就是給ruby指令碼提速 下面的圖片顯示了使用YARV相對普通ruby虛擬機器的速度提升率,YARV採用了多種方式來最佳化ruby的執行速度,
Time of Update: 2018-12-07
昨天晚上終於見到了傳說中的村長, 村長是rubycn的站長, 用ruby的時間很早, 本人才開始瞭解ruby的時候也是看的村長的blog. 另外一位是xin rick, 在知名的外企工作, 也是一位牛人, 大家都是第一次見面, 技術話題聊得不是很多, 主要還是互相認識,呵呵PS: 北京地區的ruby/rails fans目前來說還是少了, 形不成人氣, 希望大家能更多聯絡聯絡
Time of Update: 2018-12-07
和java不同, ruby中的super代替的並非是父類, 而是父類中和當前方法名相同的方法, 在ruby中, super的用法比較靈活, 使用super的時候, 如果不帶任何參數(也沒有括弧), 實際上的作用是自動調用父類中的當前方法, 並且把當前參數也傳過去, 也就是說super.thismethod(param1,param2...) 在ruby中可以簡化為一個 super 就可以了,
Time of Update: 2018-12-07
此筆記是為了協助理解 "<<" 指令 ruby語言允許我們在一個對象的基礎上定義類,使得我們可以單獨擴充一個對象的行為,例子如下 test="hello" #普通string normal=a.dup #還是普通string class << test def to_s "value is #{self}" end end #test對象已經被更新, normal保持不變 運行完上述代碼以後
Time of Update: 2018-12-07
今天原本平穩的心情被一些事情所觸動,深埋的東西被拔起的感覺總是痛痛的,不提太多了,還是專心寫文章吧。說說今天這篇文章的關鍵字,看看有沒有你能有用的: Class Hierarchies ,Accessors,Attributes,Class Variables。說白了今天就是Deep in Ruby Class了,不過這個 Deep 不夠
Time of Update: 2018-12-07
昨天晚上5點半睡覺,瘋狂的配置vim環境,最後終於完成了那個夢幻的Ruby on rails開發工具。我在這個vim環境裡面現安裝了vim-ruby,當然這個要你自己去安裝,在ubuntu下面一個簡單的命令:sudo apt-get install
Time of Update: 2018-12-07
在bigbold上看到Get the currently running method name in Ruby程式碼片段:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
ruby提供了強大的繼承機制,有關繼承的方法很多。最簡單就是“module Foo def foo puts 'heyyyyoooo!' endendclass Bar include FooendBar.new.foo # heyyyyoooo!Bar.foo # NoMethodError: undefined method ‘foo’ for Bar:Classclass Baz extend FooendBaz.foo # heyyyyoooo!Baz.new.foo #
Time of Update: 2018-12-07
一、無參函數: Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
Ruby的資料類型主要有兩類:整數(Integer)和字串(String)Ruby是全OO的程式設計語言,和C++等不同,其整數和字串也是類類型。 Integer類型有兩類,當Integer值在-2^30 to 2^30-1(or -2^62 to 2^62-1,跟機器碼長有關)之間時,用的Fixnum類類型,當不在上述範圍時,用的是Bignum類類型,Bignum類類型可以表示記憶體剩餘空間中可表示的最大數值,它是由一系列的short integer組成的。 常用的成員有:
Time of Update: 2018-12-07
閉包的一個重要特徵是:過程(方法)內部定義的變數,即使在方法調用完成以後,仍然可以繼續引用到!(即延長了生命週期)def method(n)puts "n=#{n}"; #測試用return proc{|i| n +=i } #關鍵:proc是一個過程對象,只能由"委託"用call來調用,這裡在過程內部引用了參數變數n,將會在多次call該過程後,保留對n的引用,形成閉包!endaDelegate = method(0);#可以理解為c#中的委託,同時該語句會初始化n為0puts
Time of Update: 2018-12-07
ruby -v #查看ruby 版本 ruby -e ''require"watir"; puts Watir::IE::VERSION'' #查看watir版本gem -v #gem版本gem update #更新所有包gem update --system #更新RubyGems軟體gem install rake #安裝rake,從本地或遠程伺服器gem install rake --remote #安裝rake,從遠程伺服器gem install watir
Time of Update: 2018-12-07
ruby unless 運算式在條件為false才運行代碼塊,但其與條件"&& ||"邏輯組合使用一直沒有搞懂.到底是false && false才運行unless的代碼塊,還是 false || false才繼續運行. 其實這個問題很簡單,只是一直沒有想過這一點.unless只管條件是false還是true,至於是不是使用了 && 或 || caozuofu.html" target="_blank">操作符,是不管的.
Time of Update: 2018-12-07
文章目錄 1. 安裝 Ruby 語言解譯器2. 安裝 Rails 編程架構3.安裝passenger和nginx 對沒 Mac 卻希望學習 Rails 的程式員來說,Ubuntu 是最理想的選擇。多少令人遺憾地是:Ubuntu 的世界裡缺少傳說中最好的文字編輯器 TextMate 和事實上最好的圖片編輯器 Photoshop,幸好 Emacs 和 GIMP