自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ruby受歡迎的三十七個(gè)理由(下)

開發(fā) 后端
本文介紹的是Ruby受歡迎的三十七個(gè)理由,分為上篇和下篇。希望對(duì)大家有幫助,一起來(lái)看。

Ruby,一種為簡(jiǎn)單快捷的面向?qū)ο缶幊蹋嫦驅(qū)ο蟪绦蛟O(shè)計(jì))而創(chuàng)的腳本語(yǔ)言,在20世紀(jì)90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)開發(fā),遵守GPL協(xié)議和Ruby License。接上一篇>>

一、Ruby 關(guān)注細(xì)節(jié)。

Ruby 提供豐富的同義詞和別名。不記得對(duì)數(shù)組或字符串是用 size 還是 length 嗎??jī)蓚€(gè)都可以用。對(duì)于范圍(range),是用 begin 和 end ,還是 first 和 last?由您自選。您心里拼寫 indices ,而您的手卻拼出 indexes 嗎??jī)蓚€(gè)都可以用。

二、Ruby 具有靈活的語(yǔ)法特性。

在方法調(diào)用中可以忽略括號(hào),參數(shù)之間可以忽略逗號(hào)。Perl 風(fēng)格的引號(hào)允許我們定義數(shù)組或字符串時(shí)不必勞煩去敲那些引號(hào)和逗號(hào)(譯注:Ruby 中 a = [ 'ant', 'bee', 'cat' ] 可以簡(jiǎn)寫為 a = %w{ ant bee cat })。return 關(guān)鍵字也可以忽略。

三、Ruby 有豐富的程序庫(kù)可供使用。

Ruby 的程序庫(kù)提供了對(duì)線程、套接字(socket)、有限的對(duì)象永續(xù)機(jī)制、CGI、服務(wù)器端可執(zhí)行機(jī)制、DB 文件等許多功能的支持。Ruby 還對(duì) Tk 有所支持,今后會(huì)有更多的支持。

四、Ruby 有調(diào)試器(debugger)。

在完美世界里我們大約不需要調(diào)試器。可惜這并不是完美的世界。

五、Ruby 可通過(guò)交互的方式來(lái)使用。

Ruby 設(shè)計(jì)為可以將其當(dāng)作一種類似 Kornshell 的 shell 來(lái)使用。(這是本文中最令人質(zhì)疑的觀點(diǎn),而且我也不得不承認(rèn),Ruby 并不是真正非常優(yōu)秀的 shell。但我還是堅(jiān)持認(rèn)為,基于 Ruby 的 shell 是個(gè)不錯(cuò)的東西。)

六、Ruby 是精煉的語(yǔ)言。

Ruby 中沒有非必要的關(guān)鍵字,比如 Pascal 的 begin,if 之后的 then,while 之后的 do。不需要事先聲明變量,因?yàn)樽兞繜o(wú)類型。不需要為方法指定返回類型。不需要 return 關(guān)鍵字;方法會(huì)返回最后被求值的表達(dá)式之結(jié)果。另外一方面……Ruby 不像 C 或 Perl 那么晦澀。

七、Ruby 是面向表達(dá)的語(yǔ)言(expression-oriented)。

您可以像說(shuō)話一樣很容易寫出 x = if a<0 then b else c end 這樣的句子。

八、Ruby 語(yǔ)言中系結(jié)了 syntax sugar(語(yǔ)法糖)。

(轉(zhuǎn)述 Mary Poppins 的話說(shuō)就是:一勺語(yǔ)法糖可以壓一壓語(yǔ)義的藥味。"A spoonful of syntax sugar helps the semantic medicine go down.")只要您想,您就可以用 for a in x 來(lái)迭代遍歷數(shù)組 x,可以用 a += b 來(lái)代替 a = a + b。大多數(shù)操作符其實(shí)只是簡(jiǎn)化的方法表示、更加直覺的名稱以及更加方便使用的語(yǔ)法形式。

譯注:Mary Poppins 指的是美國(guó)1964年拍攝的經(jīng)典電影《歡樂滿人間(Mary Poppins)》。

九、Ruby 支持操作符重載(overloading)。

如果我沒記錯(cuò)的話,操作符重載源起自很久以前的 SNOBOL,但卻是由較近的 C++ 振興。這個(gè)機(jī)制可能會(huì)被濫用或誤用,但有總比沒有好。另外,Ruby 會(huì)自動(dòng)定義操作符的賦值(assignment)版本,比如說(shuō),您定義了操作符 + ,那么您就會(huì)自動(dòng)得到操作符 +=。

十、Ruby 具有無(wú)限精度的整數(shù)算法。

誰(shuí)還關(guān)心 short、int、long 呢? 使用 Bignum 就行了。承認(rèn)吧,您總還是想看看365的階乘是多少?,F(xiàn)在您可以看了。

十一、Ruby 具有冪運(yùn)算操作符。

在過(guò)去年代,我們?cè)?BASIC 和 FORTRAN 里使用過(guò)冪運(yùn)算操作符。但是后來(lái)我們學(xué)會(huì)了 Pascal 和 C 語(yǔ)言,知道了這個(gè)操作符邪惡的一面。(我們被告知,我們甚至都不曾知道求值是如何完成的——是使用了對(duì)數(shù)還是迭代?效率有多高?)可是我們真的關(guān)心這些么?如果是,我們可以編寫自己的版本。如果不是,Ruby 還提供了您珍愛的老好用的 ** operator 供您使用。享用它吧!

十二、Ruby 具有強(qiáng)大的字符串處理能力。

如果您想對(duì)字符串進(jìn)行搜索、替換、修改、格式化、截?cái)啵╰rim)、分隔(delimit)、追加(interpose),或者字元化(tokenize)等操作,您可以使用 Ruby 內(nèi)建的方法。如過(guò)內(nèi)建方法不能滿足要求,您可以利用內(nèi)建方法來(lái)建構(gòu)自己所需。

十三、Ruby 幾乎沒有違反自身規(guī)則的例外情況。

Ruby 的語(yǔ)法和語(yǔ)義比大多數(shù)語(yǔ)言更具自我完備性(self-consistent)。每種語(yǔ)言都有犄角旮旯,每種規(guī)則都有例外情況;但 Ruby 的旮旯和例外可能比您想象的要少。

到這,關(guān)于Ruby受歡迎的三十七個(gè)理由,就為大家介紹完了。希望對(duì)你有幫助。

【編輯推薦】

  1. Ruby對(duì)象初始化方法介紹
  2. Ruby on Rails命名約定概念詳解
  3. 如何正確理解Ruby on Rails內(nèi)建Log
  4. 為你詳解Ruby賦值語(yǔ)句
  5. 分享Ruby操作二進(jìn)制文件技巧
責(zé)任編輯:于鐵 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-05 11:35:47

Ruby

2021-12-21 08:59:29

VueMVVM框架

2011-03-16 14:04:51

2010-05-28 09:39:45

Linux系統(tǒng)Windows

2018-12-19 22:24:39

數(shù)據(jù)中心管線

2024-06-04 00:00:02

實(shí)用插件IDEA

2016-12-26 20:41:43

技術(shù)機(jī)器人智能

2022-05-16 14:07:23

微軟GitHub開源

2009-04-17 09:17:04

2017-07-26 10:21:46

DockerLinux容器

2021-03-02 16:25:13

手機(jī)iPhone安卓

2011-03-02 09:34:58

AppFuse

2020-06-02 19:14:59

Kubernetes容器開發(fā)

2020-06-16 14:13:50

Kubernetes容器Linux

2013-07-22 15:38:08

Java大師底層

2020-11-17 11:39:00

JavaScript前端編程語(yǔ)言

2023-03-27 23:37:21

2022-04-02 09:01:21

GitHub工具庫(kù)前端

2016-02-02 10:56:50

2023-09-19 15:04:02

Github開源
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)