Time of Update: 2017-01-13
類與執行個體2016年9月5日 下午7:35 ***一個類裡面會定義一些方法,類存在的理由就是要被執行個體化,也就是去建立一個類的執行個體得到一個對象。一個執行個體化的動作,像這樣:obj = Object.newObject 是 Ruby 內建的一個類,在類上使用點形式,就是 Object 與 new 之間的那個點。你就是發送了一個資訊給類。類會對這個資訊做出響應,就像對象可以響應資訊一樣。類也是對象。new 方法是一個構造器,也就是類裡面的可以加工與返回新執行個體的方法。使用 class
Time of Update: 2017-01-13
Ruby變數名的首位字元來確定它是局部變數、執行個體變數、類變數、全域變數還是常數。通常情況下,變數名的第二位字元以後是數字、字母或底線,但有的內部變數名比較特殊s = 'Hello World!'x = 10# p004stringusage.rb# Defining a constantPI = 3.1416puts PI# Defining a local variablemyString = 'I love my city, Pune'puts
Time of Update: 2017-01-13
LINUX作業系統: CentOS6.3 64bitRuby: ruby-2.0.0-p247一.安裝開發包(使用預設CENTOS更新源): 代碼如下複製代碼 # yum install openssl* openssl-devel zlib-devel gcc gcc-c++ make autoconf readline-devel curl-devel expat-devel gettext-devel 二.關閉iptables和SELINUX
Time of Update: 2017-01-18
一,塊的聲明 塊的聲明在函數調用之後,用{..}括起來,或do..end封裝。{}一般用在單行語句上,do..end用在多行語句上。(1..4).each{|v| print "#{v} "} #輸出1 2 3 4 塊可以帶參數,與函數參數不同,塊參數用||封裝,當然,可以帶多個參數。這些參數怎麼定義,實際上是在函數內部定義好的,後面會講到。二,塊內變數的訪問 塊內可以訪問塊外的變數,也就是塊外的變數在塊內是可見的,如sum = 0
Time of Update: 2017-01-18
rbenv 用來管理多個版本的 ruby 在使用者目錄的安裝和使用, 和 rvm 二選一使用. 具體區別 rbenv 的文檔裡有說明, 社區裡也有討論.系統需求OSX: 請找一個網好的地方, 從 app store 裡下載 xcode.app, 安裝完成後運行, 在設定中的 Downloads 裡安裝 Command Line Tools.Linux: 請安裝開發環境 (編譯連結工具和 ruby 的依賴), 如果只要 jruby 有 jre 就可以了.安裝 rbenv在 osx 上可以直接用
Time of Update: 2017-01-18
前兩天在寫代碼的時候,突然收到警告說項目代碼中存在 XSS 漏洞,遂立即根據報告的 URL 排查頁面代碼,雖然很快就修複了,而且同樣問題的討論兩年前就有了,一般來說相對有經驗的同學也應該都知道這個點,但是還是覺得有必要寫出來,再次提醒一下其他小夥伴,避免踩坑。問題根源其中,在找到的漏洞出現的地方,都存在類似以下這樣的 slim 代碼:input class='xxx' value==params[:account]問題就出在雙等號 == 上,因為在 slim 跟 ERB 模板(其他模板比如
Time of Update: 2017-01-18
解釋的不錯,應該明確了不少 ruby symbol詳解 起因 最近在學習ruby on rails,的確是一個優秀的資料庫開發架構。但在過程中,發現在視圖檔案夾中的rhtml檔案裡有大量的類似於以下的語句:
Time of Update: 2017-01-18
我最近讀了些文章(比如這篇),宣傳在 Ruby 裡使用 method_missing 的。很多人都與 method_missing 乾柴烈火,但在並沒有小心處理彼此之間的關係。所以,我想來探討一下這個問題:** 我該怎麼用 method_missing **什麼時候該抵擋 method_missing 的誘惑首先,永遠不要在還沒花時間考慮你用得夠不夠好之前,就向 method_missing 的魅力屈服。你知道,在日常生活中,很少會讓你以為的那樣亟需
Time of Update: 2017-01-18
Ruby的哲學理念是基於一個基本的要素,那就是讓程式員快樂。Ruby非常注重程式員的快樂,並且也提供了許多不同的方法來實現它。 它的元編程能力能夠讓程式員編寫在運行時動態產生的程式碼。它的線程功能使得程式員有一種優雅的的方式編寫多線程代碼。 它的鉤子方法能讓程式員在程式運行時擴充它的行為。上述的這些特性,以及一些其他很酷的語言方面,使得Ruby成為編寫代碼的優先選擇之一。
Time of Update: 2017-01-18
1、類變數名以@@開始,一個類變數被這個類所有的執行個體對象共用;執行個體變數名以@開始,每個執行個體對象有各自不同的執行個體變數;2、類變數在使用前必須初始化,否則在使用時會報錯;而執行個體變數如果沒有初始化,則使用時返回nil;3、類變數是私人的,在類外無法直接存取,可以通過類方法和執行個體方法訪問;複製代碼 代碼如下:class B @@number = 11 @@num = 22 &
Time of Update: 2017-01-18
動態規劃解決矩陣連乘問題,隨機產生矩陣序列,輸出形如((A1(A2A3))(A4A5))的結果。代碼:#encoding: utf-8=beginauthor: xu jin, 4100213date: Oct 28, 2012MatrixChainto find an optimum order by using MatrixChain algorithmexample output:The given array is:[30, 35, 15, 5, 10, 20, 25]The
Time of Update: 2017-01-18
ruby -v #查看ruby 版本 ruby -e ''require"watir"; puts Watir::IE::VERSION'' #查看watir版本rvm list known #列出已知的ruby版本rvm install 1.9.3rvm use 1.9.3 | rvm use systemrvm use 1.9.3 --defaultrvm list #列出本地ruby版本rvm remove 1.9.2具體詳情見RVM實用指南
Time of Update: 2017-01-18
Ruby支援一系列豐富的運算子的一個現代化的語言。大多數運算子實際上是方法調用。例如,a + b的被解釋為a,+(b)變數引用的對象的方法被稱為一個用b作為它的參數。對於每個運算子 (+ - * / % ** & | ^ << >> && ||), 有相應的賦值運算子縮寫形式 (+= -=
Time of Update: 2017-01-18
ruby語言升級還是比較勤快的。但是數量眾多的版本使得程式庫的相容性成了大問題。有些gem表示明確不支援某個特定版本以前的ruby,而有些gem則與較高的版本不相容。再加上gem本身也有版本,簡直是亂成了一鍋粥。即使使用了rvm、rbenv之類ruby版本管理工具也避免不了掉入坑中。並且時不時的一些其它環境設定也給你搗亂。所以一般使用ruby程式時,對升級ruby版本或各種gem版本都是比較謹慎的,避免一時手賤掉入坑中。當然你也不能因此就做縮頭烏龜,某些情況下還是不得不升級的。比如想使用ruby
Time of Update: 2017-01-18
return,break,next 這幾個關鍵字的使用都涉及到跳出範圍的問題,而他們的不同 則在於不同的關鍵字跳出去的目的範圍的不同,因為有代碼塊則導致有一些地方需要格外注意。return常用方式通常情況下的return語句和大家理解的意思是相同的。def m1 param if param == 1 return 'returned 1' end 'returned default value' #
Time of Update: 2017-01-18
跟我一起學ruby By Tiger 註:本教程轉載自在遊戲先行者論壇,著作權屬於作者Tiger。 第一篇 第二篇 第一篇 自序 從今天起我就要開始學Ruby了。怎麼樣,沒見吧?一個新人寫教程。就憑我堅強的毅力,科學的自學方法,以及我的鑽研精神,我有信心學通Ruby,而同樣是新手的你也可以!由於本教程是菜鳥教萊鳥若有什麼不對的地方還請前輩指教!如果沒人看,就當我自愚自樂了。 =============================================================
Time of Update: 2017-01-18
異常和執行總是被聯絡在一起。如果您開啟一個不存在的檔案,且沒有恰當地處理這種情況,那麼您的程式則被認為是低品質的。如果異常發生,則程式停止。異常用於處理各種類型的錯誤,這些錯誤可能在程式執行期間發生,所以要採取適當的行動,而不至於讓程式完全停止。Ruby 提供了一個完美的處理異常的機制。我們可以在 begin/end 塊中附上可能拋出異常的代碼,並使用 rescue 子句告訴 Ruby 完美要處理的異常類型。文法begin # - rescue OneTypeOfException # -
Time of Update: 2017-01-18
Ruby是純物件導向的語言,所有項目似乎要Ruby中為一個對象。Ruby中的每個值是一個對象,即使是最原始的東西:字串,數字甚至true和false。即使是一個類本身是一個對象,它是Class類的一個執行個體。本章將通過所有功能涉及到Ruby的物件導向。類是用來指定對象的形式,它結合了資料表示和方法操縱這些資料,轉換成一個整齊的包。在一個類的資料和方法,被稱為類的成員。Ruby類的定義:定義一個類,定義的資料類型的草圖。
Time of Update: 2017-01-18
碰到需要叫用作業系統shell命令的時候,Ruby為我們提供了六種完成任務的方法:1.Exec方法:Kernel#exec方法通過調用指定的命令取代當前進程例子:複製代碼 代碼如下: $ irb >> exec 'echo "hello $HOSTNAME"'
Time of Update: 2016-09-06
標籤:1.puts "Hello"This write "Hello" to the screen with a new line tailed to.print "Hello"Just like puts, but without new line. 2."You know nothing".lengthThis output the string length."Jon Snow".reverse"wonS noJ""OVERWATCH".downcase #--->