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-08
到現在,應該告一段落了,總共有二十九篇隨筆,乾脆湊個整數,再寫寫IDE環境吧。前面所有的代碼都是我用ruby內建的編輯器SciTE編寫的,很不方便,隨著Rails的發展,目前也有很多IDE推出來,剛剛看到NetBeans推出的6.0rc版,提供了單獨的Rails開發環境,這次來簡單嘗試下。 1. 第一步當然是下載NetBeans的6.0rc版,在http://sunmicro.vo.llnwd.net/c1/netbeans/6.0/final/下載。2.
Time of Update: 2018-12-08
在上次的內容裡,我們編寫了CHECKOUT的處理。這次我們將顯示購物車和訂單放在一個頁面上表示,這樣使用者在下訂單的時候就可以很方便地看到自己的購物情況。 1. 修改checkout.rhtml檔案,只要添加一句代碼:<%= error_messages_for("order") %><%= render_component(:action => "display_cart") %> ――這句 <%=
Time of Update: 2018-12-08
class String def has_one_in?(string_Arr) has = false string_Arr.each { |word| has= self.include?(word) if has break end } has endenddef decode_subject(sub) if sub.include?("B?") encode_str = sub.match(/=\?(.*
Time of Update: 2018-12-08
最近剛開始學ruby為了練習一下基本文法的使用,用ruby寫了一下插入排序演算法,可能有些從C#翻譯過來的痕迹1、插入排序 seq = [3,4,9,0,2,5,9,7,1]1.upto(seq.length-1) do |i|if seq[i] < seq[i-1] tmp = seq[i] j = i-1while(j>=0 && tmp<seq[j]) do seq[j+1] = seq[j] j=j-1end
Time of Update: 2018-12-08
class Des require 'openssl' require 'base64' ALG = 'DES-EDE3-CBC' KEY = "mZ4Wjs6L" DES_KEY = "nZ4wJs6L" #加密 def encode(str) des = OpenSSL::Cipher::Cipher.new(ALG) des.pkcs5_keyivgen(KEY, DES_KEY) des.encrypt
Time of Update: 2018-12-08
Ruby語言中的String是mutable的,不像java、C#中的String是immutable的。比如 複製代碼 代碼如下:str1="abc" str2="abc" 在java中,對於字面量的字串,jvm內部維持一張表,因此如果在java中,str1和str2是同一個String對象。而在Ruby中, str1和str2是完全不同的對象。同樣,在java中對於String對象的操作都將產生一個新的對象,而Ruby則是操縱同一個對象,比如: 複製代碼 代碼如下:str="abc"
Time of Update: 2018-12-08
ruby語言跟c#的一些重要差別在於: 1.ruby是動態語言,c#是靜態語言--即對象在new出來以後,ruby還可以動態給對象執行個體添加一些屬性或方法(javascript也是如此) 2.ruby中刻意弱化了變數類型這個概念,預設情況下變數/方法都不需要聲明具體(返回)類型,但其實在ruby內部,會自動根據變數的值配置類型。(可以通過 “puts 變數.class“查看) 3.ruby相對c#來講,可能有些雷的地方在於:父類中的private成員,居然是可以在子類中使用的!
Time of Update: 2018-12-08
分為如下幾節: ·基本實現 ·在迭代中引用原來的對象,或者直接改變數組的值而不是返回一個新數組 ·向迭代傳入無限多的參數 ·基本實現
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
在bigbold上看到Get the currently running method name in Ruby程式碼片段:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
轉載: http://www.5itjob.net/html/86/86_itemid_1183.html Ruby on Rails 是一個相對較新的 Web 應用程式架構,構建在 Ruby 語言之上。它被宣傳為現有企業架構的一個替代,而它的目標,簡而言之,就是讓生活,至少是 Web 開發方面的生活,變得更輕鬆。在本文中,Aaron Rustad 將對 Rails 和傳統的 J2EE 架構在架構上的一些關鍵特性進行比較。Ruby on Rails 是一個 Web
Time of Update: 2018-12-07
什麼是JRuby JRuby是一個純Java實現的Ruby解譯器。通過JRuby,你可以在JVM上直接運行Ruby程式,調用Java的類庫。很多Java編寫的Ruby IDE都是使用JRuby來解釋文法的。JRuby,JVM下的一個開源Ruby解譯器,能夠在Java裡面使用Ruby類庫。就像標準的Ruby解譯器一樣,除開使用Ruby調用本地方法(C代碼)或者Java類庫以外,Ruby代碼都能夠在JRuby裡面正確執行。為什麼JRuby除了適合用來開發面向Internet 的Web 應用程式之外,
Time of Update: 2018-12-07
Ruby 的標識名用來指向常量,變數,方法,類和模組。標識名的首字母用來協助我們確定標識所指向內容的範圍。 Ruby 的標識名區分大小寫。 Ruby 使用一個約定的來協助它區別一個名字的用法: a). 名字前面的第一個字元表明這個名字的用法。 b). 局部變數、方法參數和方法名稱應該用一個小寫字母開頭或者用一個底線開頭。 c). 全域變數用美元符作為首碼 $。 d). 執行個體變數用 @ 開頭。
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
共同點:都是用來螢幕輸出的。不同點:puts 輸出內容後,會自動換行(如果內容參數為空白,則僅輸出一個分行符號號);另外如果內容參數中有轉義符,輸出時將先處理轉義再輸出p 基本與puts相同,但不會處理參數中的轉義符號print 基本與puts相同,但輸出內容後,不會自動在結尾加上分行符號s = "aaaa\nbb\tbb"p sp "****************"puts sp "****************"print
Time of Update: 2018-12-07
一.鐵道1.1 建立一個Rails應用程式$ rails app_name可選項:-d, database=xxx 指定安裝一個資料庫(mysql oracle postgresql sqlite2 sqlite3 ), 預設情況下是資料庫-r, ruby-path= 指定Ruby的安裝路徑,如果沒有指定,scrīpts使用env去找Ruby -f, freeze (凍結)freezes Rails在vendor/rails目錄1.2 API Documentation$
Time of Update: 2018-12-07
今天開啟來自delicious的rss,看到很多人收藏了Fowler最新寫的推薦Rake的文章,看了該文章後,感覺確實不錯,完全可以代替ant。ant的XML方式一直讓人不快,XML是為機器設計的。一直也沒機會大量使用ant。Rake的源碼作為學習Ruby的範本也是不錯的。它的原始的原型代碼只有100多行。其作者的blog: http://onestepback.org/, 剛在新開的開源大會上作了關於Ruby的IOC的報告。據介紹在會上Ruby和殺手級應用Rails引起參會者的極大興趣。
Time of Update: 2018-12-07
這幾天在學ruby, 自己寫了一個簡單的單元測試庫, 有點DSL的感覺。似乎沒有ruby的格式化, 用Lua湊合一下吧。sample code:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 Python是一門非常優秀的語言,從Python遷移到Ruby,你將發現一些文法上的不同。 相似點 和Python一樣,在Ruby中,...有一個互動提示 (叫做 irb).你可以在命令列中讀取文檔 (通過ri 命令來替代