Ruby基本類型

來源:互聯網
上載者:User

標籤:

#!/usr/bin/ruby

=begin

 Ruby支援的有5種類型的變數 

 全域變數:以$開頭 未初始化的全域變數的值為0 並使用-w選項產生警告 全域變數的賦值會改變全域狀態 不推薦使用全域變數  他們使得程式的含義模糊

=end

#以下為全域變數例子

=begin

$global_variable = 10

 class Class1

def print_global

    puts "Global variable in Class1 is #$global_variable"

end

end

 class Class2

    def print_global

        puts "Global variable in Class2 is #$global_variable"

    end

end

 class1obj = Class1.new

class1obj.print_global

class2obj = Class2.new

class2obj.print_global

=end

 #以下為執行個體變數例子 執行個體變數以@開始 未初始化的執行個體變數的值是零 併產生-w選項

=begin

class Customer

    @cust_id

    @cust_name

    @cust_addr

    def initialize(id,name,addr)

        @cust_id = id

        @cust_name = name

        @cust_addr = addr

    end

     def display_details()

        puts "Customer id #@cust_id"

        puts "Customer name #@cust_name"

        puts "Customer address #@cust_addr"

        puts "Customer address #@cust_addrs"

    end

end

 #Create Objects

cust1 = Customer.new("1","John","Wisdom Apartments,Ludhiya")

cust2 = Customer.new("2","Poul","New Empire road Khandala")

 cust1.display_details()

cust2.display_details()

 =end

 =begin

#類變數 類變數以@@開始 他們可以用來在方法定義之前必須初始化 引用未初始化的類的類變數產生錯誤 類變數之間共用其中的類變數的類或模組的後代 即類變數永遠為同一變數 共用同一個記憶體位址

class Customer

    @@no_of_customers = 0

    def initialize(id,name,addr)

        @cust_id = id

        @cust_name = name

        @cust_addr = addr

    end

        def display_details()

        puts "Customer id #@cust_id"

        puts "Customer name #@cust_name"

        puts "Customer address #@cust_addr"

    end

      def total_no_of_customers()

        @@no_of_customers += 1

        puts "Total number of customers :#@@no_of_customers"

    end

    

end

 #Create Objects

cust1 = Customer.new("1","John","Wiadom Apartiments Ludhiya")

cust2 = Customer.new("2","Poul","New Empire road khandala")

 cust1.total_no_of_customers()

cust1.total_no_of_customers()

=end

 =begin

#常量 常量以大寫字母開頭 在類或模組定義的常量可以在該類或模組訪問 所定義外一個類或模組可以全域訪問 常量不能定義在方法內 引用為初始化的常數會產生一個錯誤 分配已初始化一個常數會產生一個警告

class Example

    VAR1 = 100

    VAR2 = 200

    def show

        puts "Value of first Constant is #{VAR1}"

        puts "Value of second contant is #{VAR2}"

    end

end

 #Create Objects

object = Example.new

object.show

=end

 #擬變數 他們是特殊的變數 局部變數 但外觀像常數 但不能給這些變數分配任何值

=begin

 self:當前方法的接收方對象

 true:表示真的值

 false:表示假的值

 nil:表示未定義的值

 __FILE_:在當前源檔案的名稱

 __LINE_:在源檔案中的當前行號

  #基本常值

 Ruby使用字面值的規則是簡單和直觀 如下

 整型數:一個整數的範圍可以從-2的-30次方到2的29次方或者從-2的-62次方到2的61次方。在此範圍的整數是fixnum類的對象 在此範圍之外的整數儲存在bignum的類的對象 編寫整數使用可選的前置字元號 一個可選的基數表示(0八進位,0x表示十六進位或二進位0b),其次是一串數字在相應基數。底線被忽略的數字串

    123         #普通整形

    1_234       #帶底線

    -500        #負數

    0377        #八進位

    0xff        #十六進位

    0b1011      #二進位

    ?a          #‘a‘的ASC碼

    1234567894345342342333 #bignum類型整數

 #浮點數 浮點數是float對象 

 #字元常值 字串是簡單的8位位元組序列 他們是string類對象 雙引號字串可以替代和反斜線符號 但不允許單引號替換 和只允許反斜線符號和‘ 也可以使用#{expr}序列表示任何Ruby運算式的值 運算式expr可以是任何Ruby運算式

 #數組 Ruby的數組是由放置對象引用方括弧之間用逗號分隔的一系列字面 逗號結尾被忽略 對象可以是任意類型

 #雜湊 字面上Ruby建立雜湊放置括弧之間的索引值對列表,以逗號或序列=>之間的索引值 逗號結尾被忽略

 #範圍 範圍代表的間隔 一組的開始和結束的值 可能被使用s..e和s...e文字 或具有Range.new範圍 範圍使用..包括運行從現在到結束 閉區間 使用...為半區間 排除最終值 當作為一個迭代器 範圍序列中的每個值將返回 range(1..5)表示1,2,3,4,5值

 =end

 arr = ["fewwe",10,3.2,-32,"This is a string","last element",]

arr.each do |i|

    puts i

end

 hsh = colors = {"red" => 0xf00 ,"green"=>0x0f0,"blue"=>0x00f}

hsh.each do |key,value|

    #print key ," is ",value ,"

#"

puts ("#{key} is #{value}")

end

 (1..10).each do |n|

        puts ("#{n}")

end

 

Ruby基本類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.