Time of Update: 2016-04-14
標籤:程式設計語言 知識點 如何 模型 動態 在學習新的程式設計語言的時候,我們一定要弄清楚一下幾個問題:語言的類型模型是什嗎?強型別/弱類型,靜態類型/動態類型類型模型會改變問題的處理方式,控制語言的運行方式語言的編程範型是什嗎?物件導向、函數式、過程式等等怎樣和語言互動?編譯、解釋語言的判斷結構(decision
Time of Update: 2016-07-31
標籤: public class InvertibleList<T> : List<T> { public new T this[int index] { get { if (index >= 0) return base[index]; if (Count + index < 0)
Time of Update: 2016-07-31
標籤:對於新入門的開發人員,如何安裝 Ruby, Ruby Gems 和 Rails 的運行環境可能會是個問題,本頁主要介紹如何用一條靠譜的路子快速安裝 Ruby 開發環境。次安裝方法同樣適用於產品環境!系統需求首先確定作業系統環境,不建議在 Windows 上面搞,所以你需要用:Mac OS X 任意 Linux 發行版本(Ubuntu,CentOS, Redhat, ArchLinux ...)強烈新手使用 Ubuntu 省掉不必要的麻煩!以下代碼地區,帶有 $
Time of Update: 2016-07-23
標籤:轉自:http://www.jianshu.com/p/728184da1699Gem介紹:Gem是一個管理Ruby庫和程式的標準包,它通過Ruby Gem(如 http://rubygems.org/ )源來尋找、安裝、升級和卸載軟體包,非常的便捷。Ruby 1.9.2版本預設已安裝Ruby Gem,如果你使用其它發行版本,請參考“如何安裝Ruby Gem”。Ruby gem包的安裝方式:所有的gem包,會被安裝到 /[Ruby
Time of Update: 2016-07-21
標籤:在用ruby做測試時,很多時候需要一些資料初始化以及事後的資料恢複還原之類的操作,下面整理了這些方法。require "test/unit"class TestAnion <Test::Unit::TestCase #用例執行前只執行一遍初始化資料 def self.startup anion=‘startup‘ puts anion end #用例執行後只執行一遍初始化資料 def self.shutdown puts "shutdown" end
Time of Update: 2016-07-19
標籤:# coding:utf-8require ‘openssl‘require ‘base64‘#des加密並且base64編碼def des_encrypt des_key, des_text des =OpenSSL::Cipher::Cipher.new("DES-ECB") des.encrypt des.key=des_key des_text="#{des_text}" result = des.update(des_text) result <<
Time of Update: 2016-07-19
標籤:# coding:utf-8require ‘openssl‘require ‘base64‘# rsa簽名,常值內容和私密金鑰路徑def rsa_sign(data,private_key_path) private_key = File.read(private_key_path) pri = OpenSSL::PKey::RSA.new(private_key) sign = pri.sign(‘sha1‘, data.force_encoding("utf-8")) #
Time of Update: 2016-07-13
標籤:簡介有時候在安裝cocoapods時會產生如下錯誤ERROR: Error installing cocoapods: activesupport requires Ruby version >= 2.2.2.1這就說明,你的Ruby環境需要升級更新, 我以mac OS 10.11 下更新ruby方法為例,
Time of Update: 2016-06-30
標籤:【編者按】本文作者為 Pierpaolo Frasa,文章通過詳細的案例,介紹了在Ruby中編寫微服務時所需注意的方方面面。系國內 ITOM 管理平台 OneAPM
Time of Update: 2016-06-14
標籤:ruby學習筆記-puts,p,print的區別共同點:都是用來螢幕輸出的。不同點:puts 輸出內容後,會自動換行(如果內容參數為空白,則僅輸出一個分行符號號);另外如果內容參數中有轉義符,輸出時將先處理轉義再輸出p 基本與puts相同,但不會處理參數中的轉義符號print 基本與puts相同,但輸出內容後,不會自動在結尾加上分行符號1234567s = "aaaa\nbb\tbb" p sp "****************"puts sp "***************
Time of Update: 2016-05-25
標籤:yield所有的"方法(methods)"隱式跟上一個"塊(block)"參數。塊參數也可以明確給定,形式就是在參數前面加一個"&",比如 def fn(arg1, arg2, &block) end,其中的 &block 就是明確給定的塊參數。塊參數的動作,可以通過調用 call() 方法執行,還可以用 yield 來執行 —— yield 其實就是一個文法糖。所以以下幾種寫法常常是等價的:#method receives an
Time of Update: 2016-05-15
標籤:替代類使用,節省代碼,清晰簡潔使用StructSelectOption = Struct.new(:display, :value) do def to_ary [display, value] endendoption_struct = SelectOption.new("Canada (CAD)", :cad)puts option_struct.display# Canada (CAD)puts option_struct.to_ary.inspect# ["Canada
Time of Update: 2016-05-13
標籤:When you first started coding, errors were probably the last thing you wanted to see.After all, it’s not a far stretch to associate “error” with “I messed up”.Hopefully by now you’ve come to appreciate the value of a good error message. Take a
Time of Update: 2016-05-09
標籤:一、類變數在ruby中,可以為類定義類變數,類變數的值為類的所有執行個體(對象)所共用。有點類似其它語言(如java)中的靜態變數,但與java中的靜態變數的區別是,類變數是私人的,無法在類的外部存取,只能通過類的方法訪問。類變數通過 @@符號來標識(連續的兩個@符號)。舉例說明:class Demo @@a = 1 def plus @@a += 1 end def print puts @@a endend
Time of Update: 2016-05-09
標籤:一、全域變數ruby中支援全域變數,ruby中的全域變數有如下幾個特點:1)標識符以$開頭標記2)全域變數可以在程式的任何地方加以引用3)全域變數無需提前進行變數聲明。引用尚未初始化的全域變數時,其值為 nil。我們下面來看例子class Demo def print puts $a end end puts $a #引用未聲明的全域變數,$a這時值為nildemo = Demo.newdemo.print
Time of Update: 2016-05-09
標籤:ruby是完全物件導向的,所有的資料都是對象,沒有獨立在類外的方法,所有的方法都在類中定義的。一、類的定義文法類的定義以 class 關鍵字開頭,後面跟類名,以 end標識符結尾。類中的方法以 def關鍵字開頭,後面跟方法名及參數列表(如果有的話),以 end標識符結尾。類也有建構函式,名字必須為initialize。對象通過new來建立,new是類的方法。舉例如下:class Demo def initialize puts "begin create object"
Time of Update: 2016-05-08
標籤: When you first started coding, errors were probably the last thing you wanted to see.After all, it’s not a far stretch to associate “error” with “I messed up”.Hopefully by now you’ve come to appreciate
Time of Update: 2016-04-30
標籤:devise、cancan和rolify這三個組件結合,可以建立完整而強大的使用者權限模型。devise介紹,負責使用者註冊、登入、退出、找回密碼等操作。細節參考devise on githubcancan介紹, 負責角色建立、對角色授權、在頁面中根據授權是否顯示元素,以及模型中超出授權時拋出異常。細節參考rolify on githubrolify介紹,負責將使用者與角色關聯。細節參考rolify on
Time of Update: 2016-04-30
標籤:常用快速鍵:一級必會Ctrl+Alt+G:彈出GenerateCtrl+Alt+L:格式化代碼Alt+F1:切換視圖(Project, Structure,
Time of Update: 2016-04-21
標籤:需求函數,需要通過參數傳遞字串,用來做正則匹配reg = ‘[0-9]+‘def func(str, reg) str.scan(reg)end由於 reg 在其它地方定義, reg 是字串, 傳進來後發現沒法直接用於正則匹配返回的結果總是 [] Null 字元串.解決通過 Regexp 來通過 string 產生正則匹配的條件def func)(str, reg) reg = Regexp.new("#{reg}"[0..-1]) "#{str}" =~