Ruby的基礎(chǔ)語(yǔ)法入門(mén)學(xué)習(xí)教程
讓我們編寫(xiě)一個(gè)簡(jiǎn)單的 Ruby 程序。所有的 Ruby 文件擴(kuò)展名都是 .rb。所以,把下面的源代碼放在 test.rb 文件中。
實(shí)例
#!/usr/bin/ruby -w puts "Hello, Ruby!";
在這里,假設(shè)您的 /usr/bin 目錄下已經(jīng)有可用的 Ruby 解釋器。現(xiàn)在,嘗試運(yùn)行這個(gè)程序,如下所示:
$ ruby test.rb
這將會(huì)產(chǎn)生下面的結(jié)果:
Hello, Ruby!
您已經(jīng)看到了一個(gè)簡(jiǎn)單的 Ruby 程序,現(xiàn)在讓我們看看一些 Ruby 語(yǔ)法相關(guān)的基本概念:
Ruby 程序中的空白
在 Ruby 代碼中的空白字符,如空格和制表符一般會(huì)被忽略,除非當(dāng)它們出現(xiàn)在字符串中時(shí)才不會(huì)被忽略。然而,有時(shí)候它們用于解釋模棱兩可的語(yǔ)句。當(dāng)啟用 -w 選項(xiàng)時(shí),這種解釋會(huì)產(chǎn)生警告。
實(shí)例:
- a + b 被解釋為 a+b (這是一個(gè)局部變量)
- a +b 被解釋為 a(+b) (這是一個(gè)方法調(diào)用)
Ruby 程序中的行尾
Ruby 把分號(hào)和換行符解釋為語(yǔ)句的結(jié)尾。但是,如果 Ruby 在行尾遇到運(yùn)算符,比如 +、- 或反斜杠,它們表示一個(gè)語(yǔ)句的延續(xù)。
Ruby 標(biāo)識(shí)符
標(biāo)識(shí)符是變量、常量和方法的名稱。Ruby 標(biāo)識(shí)符是大小寫(xiě)敏感的。這意味著 Ram 和 RAM 在 Ruby 中是兩個(gè)不同的標(biāo)識(shí)符。
Ruby 標(biāo)識(shí)符的名稱可以包含字母、數(shù)字和下劃線字符( _ )。
保留字
下表列出了 Ruby 中的保留字。這些保留字不能作為常量或變量的名稱。但是,它們可以作為方法名。
Ruby 中的 Here Document
"Here Document" 是指建立多行字符串。在 << 之后,您可以指定一個(gè)字符串或標(biāo)識(shí)符來(lái)終止字符串,且當(dāng)前行之后直到終止符為止的所有行是字符串的值。
如果終止符用引號(hào)括起,引號(hào)的類型決定了面向行的字符串類型。請(qǐng)注意<< 和終止符之間必須沒(méi)有空格。
下面是不同的實(shí)例:
#!/usr/bin/ruby -w # -*- coding : utf-8 -*- print <<EOF 這是第一種方式創(chuàng)建here document 。 多行字符串。 EOF print <<"EOF"; # 與上面相同 這是第二種方式創(chuàng)建here document 。 多行字符串。 EOF print <<`EOC` # 執(zhí)行命令 echo hi there echo lo there EOC print <<"foo", <<"bar" # 您可以把它們進(jìn)行堆疊 I said foo. foo I said bar. bar
這將產(chǎn)生以下結(jié)果:
This is the first way of creating her document ie. multiple line string. This is the second way of creating her document ie. multiple line string. hi there lo there I said foo. I said bar.
相關(guān)文章
Ruby的XML格式數(shù)據(jù)解析庫(kù)Nokogiri的使用進(jìn)階
這篇文章主要介紹了Ruby的XML格式數(shù)據(jù)解析庫(kù)Nokogiri的使用進(jìn)階,文中對(duì)其從HTML/XML中抓取字段還有特別是命名空間的用法進(jìn)行了深入講解,需要的朋友可以參考下2016-04-04Ruby里4種比較函數(shù)(equal?, eql?, ==, ===)詳解
本文給大家詳細(xì)介紹了Ruby中的4種比較函數(shù)(equal?, eql?, ==, ===)的用法,并用具體示例進(jìn)行了講解,希望對(duì)大家學(xué)習(xí)ruby能夠有所幫助。2016-02-02Ruby中使用each和collect進(jìn)行迭代的用法
這篇文章主要介紹了Ruby中使用each和collect進(jìn)行迭代的用法,是Ruby學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05Ruby中的類Google Map/Reduce框架Skynet介紹
這篇文章主要介紹了Ruby中的類Google Map/Reduce框架Skynet介紹,Skynet是一款創(chuàng)建分布式應(yīng)用程序的框架,需要的朋友可以參考下2015-01-01Ruby中使用mechanize批量下載校內(nèi)網(wǎng)相冊(cè)照片
這篇文章主要介紹了Ruby中使用mechanize批量下載校內(nèi)網(wǎng)相冊(cè)照片,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-01-01