Time of Update: 2017-02-27
Ruby語言中的String是mutable的,不像java、C#中的String是immutable的。比如str1="abc"str2="abc"在java中,對於字面量的字串,jvm內部維持一張表,因此如果在java中,str1和str2是同一個 String對象。而在Ruby中, str1和str2是完全不同的對象。同樣,在java中對於String對象的操作都將
Time of Update: 2017-02-27
在Ruby的一切都是一個對象。甚至一個代碼塊也是一個對象!在Ruby中,代碼對象被稱為代碼塊。你可以把代碼塊想像成小的程式單元。它們包含Ruby代碼並且能夠在執行它們時轉入到方法中。在Python,C和Java中與之類似的概念是函數指標,匿名函數,內部類和回呼函數。Ruby代碼塊的文法是,把Ruby代碼放在大括弧之間或放在do/end命令之間。如下所示:{#這是一個代碼塊...}do#...並且這也是一個代碼塊end在一個很簡單的執行個體中,{puts"hello
Time of Update: 2017-02-27
輸入輸出在所有的本系列文章中,在編寫Ruby代碼時都使用了大量的Ruby標準輸出方法。其中,最為常用的是print和puts方法,有關其使用細節不再贅述。所有這些和其它處理輸入和輸出的方法都定義於Kernel模組中。這個Kernel模組又被包含在Object類中。因此,Kernel的方法出現在每一個對象中。在輸出方面,Kernel定義了print,printf,putc和IO類和兩個子類(File和BasicSocket)-它們允許讀寫檔案和通訊端。BasicSocket是通訊端庫的一部分並且將
Time of Update: 2017-01-18
今天學習的是數組和Hash,數組在很多程式設計語言中都能常常用到。數組:數組是儲存資料的一種容器,在Ruby中,數組中儲存的資料可以是任何類型的資料;這和JAVA不同,在JAVA中,數組是儲存同一類型資料的結構。1. 在Ruby中如何定義數組呢?使用[ ]來框住元素,而元素之間則使用","間隔。如下,複製代碼 代碼如下:name = ["Windy", "Cindy", "Amee", "Tom"]name = [] #聲明了一個空數組,未定義的數組name = [1, "song"
Time of Update: 2017-01-18
閉包(Closure),是指未綁定到任何對象的自由代碼,閉包中的代碼與任何對象和全域變數無關,只與執行此段代碼的上下文相關。今天我們簡要的看一下ruby中的閉包實現。Ruby中的閉包實現有:Block,Proc,Lambada。首先,我們來看Block。複製代碼 代碼如下:ary = [1,2,3,4]ary.collect! do |a| a*aendary.each do
Time of Update: 2017-01-18
1、阿里雲的一鍵安裝web全環境下載一鍵安裝web全環境 sh.zip 壓縮包上傳至伺服器,解壓、執行指令碼,具體步驟詳見這裡$ mv sh.zip /home/tmp/ & cd /home/tmp$ unzip sh.zip$ chmod -R 777 sh & cd sh# 任意選擇一種方法執行指令碼# 方法一$ ./install.sh# 方法二$ ./install_nginx_xxx.sh$
Time of Update: 2017-01-18
有機會再試一試Rails了,只是原來接觸的是2,現在已然變成了4,似乎現在的安裝比原來會快些。。Rails 4 安裝針對於安裝了RVM複製代碼 代碼如下:gem install rails沒有的話應該這樣:複製代碼 代碼如下:sudo gem install rails安裝RVM可以用句複製代碼 代碼如下:curl -L https://get.rvm.io | bash -s stable查看rails版本複製代碼 代碼如下:rails -vRails
Time of Update: 2017-01-18
1.日文轉UTF-8 Iconv.new('cp932', 'utf-8')與Iconv.new('shift_jis', 'utf-8')的區別 Iconv.new('shift_jis', 'utf-8')不支援以下的格式: 課№001-18 XXXXXXX 而只能把字元竄中的№換成No.才行 但是Iconv.new('cp932', 'utf-8')支援. 2.半形全形轉換 看下面的代碼: require "jcode" $cov.iconv(year.to_s.tr('0-9', '0-
Time of Update: 2017-01-18
一、向對象顯示的發送訊息 我們可以向對象直接發送訊息: Ruby代碼 複製代碼 代碼如下:class HelloWorld def say(name) print "Hello, ", name end end hw = HelloWorld.new hw.send(:say,"world") 我們通常使用hw.say("world"),但send可以對private的方法起作用。 不光如此send可以使程式更加動態,下面我們看看一個例子:
Time of Update: 2017-01-18
本文詳細介紹如何在Windows配置Ruby on Rails 開發環境,希望對ROR初學者能有協助。一、下載並安裝RubyWindows下安裝Ruby最好選擇 RubyInstaller(一鍵安裝包)。下載地址: http://rubyforge.org/frs/?group_id=167 。我們這裡下載目前較新的rubyinstaller-1.9.3-p0.exe 一鍵安裝包。這個安裝包除了包含ruby本身,還有許多有用的擴充(比如gems)和
Time of Update: 2017-01-18
Ruby 中的迴圈用於執行相同的代碼塊若干次。本章節將詳細介紹 Ruby 支援的所有迴圈語句。Ruby while 語句文法while conditional [do] codeend當 conditional 為真時,執行 code。while 迴圈的 conditional 通過保留字 do、一個分行符號、反斜線 \ 或一個分號 ; ,來與 code 分離開。執行個體#!/usr/bin/ruby $i = 0$num = 5 while $i < $num do
Time of Update: 2017-01-18
本章節將向您講解如何使用 Ruby 訪問資料庫。Ruby DBI 模組為 Ruby 指令碼提供了類似於 Perl DBI 模組的獨立於資料庫的介面。DBI 即 Database independent interface,代表了 Ruby 獨立於資料庫的介面。DBI 在 Ruby 代碼與底層資料庫之間提供了一個抽象層,允許您簡單地實現資料庫切換。它定義了一系列方法、變數和規範,提供了一個獨立於資料庫的一致的資料庫介面。DBI 可與下列進行互動: ADO (
Time of Update: 2017-01-18
1.返回字串的長度複製代碼 代碼如下:str.length => integer2.判斷字串中是否包含另一個串複製代碼 代碼如下:str.include? other_str => true or false"hello".include? "lo" #=> true"hello".include? "ol" #=> false"hello".include?
Time of Update: 2017-01-18
在Ruby中,執行shell命令是一件不奇怪的事情,Ruby提供了大概6種方法供開發人員進行實現。這些方法都很簡單,本文將具體介紹一下如何在Ruby指令碼中進行調用終端命令。execexec會將指定的命令替換掉當前進程中的操作,指定命令結束後,進程結束。複製代碼 代碼如下:exec 'echo "hello world"'print 'abc'執行上述的命令,結果如下,我們可以看到沒有abc的輸出,可以看出來,在執行echo "hello
Time of Update: 2017-01-18
簡便方法的用法現有一個字串列表,需要對其中的每個字串執行轉換大寫操作,我們可以用一個簡便寫法來完成。複製代碼 代碼如下:name_list = ["chareice", "angel"]name_list.map(&:upcase)# => ["CHAREICE", "ANGEL"]這個寫法等同於複製代碼 代碼如下:name_list.map do {|name|
Time of Update: 2017-01-18
1、數組的定義Ruby中的數組是動態數組,儲存的資料不用限定類型,數組的長度是根據儲存需要動態擴充,所以,在進行資料定義的時候,只用用最簡單的方式new一個Array對象就可以了,可以使用以下幾種方式:複製代碼 代碼如下:arr1=[] #最簡單的Array建立方式arr2=Array.new #標準的Array建立方式arr3=%w[This is a
Time of Update: 2017-01-18
Ruby on Rails 正在令整個 Web 開發領域受到震憾。讓我們首先瞭解底層的技術: Ruby 是一門免費的、簡單的、直觀的、可擴充的、可移植的、解釋的指令碼語言,用於快速而簡單的物件導向編程。類似於 Perl,它支援 處理文字檔和執行系統管理任務的很多特性。 Rails 是用 Ruby 編寫的一款完整的、開放原始碼的 Web
Time of Update: 2017-01-18
早年寫過用C++ + SWIG寫Ruby外掛程式的文,但實際中還是以原生C++寫Ruby擴充,因為也相當簡單。但長久沒用還是會忘記,不得不翻以前的老代碼回憶,寫下這篇博文,若下次再忘記,也不至於去翻倉庫。建立 extconf.rb複製代碼 代碼如下:require 'mkmf'$libs = '-lstdc++'create_makefile 'foo'建立 foo.cc複製代碼 代碼如下:#include <ruby.h>VALUE plus(VALUE self, VALUE
Time of Update: 2017-01-18
(一)條件判斷條件判斷為基本式:複製代碼 代碼如下:if expression codeend運算式如果不是false或nil,則可執行code部分,所以對於else來說,如果為false或nil,則else下的代碼是要執行的。要注意的是運算式與執行代碼之間要有分界符:例如換行或分號或是then關鍵字。多條件分支情況下,除了可以用else if之外,可以用省略式:elsif複製代碼 代碼如下:if
Time of Update: 2017-01-18
前言看到很多文章都說ruby環境在windows上是非常難搭建,會出現各種各樣的怪問題,所以都推薦到linux和mac上安裝開發。但是我按照教程搭了下,問題也不算太多。總過大概花費了2個半小時左右就完成了。所以大家不要被嚇尿了,下面就把安裝的步驟及具體的版本記錄了一下供大家參考。安裝步驟: 開發機環境:我使用的開發機:win7 旗艦版 - 64位 (cpu是i5)。1 安裝 rubyinstaller-2.0.0-p481.exe 1