目前分類:其它技術 (25)

瀏覽方式: 標題列表 簡短摘要

這篇主要介紹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", "0915000000")
A.name = "Linuxer"
A.value = 700

attr_reader這個語法宣告時,代表此變數唯讀,要修改的話就得利用attr_writer宣告變數。而attr_accessor則是動態產生的一個變數。當「A.value = 700」這一行還沒執行時,物件裡是不會有value這個變數的,執行之後就會動態產生這個變數,使用上很有彈性。

暫時先簡單介紹到這~~

卑微研究生 發表在 痞客邦 留言(0) 人氣()

http://www.plasmacode.com/
Ruby的免費IDE介面,目前還沒裝,聽說是不支援Unicode。

http://www.sapphiresteel.com/
讓Visual Studio 2005支援Ruby的外掛,還不錯用。本人現在就是用這套,一整個爽啊!比原來的IDE好用多了!

卑微研究生 發表在 痞客邦 留言(0) 人氣()

參考手冊

目前章節不多,不過對新手而言,算是足夠。有心想翻譯的人,可以到以下討論區。
Ruby台灣使用者社群

如果可以的話,希望能研究出Ruby跟其它語言作結合的方法。目前只有找到C語言的,不過我是用C#,之前有找到相關資料,但並不是很成熟,Ruby離商業應用大概還有一些路要走。

卑微研究生 發表在 痞客邦 留言(0) 人氣()

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 來說,任何的東西全都是物件,即使是常數也一樣。

其它的特色以後會再介紹,這篇就暫時到這邊~~

卑微研究生 發表在 痞客邦 留言(0) 人氣()

看完九月號的RUN!PC雜誌C++/CLI的單元後,覺得大陸的技術名詞跟台灣差太多了,所以就整理一下目前為止我看過的。

變數宣告 = 變數聲明

回傳值 = 返回值

程式 = 程序

樣板 = 模板

讀取陣列每個元素 = 遍歷陣列

固定長度 = 定長

??? = 深層拜訪

穩固性(robustness) = 魯棒性

物件導向 = 面向對象

類別 = 類

最佳化 = 優化

卑微研究生 發表在 痞客邦 留言(0) 人氣()

«12