雜湊(散列)Hash

 

※ 說明 : 作者稱其「鍵值對(Key-Value)的資料結構」,理解應該是屬於『指址』,使用方法以{ }表示之。
■ 題型︰Hash練習
◎ 參圖 : notepad打上下列內容 > 存 hs.rb
config = { “foo" => 123, “bar" => 456 }
puts config["foo"] # 輸出 123
config["nothing"] # 是 nil
018-14a
◎ 參圖 : 開DOS模式 > ruby  hs.rb  > 執行結果正確 018-14b

 

 

陣列Array

 

※ 說明 : 中括[]內置不同type,無損其陣列特性。
■ 題型︰陣列練習
◎ 參圖 : notepad打上下列內容 > 存 ar.rb
□ a = [ 1, "cat", 3.14 ]

□ puts a[0] # 輸出 1
□ puts a.size # 輸出 3

□ a[2] = nil
□ puts a.inspect # 輸出 [1, "cat", nil]
□ a[99] # nil
※★ 註 : inspect 可轉成較易懂的意思

018-12a
◎ 參圖 : 開DOS模式 > ruby ar.rb  > 執行結果正確

018-12b
■ 題型︰非陣列練習
◎ 參圖 : notepad打上下列內容 > 存 arn.rb
□ colors = ["red", "blue"]

□ colors.push(“black")
□ colors << “white"
□ puts colors.join(“, “) # red, blue, black, white

□ colors.pop
□ puts colors.last #black
018-13a
◎ 參圖 : 開DOS模式 > ruby arn.rb  > 執行結果正確

018-13b

ROR 重置安裝及啟用(重點快速提示)

 ※ 這篇文章,僅為重點提示,一旦電腦掛掉了,或重新於別台電腦上安置ROR,就不需,整個站台的文章再重新檢視一遍。

———————————————————————————

一、Windows必備元件
Microsoft .NET Framework 4 (獨立安裝程式)
DirectX End-User Runtime Web 安裝程式
● 以上安裝不要指定路徑,一指按到底囉~~

二、下載 RailsInstaller(railsinstaller-3.0.0.exe),下載後直接點按︰
◎ 參圖 [ 安裝路徑可自定]
000-1ROR安裝路徑
◎ 參圖 [ 執行時,提示Username和E_mail,並提示相關訊息]
000-1USER-Email
三、產生一個ROR要使用的檔案清單,目錄下會附載很多必要的元件,含附網頁伺服器功能即資料庫
◎ 參圖 rails new demo
002-0 產生rails檔

002-1 產生rails檔內資料清單

002-1a 產生rails檔內資料清單

002-1b 產生rails檔內資料清單002-1c 產生rails檔內資料清單002-2a 檢視rails檔清單資料
四、啟動伺服器
◎ 參圖 [安裝伺服器元件] 至前步驟demo路徑下,安裝內附伺服器套件 >  bundle install 003-1開伺服器 003-2開伺服器

五、啟動伺服器
◎ 參圖 [安裝伺服器元件] 至前步驟demo路徑下,啟動內附套件rails server 003-3開伺服器

◎ 參圖 : 伺服器啟動狀態 [安裝伺服器元件完成時,防火牆設定為開啟狀態,系統會出現提示的訊息,點按『解除封鎖』] (切記-非必要情況,不要關機喔~~)003-3A啟動伺服器

◎ 參圖 [檢測伺服器是否啟動] http://localhost:3000004網站開放

六、關閉伺服器
◎ 參圖 : 滑鼠移至持續啟動的DOS模式視窗,按ctrl+C,DOS模式,視窗回應『要終止批次作業嗎<Y/N>?』,若確定即按『Y』

007-2-詢問終止 007-3-關閉伺服器

※執行過程中出現提示「Could not fetch specs from https://rubygems.org」,不懂究竟發生了什麼事。也不懂全新的電腦系統何以出現此一問題,排除問題就是「移除RailsInstaller」,然後,沒重開機就重新安裝「RailsInstaller」,結果「過關」。這也很奇怪,概念中,牽涉到「系統面」一般都須「重新開機」,但移除程序並沒有「重新開機」,它也「過關」。百思不解呀!!

 

 

 

 

 

 

註解 – 多行

 

※★  多行註解,較少使用,方法是第一行置『=begin』末行『=end』。
◎ 參圖 : notepad打上下列內容 > 存 memo2.rb
□  puts “memo for 2M"
□ =begin
□     This is a comment line
□     This is a comment line
□ =end018-11多行註解memo2
◎ 參圖 : 開DOS模式 > ruby memo2.rb  > 執行結果正確018-11檢視多行註解memo2

★◎ memo2.rb中第二~五行即是備註,『=begin』與『=end』間之內容,於執行時全部不會被顯示出來但開啟notepad時,它是顯示的,主要功能為提供該程式的重要註解

註解 – 單行

 

※ 養成好的習慣,助人也可自助,更是維護程式必備的動作。
◎ 參圖 : notepad打上下列內容 > 存 memo.rb
□  puts “memo"
□  # this is a comment line
□ # this is a comment line018-10備註memo
◎ 參圖 : 開DOS模式 > ruby memo.rb  > 執行結果正確
018-10檢視備註memo
★◎ memo.rb中第二、三行即是備註,#後面的內容,於執行時全部不會被顯示出來但開啟notepad時,它是顯示的,主要功能為提供該程式的重要註解。

空值nil

 

※ 作者述『未設定值、未定義的狀態』,與原認知有差異,待解?? 
◎ 參圖 : notepad打上下列內容 > 存 nu.rb
□ nil # nil
□ nil.class # NilClass

□ nil.nil? # true
□ 42.nil? # false

□ nil == nil # true
□ false == nil # false 018-9空值nu
◎ 參圖 : 開DOS模式 > ruby nu.rb  > 執行結果正確018-9a檢視空值nu

常數Constant

 

※ 常數一般以大寫開頭為之 ,如RUBY_PLATFORM
◎ 參圖 : notepad打上下列內容 > 存 cs.rb
Foo = 1
Foo = 2 # (irb):3: warning: already initialized constant Foo

RUBY_PLATFORM # => “x86_64-darwin10.7.0″
ENV # => { “PATH" => “….", “LC_ALL" => “zh_TW.UTF-8″ }
018-7常數cs
◎ 參圖 : 開DOS模式 > ruby cs.rb  > 執行結果有點錯誤
018-8檢視常數cs
★◎ 整個執行結果跳到irb模式,內容的第四、五行之執行並沒有出現,不解其用意為何?

 

型別轉換Conversions

 

※ 數值與字串要相加,務必將數值轉成字串[to_s(轉成字串)字串轉數值to_i(轉成整數),才能執行同型式相加, 如下︰
◎ 參圖 : notepad打上下列內容 > 存 tosi.rb
□ var1 = 2
□ var2 = ’5′

□ puts var1.to_s + var2 # 25
□ puts var1 + var2.to_i # 7

□ puts 9.to_f / 2 # 4.5
018-5轉換tosi
◎ 參圖 : 開DOS模式 > ruby tosi.rb  > 執行結果正確018-6檢視轉換tosi

 

區域變數Local Variable

 

※ 變數一般使用如my_composer。
◎ 參圖 : notepad打上下列內容 > 存 lv.rb
□ composer = ‘Mozart’
□ puts composer + ‘ was “da bomb", in his day.’

□ my_composer = ‘Beethoven’
□ puts ‘But I prefer ‘ + my_composer + ‘, personally.’
018-3區變lv
◎ 參圖 : 開DOS模式 > ruby lv.rb  > 執行結果正確 018-4檢視區變lv

Ruby完全物件導向特性

 

※ 字串和數字,所有的方法都是對物件呼叫。
◎ 參圖 : notepad打上下列內容 > 存 test.rb
□ # 輸出 “UPPER"
□ puts “upper".upcase

□ # 輸出 -5 的絕對值
□ puts -5.abs

□ # 輸出 Fixnum 類別
□ puts 99.class

□ # 輸出 “Ruby Rocks!" 五次
□ 5.times do
puts “Ruby Rocks!"
end
018-1物件導向驗證 test
◎ 參圖 : 開DOS模式 > ruby test.rb  > 執行結果正確018-2檢視物件導向驗證 test