Ruby 簡單介紹

ruby語言介紹

它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)創(chuàng)建于1993年,是面向?qū)ο蟮恼Z言蹬屹。

代碼形式

1、腳本形式

  • 創(chuàng)建*.rb文件
  • #!/usr/bin/ruby \n puts "Hello World";
  • 運行代碼ruby file.rb

進入irb交互

在終端輸入 irb 即可

語法

代發(fā)分隔符

1包个、;結(jié)束
2垛玻、換行符

BEGIN 代碼塊 和 END 代碼塊

  • BEGIN : 在主題函數(shù)運行之前運行
  • ENG: 最后執(zhí)行
#!/usr/bin/ruby
# -*- coding : utf-8 -*-
puts "趙炎";
puts "Hello World";
BEGIN{
    puts "初始化 ruby"
}
END{
    puts "運行結(jié)束"
}

Here Document

"Here Document" 是指建立多行字符串。在 << 之后泽谨,您可以指定一個字符串或標識符來終止字符串璧榄,且當前行之后直到終止符為止的所有行是字符串的值。
如果終止符用引號括起吧雹,引號的類型決定了面向行的字符串類型骨杂。請注意<< 和終止符之間必須沒有空格。

puts <<zhaoyan
hhhh,
jj jj 
zhaoyan

hhhh, jj jj中間可以有任意的空格雄卷,但是<<空格zhaoyan NO搓蚪, 最后一個zhaoyan,前面有空格丁鹉,編譯失敗妒潭。而且最后一個終結(jié)標識zhaoyan悴能,必須單獨一行

數(shù)據(jù)類型

Ruby支持的數(shù)據(jù)類型包括基本的Number、String杜耙、Ranges搜骡、Symbols,以及true佑女、false和nil這幾個特殊值记靡,同時還有兩種重要的數(shù)據(jù)結(jié)構(gòu)——Array和Hash。

Number

小整數(shù)占32位团驱, -2(31) 至 2(31)摸吠。
大整數(shù)占64位。
小整數(shù)自動轉(zhuǎn)化到大整數(shù)嚎花。

您可以在整數(shù)前使用一個可選的前導符號寸痢,一個可選的基礎指標(0 對應 octal,0x 對應 hex紊选,0b 對應 binary)啼止,后跟一串數(shù)字。下劃線字符在數(shù)字字符串中被忽略兵罢。

puts 123
puts 1_123; #1123
#二進制
puts 0b010101;
#八進制
puts 01231
#十六進制
puts 0x1fe
#a對應的asc碼
puts "a".ord

運算符

指數(shù)運算**

#指數(shù)算術(shù) 
puts 2**(1/4)#1與4的商為0献烦,然后2的0次方為1 
puts 16**(1/4.0)#1與4.0的商為0.25(四分之一),然后開四次方根

字符串

Ruby 字符串簡單地說是一個 8 位字節(jié)序列卖词,它們是類 String 的對象巩那。

雙引號標記的字符串允許替換和*使用反斜線符號,單引號標記的字符串\color{red}{不允許替換}此蜈,且只允許使用 \ 和 ' 兩個反斜線符號即横。

字符串格式化 : #{expr} ,在#{}中添加表達式裆赵。因為單引號字符串不支持替換所以东囚,字符串格式化只能在雙引號字符串中使用!U绞凇舔庶!

str = "趙炎\"\"zhah"
puts str
str = '左鴻飛\"\"'
puts str
puts "hello #{str}" # 輸出hello 左鴻飛\"\"
puts ‘hello #{str}’ # 輸出 hello #{str}  

數(shù)組

數(shù)組字面量通過[]中以逗號分隔定義,且支持range定義陈醒。

(1)數(shù)組通過[]索引訪問
(2)通過賦值操作插入、刪除瞧甩、替換元素
(3)通過+钉跷,-號進行合并和刪除元素,且集合做為新集合出現(xiàn)
(4)通過<<號向原數(shù)據(jù)追加元素
(5)通過*號重復數(shù)組元素
(6)通過|和&符號做并集和交集操作(注意順序)

#!/usr/bin/ruby
# -*- coding: utf-8 -*-
ary = ["frend", 12, 1.23, '趙炎',]
ary.each do |i|
        puts i
end

puts ary[0]

# 如果超出數(shù)組范圍肚逸,輸出的是空
puts ary[4]
 
puts ary

ary[0] = 'zzzz'
ary.each do |i|
        puts i
end

hash值

Ruby 哈希是在大括號內(nèi)放置一系列鍵/值對爷辙,鍵和值之間使用逗號和序列 => 分隔彬坏。尾部的逗號會被忽略。


#!/usr/bin/ruby
# -*- coding: utf-8 -*-

hsh = colors = {"red"=>0xff0000, "green"=>0x00ff00, "blue"=>0x0000ff}
puts colors

hsh.each do |key, value|
        print key, " is ", value, "\n"
end

printputs 的區(qū)別 print 打印出個值并不會行膝晾,如果將上述的print改成puts 樣式會變?yōu)椋?/p>

red
 is 
16711680

green
 is 
65280

blue
 is 
255

范圍類型

一個范圍表示一個區(qū)間栓始。

范圍是通過設置一個開始值和一個結(jié)束值來表示。范圍可使用 s..es...e 來構(gòu)造血当,或者通過 Range.new 來構(gòu)造幻赚。
使用 .. 構(gòu)造的范圍從開始值運行到結(jié)束值(包含結(jié)束值)。使用 ... 構(gòu)造的范圍從開始值運行到結(jié)束值(不包含結(jié)束值)臊旭。當作為一個迭代器使用時落恼,范圍會返回序列中的每個值。

范圍 (1..5) 意味著它包含值 1, 2, 3, 4, 5离熏,范圍 (1...5) 意味著它包含值 1, 2, 3, 4 佳谦。

#!/usr/bin/ruby
# -*- coding: utf-8 -*-
(10..15).each do |n|
        print "#{n} "
end

感嘆號 和 問號

https://github.com/quanzhanying/fullstack-course/wiki/%E5%85%B3%E4%BA%8E-Ruby-%E6%96%B9%E6%B3%95%E5%90%8D%E5%90%8E%E7%9A%84%E9%97%AE%E5%8F%B7%E5%92%8C%E6%84%9F%E5%8F%B9%E5%8F%B7

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市滋戳,隨后出現(xiàn)的幾起案子钻蔑,更是在濱河造成了極大的恐慌,老刑警劉巖奸鸯,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咪笑,死亡現(xiàn)場離奇詭異,居然都是意外死亡府喳,警方通過查閱死者的電腦和手機蒲肋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钝满,“玉大人兜粘,你說我怎么就攤上這事⊥溲粒” “怎么了孔轴?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長碎捺。 經(jīng)常有香客問我桂躏,道長,這世上最難降的妖魔是什么狼纬? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任砸讳,我火速辦了婚禮,結(jié)果婚禮上诵叁,老公的妹妹穿的比我還像新娘雁竞。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布碑诉。 她就那樣靜靜地躺著彪腔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪进栽。 梳的紋絲不亂的頭發(fā)上德挣,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機與錄音快毛,去河邊找鬼格嗅。 笑死,一個胖子當著我的面吹牛祸泪,可吹牛的內(nèi)容都是我干的吗浩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼没隘,長吁一口氣:“原來是場噩夢啊……” “哼懂扼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起右蒲,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤阀湿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后瑰妄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陷嘴,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年间坐,在試婚紗的時候發(fā)現(xiàn)自己被綠了灾挨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡竹宋,死狀恐怖劳澄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜈七,我是刑警寧澤秒拔,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站飒硅,受9級特大地震影響砂缩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜三娩,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一庵芭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雀监,春花似錦喳挑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至回官,卻和暖如春曹宴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背歉提。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工笛坦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苔巨。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓版扩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親侄泽。 傳聞我的和親對象是個殘疾皇子礁芦,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容