ruby和python简单对比
先說說題外話,以前很少寫blog,最開始有整理過技術(shù)文章到QQ空間,后面整理到WORD以及文本里。再后來網(wǎng)上查找資料的之后發(fā)現(xiàn)cnblog上面的蠻專業(yè)的。我也覺得把資料存放在網(wǎng)絡(luò)中永遠(yuǎn)不會丟。所以就出現(xiàn)在這里了。
今天從五角場回來后,想起上個月買的《學(xué)習(xí)ruby》一書。買這個本書完全是因?yàn)閜uppet是ruby寫的原因。多多少少會用到點(diǎn)ruby方面的知識。一大下午的時間翻閱了這個本數(shù)后,和原來判斷是相同,ruby和python很有80%,甚至更多的相同之處。面向?qū)ο?#xff0c;數(shù)組,哈希表都和python基本相同。簡單的對比后,我還是覺得python更好,更加簡潔易懂。
ruby一個功能有多重表現(xiàn)方式很不好,比如語句塊可以do,end或者{}。另外,可能是看的教材比較簡略,感覺基本類的方法沒有python多。
?
不過ruby也有些不錯的地方:
1、each方法
和python的迭代器類似,不過是顯示的使用。
可用在字符串,數(shù)組,哈希,文件(ruby的說法)
aList=['a','b','c']
aList.each do |e|
puts e
end
puts有點(diǎn)類似print,echo輸入,對應(yīng)的輸入是
aList.each { |e|?puts e }
{}和do end一樣,不過優(yōu)先級更高。
遍歷字符串
aString='abc'
aString.each { |i| puts i}
遍歷哈希的k,v
zip={'a'=>1,'b'=>2,'c'=>3,}
需要注意的ruby哈希和python字典key value組合不一樣ruby是=>,python是:分隔。
zip.each {|k,v| puts "#{k},#{v}"}
和python字典一樣也有zip.each_key,zip.each_value
?
2、Dir類
在我影響中python木目錄沒有當(dāng)做一個類。ruby中把目錄當(dāng)成一個類
Dir.chdir('/root')
Dir.getwd()
Dir.pwd()
Dir.mkdir()
Dir.entries()方面能返回目錄下的文件目錄隱藏文件為一個數(shù)組,所以可以用each方面遍歷目錄。
Dir.entries('/root').each {|f| puts f}
同樣也可以遍歷文件內(nèi)容
File=file.open('/root/test.file')
File.each { |line| print "#{file.lineno}." line }
file.lineno 行編號
?
3、嵌入ruby
這個在puppet中運(yùn)用于模板中
#!/usr/bin/env ruby
require 'erb' #類似python import
person = "Jin"
temp=ERB.new("Hello,<%= person %>")
puts temp.result(binding)
?
puppet中的實(shí)例
<% nameservers.each do |ns| %>nameserver <%= ns %>
<% end %>
標(biāo)簽 說明
<% ... %> ruby代碼,輸入結(jié)果嵌入一行中
<%= ... %> ruby表達(dá)式,以計算結(jié)果取代,如用變量取代。
<%# ... %> 測試;忽略,在測試時很好用
?
4、好像Rails還不錯
感覺這個這個開發(fā)框架比django簡單。僅僅是感官而已,沒有深入研究。
轉(zhuǎn)載于:https://www.cnblogs.com/diege/archive/2012/09/22/2698300.html
總結(jié)
以上是生活随笔為你收集整理的ruby和python简单对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式- 命令模式
- 下一篇: 分享一些国外推广的站点