Time of Update: 2017-02-27
一、前言IronRuby是.NET下的一個Ruby實現,此外還有Ruby.net這一開源項目,二者的主要區別是IronRuby利用了Microsoft最新推出的DLR,而Ruby.net則是完全利用原有的CLR實現的。IronRuby入門可參閱http://msdn.microsoft.com/zh-cn/magazine/dd434651.aspx。關於IronRuby的一些基本操作,本文不會涉及,本文僅僅是IronRuby對Ruby操作的一個具體執行個體。其中包括對所有Ruby類的類名,方法
Time of Update: 2017-02-27
教程需求學習本教程需要以下技術和資源:資料庫伺服器帶有 Ruby 支援的 NetBeans IDE 6.0建立範例資料庫本教程基於另一篇教程構建 Rails 模型之間的關係。如果您完成了那篇教程,那麼您可以將完成教程 時產生的項目作為起點,直接進入下一節。否則,請您先下載 RubyWebLogModel.zip 檔案,然後按照下 面的步驟建立範例資料庫。注意:本教程使用 MySQL 資料庫伺服器。您可以參考安裝和配置 Ruby 支援一文以擷取有關如何在 Ruby 應用程式中使用 MySQL
Time of Update: 2017-02-27
在Ruby的世界中,程式員們享受著各種光怪陸離的文法糖,也經曆著各種各樣的陷阱。而這一切的根本就在於Ruby強大 的元編程能力。元編程就像Ruby世界的魔法,當其是白魔法的時候可以協助你把程式變得異常簡潔,美觀;而當其是黑魔法 的時候,你將會迷失在一些很難解釋的Bug中。《Ruby元編程》就是一部告訴大家如何使用,控制Ruby元編程魔法的 秘籍。該書的寫作手法非常值得稱道,作者把所有的知識點濃縮在了一個星期的工作過程中,通過一個菜鳥和大牛針對項目
Time of Update: 2017-02-27
數組和雜湊表Ruby的數組和雜湊表是索引集合。兩都都是儲存對象集合并能通過鍵來讀取。數組的鍵是數字,但是 雜湊表則支援對象作為鍵。它們都是隨著新元素的加入要增長。在訪問元素方面,數組效率比較高,但哈 希表更加的靈活。無論是數組還是雜湊表,都能儲存不同類型的對象;你可以使用一個數組儲存數字,字 符串和浮點數,就像你等會將會看到的那樣。你可以使用數組文本來建立和初始化一個新的數組——一個由中括弧包圍的元素集合。對於一個數組
Time of Update: 2017-02-27
Ruby大部分的內建類型都和其它的程式設計語言很相似。主要有strings,integers,floats,arrays等等 。然而,只有指令碼語言,如Ruby,Perl,和awk等提供了內建運算式類型的支援。慚愧的是:Regex儘管比較隱蔽,但卻是 一個很強大的文本處理工具。內建它們比單純的添加介面類庫有著很大的區別。Regex是使用指定的模式比對字元串的一種簡單的方法。在Ruby中,建立Regex的典型方式
Time of Update: 2017-02-27
RubyRegex三種表示方法:Regexp.new('^s*[a-z]')/^s*[a-z]/%r...{^s*[a-z]}測試代碼: def show_reqexp(a, re) if a =~ re "#{$`} << #{$&} >> #{$'}" else "no match" end end puts show_reqexp("Fats Waller",
Time of Update: 2017-02-27
Ruby是真正的物件導向語言,你所操作的一切東西都是對象,它們返回的操作結果也是對象。在Ruby裡,執行個體由類的建構函式建立。標準的建構函式是new。 song1 = Song.new("Ruby Tuesday") song2 = Song.new("Enveloped in Python") # and so
Time of Update: 2017-02-27
剛才跟NS老兄聊的時候他給我看了段代碼:night_stalker 寫道看到一個方法簡寫 trickIrb代碼irb(main):004:0> "Hello World".spl=> ["Hello", "World"]irb(main):005:0> "Hi there Daniel".sp=> ["Hi", "there",
Time of Update: 2017-02-27
學習一種語言,我想最應該先瞭解的就是怎麼去搭建這種語言的運行環境。如果語言的運行環境我們知道了,再找到符合以往開發習慣的IDE工具,再看一看入門的例子,再學一學語言相關的知識。這樣的時候,一種語言就應該開始入門了。其它只要堅持學習修鍊,加以時日,掌握一種語言只是時間的問題。我的ruby環境是基於linux環境的。windows下沒有試過。一、運行環境1、安裝ruby語言解釋環境apt-get install ruby rdoc ri安裝完成後,可以檢查一下安裝結果ruby
Time of Update: 2017-02-27
在Ruby中,一切都是對象。更精確地說,Ruby中的一切都是一個具有完整功能的對象。因此,在Ruby中,數字4,定點數3.14和字串"Hi"都是對象。顯然,它們是有點"特殊"的,因為你不必使用new方法來建立它們。代之的是,你使用例如"literal 4"這樣的形式來建立一個代表數字4的對象的執行個體。然而,對於絕大多數人來說,學習一種新的程式設計語言時,首先理解該語言提供的"標準"類型是非常有用的。所以,在這一節,
Time of Update: 2017-02-27
在許多情況中,當你設計你的應用程式時,你可能想實現一個方法僅為一個對象內部使用而不能為另外一些對象使用。Ruby提供了三個關鍵字來限制對方法的存取。Private:只能為該對象所存取的方法。Protected:可以為該對象和類執行個體和直接繼承的子類所存取的方法。Public:可以為任何對象所存取的方法(Public是所有方法的預設設定)。這些關鍵字被插入在兩個方法之間的代碼中。所有從private關鍵字開始定義的方法都是私人的,直到代碼中出現另一個存取控制關鍵字為止。例如,在下面的代碼中,ac
Time of Update: 2017-02-27
一些程式語言(如C++和CLOS)提供了多重繼承機制:一個類可以繼承自多個超類。例如,一個House可能繼承自一個Building類(連同Office和Hospital類一起)和Residence類(連同Apartment類一起)。儘管多重繼承可能成為一種語言強有力的特徵,但是由於它會增加該語言的複雜性和歧義,因此許多物件導向語言都沒有加入它。Ruby支援單繼承。然而,它還提供了mixin-它提供了多繼承的許多特徵。一個mixin是一種"模組"類型。為此,你必須首先理解在Ru
Time of Update: 2017-02-27
變數與賦值至此,你是否注意到前面所有的範例程式碼中都缺少某種東西?難道你必須輸入常數,執行個體變數或類變數?絕對不是!這正是Ruby的真正物件導向的天性的一部分。為此,首先讓我們看一下Ruby中以前的普通變數。至此,你已經建立了很多Rectangle執行個體,但是你並沒有把它們保留多長時間。比方說,你想要把一個變數賦值給你建立的一個Rectangle執行個體:myRectangle=Rectangle.new(4,5)在Ruby中這是完全有效代碼,而且根本不需要另一行代碼來把myRectangl
Time of Update: 2017-02-27
基於目前學習的Ruby知識並有Ruby標準庫的協助,你應該能夠構建一個真實世界的應用程式了。在開始時,我提供了一個應用程式範例,這個程式中使用了大量的我們已經討論過的Ruby特徵。這個程式讀取一個簡單的文字檔以得到一組股票符號和一個人所擁有的股份數並且在一個普通金融網站(finance.yahoo.com)檢索股票價格。在檢索股票價格以後,它計算這個人的portfolio(股份數×每份股票的價格)。不只是展示簡單的Ruby文法和類/對象結構,這個簡單應用程式還使用了Ruby內建的Ar
Time of Update: 2017-02-27
就象許多程式語言一樣,Ruby也提供了完整的資料結構來儲存和管理資料與對象。數組是使用方括弧和用逗號隔開的單個對象參考列表建立的。presidents=["John","Richard","Gerald","Ronald","George","William"];為了更為容易地建立一個充滿單詞的數組,Ruby提供了一個特殊的標誌來消除雙引號和逗號,見下面例子:president
Time of Update: 2017-02-27
象大多數物件導向語言一樣,Ruby類也允許定義類變數和方法。一個類變數允許在一個類的所有執行個體間共用單個變數。在Ruby中,兩個@@號用於指示類變數。例如,如果你想要使一個BankAccount類的所有執行個體共用相同的利息率,那麼該類可能被如下定義:class BankAccount@@interestRate = 6.5def BankAccount.getInterestRate()@@interestRateendattr_accessor :balancedef
Time of Update: 2017-02-27
老版本的will_paginate是基於plugin方式的,其安裝方式如下:ruby script/plugin install svn://errtheblog.com/svn/plugins/will_paginate新版本的will_paginate已經拋棄了這樣的做法,轉而使用gem的方式,本文通過建立一個名為foobar的應用來瞭解一下will_paginate的用法。==============================C:\>rails foobar -d
Time of Update: 2017-02-27
REXML 是一個完全用ruby寫的processor ,他有多種api,其中兩個經典的api是通過DOM-like 和SAX-like 來進行區分的。第一種是將整個檔案讀進記憶體,然後儲存為一個分層的形式(也就是一棵樹了).而第二種是"parse as you go",當你的檔案很大,並且記憶體受到限制的時候,比較適合用這種。看下面的book.xml:引用<library shelf="Recent Acquisitions">
Time of Update: 2017-02-27
這邊都只是個大概,具體的要自己去看文檔了.1 串連SQLite:require 'sqlite' db = SQLite::Database.new("library.db") db.execute("select title,author from books") do |row| p row end db.close2串連mysql:require 'mysql' m = Mysql.new("localhost",&
Time of Update: 2017-02-27
在這篇文章中,我們將要探討Java與Ruby語言遷移時風險預測方面的問題。通常來說,“使用Ruby具有風險”是一種普遍的看法,這存在一定的原因。因為使用新的語言天生是有風險的。隨著Ruby on