2009年09月4日
jQuery與JSON
由於AJAX的流行,也使得jQuery跟著火紅。有在逛電腦書店的朋友,應該會發現到jQuery相關的書多了不少。jQuery本身提供的功能,讓程式設計師在寫AJAX功能時省了不少力,本篇文章就來介紹jQuery相關的功能。
...繼續閱讀2009年06月18日
2009年05月11日
在Android上使用資料庫 - db4o
雖然目前在台上市的第一支Android手機:HTC Magic,價錢一整個很Magic(二萬塊誰買啊,中華電信你去吃屎啦),不過後續還會有其它廠商會出,所以我們還是繼續努力的學Android程式設計吧。
...繼續閱讀2009年04月9日
Ruby語言的Duck Typing
Ruby的Duck Typing有點類似物件導向的多型,但差別在於多型要透過繼承才能實現,Duck Typing則不用。至於什麼是Duck Typing,可以用一句話來講:「如果牠走路像鴨子,叫聲也像鴨子,那牠就是隻鴨子!」。
...繼續閱讀2009年04月8日
2009年04月7日
Hello Android
Android是Google推出的智慧型手機平台,Open Source而且免費。目前參與的廠商非常多,不過市面上目前只有HTC推出的G1手機。話雖如此,對於Android平台,許多人還是抱持著樂觀的態度。本篇文章,是針對想學習Android程式設計的朋友,提供一個入門的基本概念,包括開發環境的設定、基本的程式設計。
...繼續閱讀
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這個變數的,執行之後就會動態產生這個變數,使用上很有彈性。
暫時先簡單介紹到這~~