Ruby 基礎

按照以往的學習方式,每學一種編程語言都要先配置它的環境。因此,在正式寫 Ruby 程序之前應該先配置環境。看這里看這里,看這里

Hello,World!

安裝好環境,我們來寫一個 Hello World!
vim HelloWorld.rb # 創建 ruby 文件

print "Hello,World!\n"

執行程序
ruby HelloWorld.rb
此時,終端顯示

Hello,World!

有木有很簡單,接下來我們正式開始 Ruby 之旅。

方法的調用

Ruby 在調用方法時可以省略 ()

irb(main):001:0>  print "Hello,","Ruby",".","\n"
Hello,Ruby.
=> nil
irb(main):002:0> 

print 方法直接輸出結果,需要換行時,需要在末尾加 "\n"。

puts方法在輸出結果的末尾一定會輸出換行符。

p方法在輸出結果時,數值結果和字符串結果會以不同的形式輸出。但是print和puts方法,輸出數值1和字符串"1"時,結果都是單純的1。

eg:

irb(main):002:0> p "100"
"100"
=> "100"
irb(main):003:0> p 100
100

數值表示與計算

Ruby進行數學函數計算,如平方根、sin等。使用數學函數時,必須在函數前加上Math.標識。如不想在函數前加上Math.時,則需要 include Math 這段代碼。

irb(main):007:0> Math.sqrt(10000)
=> 100.0

變量

"size = #{area}\n" 為整體的一個字符串。#{area} 方法表示把area的值嵌入到字符串中

x=10
y=20
z=30
area =(x*x+y*y+z*z)*2
print area,"\n"
print "size = #{area}\n

注釋

單行注釋:#

# 我是注釋

多行注釋:以 =begin 開頭,以 =end 結尾

=begin
我
是
注
釋
=end

控制語句

  1. 條件判斷:if~then~end
if 條件 then
      條件成立時的處理
else 
      條件不成立時的處理
end

eg:

a = 2
if a >= 1 
    print "bigger\n"
else 
    print "smaller\n"
end
  1. while 語句
while 循環條件 do 
    希望循環的處理
end
  1. times 方法
循環次數.times do 
    希望循環的處理
end

eg:

5.times do
    print “hello,world!\n”
end

便利的對象

  1. 數組
    Ruby中數組的大小是按照實際情況自動調整的,即動態數組。
    Ruby數組支持多種不同對象的混合保存。
mixed = [1,"AAA",2,"BB",3]

數組的大小

mixed.size => 5

數組的循環Ruby中提供了each方法便利整個數組,each后面在do~end之間的部分稱為塊(block),塊的開始部分稱為|變量|。each方法會吧數組元素逐個拿出來,賦值給指定的|變量|,那么塊里面的方法就可以通過訪問該變量,實現循環遍歷數組的操作。

數組.each do |變量| 希望循環的處理end

eg:

names = ["zhao","qian","sun","li"]
names.each do |n| 
    puts n
end
  1. 散列
    散列(hash)是程序里常用的容器。散列是鍵值對(key-value pair)的一種數據結構。在Ruby中,一般以字符串或者符號(symbol)作為鍵,用來保存對應的對象。
  • 符號(symbol)
    1. 可以理解為輕量級的字符串,也是對象
    2. 一般用作名稱標簽使用,用來表示方法等的對象名稱
    3. 像散列這種單純判斷"是否相等"的處理中效率較高
    4. 創建方式,只需在標示符的開頭加上:就可以了

符號與字符串間相互轉換

symbol.to_s       #將符號轉換為字符串
string.to_sym      #將字符串轉換為符號

散列創建的方法與數組差不多,但使用的是{}。散列定義有兩種方法。
eg:

address = {name: "nantongdajie",id:"145",info:"heu"}
student = {:name=>"tars",:id=>30}
address.each do |key,value| 
    puts "#{key}:#{value}"
end
student.each do |key,value| 
    puts "#{key}:#{value}"
end

運行結果

hash_demo.rb
name:nantongdajie
id:145
info:heu
name:tars
id:30

Tips

Ruby 中一切數據都是對象。

pp 方法

Ruby 除了提供 p 方法外,還提供類似作用的方法 pppp 是英語pretty print 的縮寫。
eg:

v = [{ 
    key00: "value01", 
    key01: "value02", 
    key02: "value03"
}]
p v
pp v

與p方法不同,pp方法在輸出對象結果時,為了更容易看懂,會適當地換行以調整輸出結果。

循環語句、方法及其主要用途

方法 主要用途
times 方法 確定循環次數
for 語句 從對象取出元素時使用(each 語法糖)
while 語句 希望自由指定循環條件時使用
until 語句 使用 while 語句使用循環條件變得難懂時使用
each 方法 從對象取出元素時使用
loop 方法 不限制循環次數時使用

do~end & {~}

  1. 程序是跨行時用 :do ~ end
  2. 程序在一行寫時用:{~}

先整理到這,路還很長,還需學習

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • ruby基礎用法簡單整理 基礎變量部分 變量聲明 支持并行賦值 變量操作 變量交換 語句后面不跟";" / % 字...
    owlwisp閱讀 1,200評論 0 51
  • 一 ruby是一門面向對象的語言 在建模過程中,分析要表達的事物,將他們歸類,抽象為對象,同時賦予他們一定的成員變...
    李慶文閱讀 232評論 0 0
  • ruby學習基礎 inputthing = gets.chomp.to_i if語句 循環語句 循環異常拋出 fu...
    小潘不怕冷閱讀 884評論 0 51
  • 在本教程中,將探討使用Ruby開始編程所需的基本語法,以及如何在30分鐘內快速入門學習并使用Ruby編程語言。 注...
    易百教程閱讀 7,329評論 1 36
  • 我是杯子。 一個多月前,招商銀行的合作伙伴51金融網聯系到我們,說想要借助鼠繪的平臺做一個活動。 大致聊了一下之后...
    鼠繪漢化組閱讀 453評論 0 1