2007年04月29日
2006年08月2日
Ruby的迴圈-Ⅰ
for(int i =0;i<5;i++)
{
printf("My name is sholfen")
}
上面的程式碼會印出字串五次。而在Ruby會比較簡潔:
5.times{puts "My name is sholfen"}
接下來是如何將陣列的所有元素給印出來:
someArray.length.times do |i|
puts someArray[i]
end
再來介紹的語法,有點像BASIC:
1.step(10, 2) {|x|
puts x
}
執行的結果,會印出1 3 5 7 9這五個奇數。
之後的文章會繼續講其它的迴圈用法,像是For、While等。
2006年07月27日
Why Ruby??
在這物價高漲、油價飆升的時代,每個人都想省一點錢,又有一句話說「時間就是金錢」。而Ruby就是我們的救世主啊!

看看這張圖,光是書錢我們就可以省多少了,更別說可以省下多少時間。Ruby的小而美,讓我們不用購買昂貴的硬體架站。Ruby的跨平台,以及跟My SQL的完美結合,讓我們跟微軟說拜拜!

再看看上面這張圖,使用Ruby,不用再擔心忘了哪些語法或Namespace,而浪費時間去查書,這張小抄就能應付你所有的需求,還等什麼,一起Ruby吧!
2006年07月25日
簡單介紹Ruby的語法
這篇主要介紹Ruby的一些物件導向用法,請看以下的程式碼:
class MyClass
@@num_object = 0 # class variable
def initialize(name,phone)
@name = name
@phone = phone
@count = 0
@@num_object +=1
end
def testSub
puts "this is testSub"
end
def reflex(input)
puts input
end
def showData
puts "name:" + @name
puts "phone:" + @phone
puts "目前有#{@@num_object.to_s}個實體"
return true
end
def printcount
puts @count.to_s
@count += 1
end
end
class SubClass < MyClass
attr_reader:name
attr_writer:name
attr_accessor :value
def initialize(name,phone)
super(name,phone)
end
def description
return @description
end
def description=(aWord)
@description = aWord
end
end
def initialize(name,phone) 這一段是建構子的宣告,在其它的程式語言如C++ Java都是用類別的名稱來宣告建構子,在Ruby一律都是initialize。而變數前面加一個@,代表這是類別裡的成員。另外有加@@的,就是static變數。另外「class SubClass < MyClass」表示SubClass是繼承自MyClass。
另外下面這三個則比較特別:
attr_reader:name
attr_writer:name
attr_accessor :value
這個語法是用來宣告別類的屬性,例如說:
A = SubClass.new("sholfen", "0915066630")
A.name = "Linuxer"
A.value = 700
用attr_reader這個語法宣告時,代表此變數唯讀,要修改的話就得利用attr_writer宣告變數。而attr_accessor則是動態產生的一個變數。當「A.value = 700」這一行還沒執行時,物件裡是不會有value這個變數的,執行之後就會動態產生這個變數,使用上很有彈性。
暫時先簡單介紹到這~~
2006年07月23日
Ruby的IDE套件
http://www.plasmacode.com/
Ruby的免費IDE介面,目前還沒裝,聽說是不支援Unicode。
http://www.sapphiresteel.com/
讓Visual Studio 2005支援Ruby的外掛,還不錯用。本人現在就是用這套,一整個爽啊!比原來的IDE好用多了!
2006年05月28日
Ruby 的中文手冊
目前章節不多,不過對新手而言,算是足夠。有心想翻譯的人,可以到以下討論區。
Ruby台灣使用者社群
如果可以的話,希望能研究出Ruby跟其它語言作結合的方法。目前只有找到C語言的,不過我是用C#,之前有找到相關資料,但並不是很成熟,Ruby離商業應用大概還有一些路要走。
2006年04月3日
Ruby 程式語言
Ruby 是一個強調動態分型的直譯式語言(應該沒錯啦),跟一般編譯式語言不同的是,它強調簡單易用。現在主流的程式語言除了C++,大概就是Java或C#這一類。目前的趨勢是物件導向,但C++因為歷史的因素,所以作得不是很完美。而Java這一類因為商業用途的關係,所以功能很強大,但強大的背後是要付出代價的。雖然語言本身簡單易學,但函式庫本身以及包裝的方式卻非常復雜,這也使得一些簡單的程式寫起來也跟著復雜不少。
我以C# 為例子
using System;
namespace myNamespace
{
static class Program
{
static void Main()
{
string s = "sholfen";
for(int i = 0;i<5;i++)<br/> Console.WriteLine(s);
}
}
}
上面的程式碼在幹嘛呢?就是把字串"sholfen"列印五次,很簡單的功能對吧,但是這個程式有幾行程式碼?假如用Ruby 呢?
5.times{puts "sholfen"}
只有一行,或許有人會對數字後面接一個函式感到詭異,這應該是物件的用法吧。沒錯!對Ruby 來說,任何的東西全都是物件,即使是常數也一樣。
其它的特色以後會再介紹,這篇就暫時到這邊~~
2005年09月26日
台灣與大陸的計算機名詞對照(持續更新)
變數宣告 = 變數聲明
回傳值 = 返回值
程式 = 程序
樣板 = 模板
讀取陣列每個元素 = 遍歷陣列
固定長度 = 定長
??? = 深層拜訪
??? = 魯棒性
