概括、ruby中的基礎資料型別 (Elementary Data Type)都是類類型,只不過為了書寫和閱讀的方便,為基礎資料型別 (Elementary Data Type)提供了較為簡潔的書寫方式而已。一、數實值型別整數支援二進位,八進位,十進位,十六進位,根據整數的大小動態決定整數是Fixnum類型還是Bignum類型。浮點數支援科學計數法,小數點後至少有一個數字。數實值型別繼承圖如下:複製代碼 代碼如下:Numeric |--Integer &
1、在proc和lambda中,return關鍵字有不同含義:在proc中,return僅僅表示從這個lambda中返回.在lambda中,return不是從proc中返回,而是從定義proc的範圍中返回.複製代碼 代碼如下:def one_method p = Proc.new{return 10} #調用這個塊的時候,從p的範圍直接返回10,因此下面的return將不會執行 result =
利用動態規划算法,實現最短編輯距離的計算。複製代碼 代碼如下:#encoding: utf-8#author: xu jin#date: Nov 12, 2012#EditDistance#to find the minimum cost by using EditDistance algorithm#example output:# "Please input a string: "# exponential# "Please input the
演算法導論上的偽碼改寫而成,加上導論的課後練習第一題的解的建構函式。複製代碼 代碼如下:#encoding: utf-8=beginauthor: xu jindate: Nov 11, 2012Optimal Binary Search Treeto find by using EditDistance algorithmrefer to <<introduction to algorithms>>example output:"k2 is the root of
#建立一個222.rb檔案並且輸入字元file = File.open("222.rb","w+")file.puts "123\nwadwa\n12124124\ndwdw"file.close#輸出222.rb的內容File.open("222.rb","r+") do |file|while line = file.getsputs lineendend#直接用IO操作檔案IO.foreach("222.rb") do |line|puts line if line =~/abc/
Block定義some_array.each { |value| puts value + 3 }sum = 0other_array.each do |value| sum += value puts value / sumend A block is somewhat like the body of an anonymous method Block can take parameters
簡介當今的應用程式不僅需要和基於瀏覽器的用戶端互操作,還需要和其他應用程式互操作。為實現互通性,web 應用程式通常提供一個 web 服務 API。web 服務 API 通過一個網路(比如 Internet)提供對應用程式 的遠端存取。直到最近,web 服務 API 還使用重型、複雜的基於 SOAP 的 web 服務整合,這種 web 服務,不僅沒有什麼優點,而且還需要很長時間才能實現。帶有基於 Representational State Transfer (REST) 服務的 Rails
ruby判斷一個數是否為質數質數又稱素數。一個大於1的自然數,如果除了1和它自身外,不能被其他自然數整除的數;(除0以外)否則稱為合數 。根據算術基本定理,每一個比1大的整數,要麼本身是一個質數,要麼可以寫成一系列質數的乘積;而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形式是唯一的。複製代碼 代碼如下:def prime?(num) res = [1] res << num if num == 0 || num ==