Time of Update: 2017-01-18
這段代碼能運行嗎? 這個DATA是什麼東西?require 'erb'data = DATA.readmax = 15_000title = "hello world!"content = "hello world!\n" * 10max.times{ ERB.new(data).result(binding)}__END__<html> <head> <%= title %> </head> <body> <h1>
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和rails後進入script/consle出現: 複製代碼 代碼如下:/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError) from /usr/local/lib/ruby/1.8/irb/completion.rb:10
Time of Update: 2017-01-18
gem相關命令使用1.顯示gem的協助和版本 複製代碼 代碼如下:gem –h/--help #顯示gem的協助gem –v /--version #顯示gem的版本號碼 2. 列出遠程庫的所有可用軟體 複製代碼 代碼如下:gem query --remote # 短命令: gem q -r 你可以看到一個關於遠程主機上所有軟體的詳細列表。3. 尋找遠程主機上的特定軟體 複製代碼 代碼如下:gem
Time of Update: 2017-01-18
Ruby 裡的 block一般翻譯成代碼塊,block 剛開始看上去有點奇怪,因為很多語言裡面沒有這樣的東西。事實上它還不錯。First-class function and Higher-order functionFirst-class function 和 Higher-order function 是函數式程式設計語言裡面的概念,聽起來好像很高端的樣子,其實很很簡單的。First-class functions 是指在某些語言裡,函數是一等公民,可以把函數當做參數傳遞,可以返回一個函數,
Time of Update: 2017-01-18
簡介當今的應用程式不僅需要和基於瀏覽器的用戶端互操作,還需要和其他應用程式互操作。為實現互通性,web 應用程式通常提供一個 web 服務 API。web 服務 API 通過一個網路(比如 Internet)提供對應用程式 的遠端存取。直到最近,web 服務 API 還使用重型、複雜的基於 SOAP 的 web 服務整合,這種 web 服務,不僅沒有什麼優點,而且還需要很長時間才能實現。帶有基於 Representational State Transfer (REST) 服務的 Rails
Time of Update: 2017-01-18
有了頁面緩衝,Rails 就可以不再介入。在某種程度上,這是件好事,因為您的確可以獲得優秀的效能。Rails 只需建立 HTML 頁面,將其放入目錄,之後,就可以置之於腦後。從那時起,就由應用伺服器管理這些頁面,且頁面進入應用伺服器無需任何迴圈。從效能的角度而言,頁面緩衝真是天賜之福。我也鐘愛頁面緩衝,Rails 使之簡單利落。只需使用一行代碼就可以啟用緩衝。如果再加入一些代碼,就能通過簡單地刪除檔案操作或使用 Rails 較高層的 API
Time of Update: 2017-01-18
Ruby on Rails 編程常常會將您寵壞。這一不斷髮展的架構會讓您從其他架構的沉悶乏味中解脫出來。您可以用習以為常的幾行代碼片斷表達自己的意圖。而且還可以使用 ActiveRecord。對於我這樣的一個老 Java? 程式員而言,ActiveRecord 多少有點生疏。通過 Java 架構,我通常都會在獨立的模型和模式之間構建一種映射。像這樣的架構就是映射架構。通過 ActiveRecord,我只定義資料庫模式:或者用 SQL 或者用稱為遷移(migration)的
Time of Update: 2017-01-18
如果讀者已經開發過基於 Rails 的應用,但對其 MVC 間的資料傳遞還有諸多困惑,那麼恭喜您,本文正是要總結梳理 Rails 資料傳遞的方法和技巧。Ruby on Rails 3(以下統稱為 Rails 3)是當前的主要發布版本,本文所述及的內容和代碼都基於此版本。Rails 3 簡介Ruby on Rails 是一個 Ruby 實現、採用 MVC 模式的開源 Web 應用程式開發架構,能夠提供 Web 應用程式的全套解決方案。它的“習慣約定優於配置”的設計哲理,使得 Web
Time of Update: 2017-01-18
如果沒有聽說過 Rails,那麼歡迎您外星旅行歸來,近幾年大概只有那個地方沒有聽說過 Ruby on Rails 了。Rails 最迷人的地方是能夠很快地建立功能完備的應用程式並運行起來。Rails 為 Ajax 而內建整合的 Prototype.js 庫可以輕鬆快速地建立所謂的富 Internet 應用程式。本文將逐步引導您建立 Rails 應用程式。然後深入分析如何利用 Ajax 特性編寫從伺服器上讀寫資料的 JavaScript 代碼。從容起步 Ajax 之旅——Ajax
Time of Update: 2017-01-18
ruby實現石頭剪刀布遊戲複製代碼 代碼如下:#encoding: utf-8arr = ['石頭', '剪刀', '布']win_arr = [['石頭', '剪刀'], ['剪刀', '布'], ['布', '石頭']]#隨機computer的值,放入result數組中result = [arr.sample]while (true) puts "請輸入石頭、剪刀、布" input_value = gets.force_encoding("GBK").encode("
Time of Update: 2017-01-18
Ruby線程實現經典的生產者消費者問題,用ruby中的Queue類實現線程同步問題。複製代碼 代碼如下:require "thread" puts "ProAndCon" queue = Queue.new #用隊列Queue實現線程同步 producer = Thread.new do 10.times do |i|
Time of Update: 2017-01-18
ruby,nokogori,爬取糗事百科最新的10頁加圖片比並同時儲存進文本跟資料庫複製代碼 代碼如下:#encoding:utf-8require "open-uri"require "nokogiri"require "mysql"@dbh=Mysql.real_connect("localhost","root","dengli","pachong")@file=open("qb.txt","w")def getQiubai(url) data=open(url){|f| f.
Time of Update: 2017-01-18
Ruby 中充滿了一系列的隱藏變數,我們可以從這些預定義的全域變數中擷取一些有意思的資訊。全域進程變數$$ 表示當前啟動並執行 ruby 進程。複製代碼 代碼如下:>> $$=> 17170我們可以從當前進程殺死它自己複製代碼 代碼如下:>> `kill -9 #{$$}`[1] 17170 killed irb$? 表示最近一個子進程的狀態複製代碼 代碼如下:>>
Time of Update: 2017-01-18
例如,考慮下面的匹配日期的Regex:複製代碼 代碼如下:/\A((?:19|20)[0-9]{2})[\- \/.](0[1-9]|1[012])[\- \/.](0[1-9]|[12][0-9]|3[01])\z/使用Re之後,Regex可以短小易讀的運算式為基礎,一步一步地構建出來,例如:複製代碼 代碼如下:require 're'include
Time of Update: 2017-01-18
詳細安裝步驟:一、更新Python centos 中預設安裝的python是2.4的版本,因為新版的rails需要提供nodejs的相關支援,需要更新python,更新文章可以直接移步到這個連結 http://www.tomtalk.net/wiki/Python複製代碼 代碼如下:yum install -y bzip2* #nodejs
Time of Update: 2017-01-18
一、空格與tab使用空格縮排(95.364%)使用Tab縮排(4.636%)基於 1,001,987 次提交二、最大行寬80字元(92.618%)120字元(5.893%)150字元(1.489%)基於 1,057,374 次提交三、運算子、冒號、花括弧周圍,逗號、分號後是否使用空格不使用空格(73.366%)複製代碼 代碼如下:sum = 1 +2a,b = 1, 21>2 ? true : false;puts 'Hi'[1, 2, 3].each {|e| puts e}使用空格(2
Time of Update: 2017-01-18
Ruby語言中的String是mutable的,不像java、C#中的String是immutable的。比如 複製代碼 代碼如下: str1="abc" str2="abc" 在java中,對於字面量的字串,jvm內部維持一張表,因此如果在java中,str1和str2是同一個String對象。而在Ruby中, str1和str2是完全不同的對象。同樣,在java中對於String對象的操作都將產生一個新的對象,而Ruby則是操縱同一個對象,比如: 複製代碼 代碼如下:
Time of Update: 2017-01-18
跟我一起學ruby By Tiger 註:本教程轉載自在遊戲先行者論壇,著作權屬於作者Tiger。 第一篇 第二篇 第一篇 自序 從今天起我就要開始學Ruby了。怎麼樣,沒見吧?一個新人寫教程。就憑我堅強的毅力,科學的自學方法,以及我的鑽研精神,我有信心學通Ruby,而同樣是新手的你也可以!由於本教程是菜鳥教萊鳥若有什麼不對的地方還請前輩指教!如果沒人看,就當我自愚自樂了。 =============================================================
Time of Update: 2017-01-18
ruby語言跟c#的一些重要差別在於: 1.ruby是動態語言,c#是靜態語言--即對象在new出來以後,ruby還可以動態給對象執行個體添加一些屬性或方法(javascript也是如此) 2.ruby中刻意弱化了變數類型這個概念,預設情況下變數/方法都不需要聲明具體(返回)類型,但其實在ruby內部,會自動根據變數的值配置類型。(可以通過 “puts 變數.class“查看) 3.ruby相對c#來講,可能有些雷的地方在於:父類中的private成員,居然是可以在子類中使用的!