實(shí)例解析Ruby中的數(shù)值類型以及常量
數(shù)值類型(Number)
整型(Integer)
整型分兩種,如果在31位以內(nèi)(四字節(jié)),那為Fixnum實(shí)例。如果超過(guò),即為Bignum實(shí)例。
整數(shù)范圍從 -230 到 230-1 或 -262 到 262-1。在這個(gè)范圍內(nèi)的整數(shù)是類 Fixnum 的對(duì)象,在這個(gè)范圍外的整數(shù)存儲(chǔ)在類 Bignum 的對(duì)象中。
您可以在整數(shù)前使用一個(gè)可選的前導(dǎo)符號(hào),一個(gè)可選的基礎(chǔ)指標(biāo)(0 對(duì)應(yīng) octal,0x 對(duì)應(yīng) hex,0b 對(duì)應(yīng) binary),后跟一串?dāng)?shù)字。下劃線字符在數(shù)字字符串中被忽略。
您可以獲取一個(gè) ASCII 字符或一個(gè)用問(wèn)號(hào)標(biāo)記的轉(zhuǎn)義序列的整數(shù)值。
實(shí)例
123 # Fixnum 十進(jìn)制 1_234 # Fixnum 帶有下劃線的十進(jìn)制 -500 # 負(fù)的 Fixnum 0377 # 八進(jìn)制 0xff # 十六進(jìn)制 0b1011 # 二進(jìn)制 "a".ord # "a" 的字符編碼 ?\n # 換行符(0x0a)的編碼 12345678901234567890 # Bignum #整型 Integer 以下是一些整型字面量 #字面量(literal):代碼中能見(jiàn)到的值,數(shù)值,bool值,字符串等都叫字面量 #如以下的0,1_000_000,0xa等 a1=0 #帶千分符的整型 a2=1_000_000 #其它進(jìn)制的表示 a3=0xa puts a1,a2 puts a3 #puts print 都是向控制臺(tái)打印字符,其中puts帶回車換行符
=begin
這是注釋,稱作:嵌入式文檔注釋
類似C#中的/**/
=end
浮點(diǎn)型
Ruby 支持浮點(diǎn)數(shù)。它們是帶有小數(shù)的數(shù)字。浮點(diǎn)數(shù)是類 Float 的對(duì)象,且可以是下列中任意一個(gè)。
實(shí)例
123.4 # 浮點(diǎn)值 1.0e6 # 科學(xué)記數(shù)法 4E20 # 不是必需的 4e+20 # 指數(shù)前的符號(hào)
#浮點(diǎn)型 f1=0.0 f2=2.1 f3=1000000.1 puts f3
算術(shù)操作
加減乘除操作符:+-*/;指數(shù)操作符為**
指數(shù)不必是整數(shù),例如
#指數(shù)算術(shù) puts 2**(1/4)#1與4的商為0,然后2的0次方為1 puts 16**(1/4.0)#1與4.0的商為0.25(四分之一),然后開(kāi)四次方根
Ruby 常量
常量以大寫(xiě)字母開(kāi)頭。定義在類或模塊內(nèi)的常量可以從類或模塊的內(nèi)部訪問(wèn),定義在類或模塊外的常量可以被全局訪問(wèn)。
常量不能定義在方法內(nèi)。引用一個(gè)未初始化的常量會(huì)產(chǎn)生錯(cuò)誤。對(duì)已經(jīng)初始化的常量賦值會(huì)產(chǎn)生警告。
#!/usr/bin/ruby # -*- coding: UTF-8 -*- class Example VAR1 = 100 VAR2 = 200 def show puts "第一個(gè)常量的值為 #{VAR1}" puts "第二個(gè)常量的值為 #{VAR2}" end end # 創(chuàng)建對(duì)象 object=Example.new() object.show
在這里,VAR1 和 VAR2 是常量。這將產(chǎn)生以下結(jié)果:
第一個(gè)常量的值為 100 第二個(gè)常量的值為 200
相關(guān)文章
Ruby on Rails在Ping ++ 平臺(tái)實(shí)現(xiàn)支付
本文給大家分享的是使用Ruby on Rails在Ping ++ 平臺(tái)實(shí)現(xiàn)支付功能的代碼,非常的實(shí)用,有需要的小伙伴可以參考下。2016-02-02Ruby中嵌套對(duì)象轉(zhuǎn)換成json的方法
這篇文章主要介紹了Ruby中嵌套對(duì)象轉(zhuǎn)換成json的方法,同時(shí)介紹了普通對(duì)象to_json的方法,需要的朋友可以參考下2014-06-06Ruby中的block、proc、lambda區(qū)別總結(jié)
這篇文章主要介紹了Ruby中的block、proc、lambda區(qū)別總結(jié),本文講解了yield 和 block call 的區(qū)別、block 和 proc、lambda 的區(qū)別、proc 和 lambda 的區(qū)別,需要的朋友可以參考下2015-03-03ruby實(shí)現(xiàn)網(wǎng)頁(yè)圖片抓取
本文給大家分享的是個(gè)人使用ruby編寫(xiě)的抓取網(wǎng)頁(yè)圖片的代碼,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-06-06詳解Ruby語(yǔ)言中的注釋用法與中文編碼問(wèn)題
這篇文章主要介紹了Ruby語(yǔ)言中的注釋用法與中文編碼問(wèn)題,是Ruby入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10Ruby編寫(xiě)HTML腳本替換小程序的實(shí)例分享
這篇文章主要介紹了Ruby編寫(xiě)HTML腳本替換小程序的實(shí)例分享,單純使用Ruby中的字符串替換方法而沒(méi)有涉及更復(fù)雜的正則表達(dá)式,需要的朋友可以參考下2016-05-05ruby中執(zhí)行周期性任務(wù)(定時(shí)任務(wù))的3種方法
這篇文章主要介紹了ruby中執(zhí)行周期性任務(wù)(定時(shí)任務(wù))的3種方法,本文通過(guò)使用whenever、sidetiq、clockwork等gem實(shí)現(xiàn),需要的朋友可以參考下2014-10-10