Ruby語言FAQ(1)

發表于:2007-06-11來源:作者:點擊數: 標簽:
1、Ruby是什么東東? Ruby是一種簡單的 面向對象 編程語言,十分容易上手,并且功能強大。她是一個日本的Yukihiro Matsumoto(大家都叫他Matz.)在1995年首次發布的。Ruby從Perl語言那里借鑒了許多東西(有人形象地說Ruby是Perl的漂亮的妹妹:),和Perl相似

1、Ruby是什么東東?

Ruby是一種簡單的面向對象編程語言,十分容易上手,并且功能強大。她是一個日本的Yukihiro Matsumoto(大家都叫他Matz.)在1995年首次發布的。Ruby從Perl語言那里借鑒了許多東西(有人形象地說Ruby是Perl的漂亮的妹妹:),和Perl相似,Ruby也擅長于文本處理、系統管理等任務。和Smalltalk一樣,Ruby是一種純粹的面向對象語言,任何東西都是對象。下面是Ruby語言的一些特性:

◆語法簡單、優雅

◆ 解釋型執行、方便快捷

◆完全面向對象

◆內置正則式引擎,適合文本處理

◆擁有很多高級特性(操作符重載、Mix-ins、Singleton Methods,...)

◆有優雅、完善的異常處理機制

◆自動垃圾收集

◆高度可移植性(在Windows, Unix, Linux, MacOS上都可以運行)

2、Ruby能干什么?給我看一些Ruby語言代碼!

Ruby作為一種通用的程序設計語言,和其它常用的編程語言一樣,可以編寫大部分我們日常遇到的任務,而且完成得更簡單優雅。已經有人用她編寫了Web服務器程序、科學計算程序、視頻游戲軟件和其他有趣的應用。更多的人用她來做程序原形實驗和處理每天遇到的各種瑣碎的編程任務。

你想看Ruby代碼?好的,下面就是用Ruby編寫的幾個簡單程序的代碼:

# 1 - 打印3次“Hello, world!”

3.times do

print "Hello, world!\n"

end



# 2 - 計算“1 + 2 + 3 + ... + 100”

sum = 0

for i in 1..100

sum += i

end

print "1+2+3+...+100 = ", sum, "\n"



# 3 - 簡單的方法調用

def hello(name)

print "Hello, ", name, "\n"

end

hello("jellen")



# 4 - 簡單的Ruby類和它的調用

class Man

def initialize(name)

@name = name

end

def show_info()

puts "I'm a man. My name is #{@name}."

end

end

jellen = Man.new("jellen")

jellen.show_info()



3、“Ruby”這個名字從何而來?

受到了Perl的影響,當初Matz.也想給他發明的語言起一個珠寶的名字,所以后來他想到了“Ruby”(意思是紅寶石),作為這種新語言的名字。在生肖石中,pearl代表六月,ruby剛好是代表七月。所以他認為Ruby是一個作為比Perl更新的語言的好名字(但愿也是真的更好的)。

4、我對Ruby的歷史感興趣,請講點關于Ruby發展歷程的東西。

大約在1993年的時候,Ruby之父Matz.開始對腳本語言(scripting language)感興趣。在通過一些分析和思考之后,Matz.認識到了腳本語言是可以變得很強大和靈活的,于是他準備把腳本語言作為他的發展方向。和很多人一樣,Matz.是一個面向對象編程的fans,所以他想研究一種面向對象的腳本語言。然后,他到網絡上去搜集了一些相關的資料,并且很快發現了Perl 5,當時它還沒有發布,并且準備支持面向對象編程。但是通過一段時間了解后,Matz.發現這并不是他想的東西(可能是Perl語言非自然的面向對象方式使他厭惡),所以他放棄了把Perl當作一個面向對象的腳本語言使用的念頭。隨后Matz轉向了Python,Python生成是一個解釋型的、面向對象語言,但是Matz發現它并不能完全算作“面向對象”語言。Matz認為Python是面向對象和過程化程序設計語言(Procedural Programming Language)的混合產物。Matz.希望找到的是一種比Perl更強大、比Python更面向對象的語言,但是在那個時候他找不到合適的。經過一番思想斗爭,他打算自己設計一個全新的編程語言。Matz.的開發從1993年2月24日開始,在同年夏天,第一個ruby語言程序"Hello, world!"成功運行。隨后,Ruby語言的第一個alpha版本在1994年12月發布。

在1996年以前,都是Matz.一個人在開發Ruby的;隨著Ruby社區的漸漸形成,很多社區成員都給了Matz.許多有意義的幫助,包括提交bug和patch等?,F在,Ruby像其他開源軟件一樣,有自己的開發團隊,任何有能力的個人或團體都可以參與Ruby的進化。


共2頁: 1 [2] 下一頁

原文轉自:http://www.anti-gravitydesign.com

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97