ruby和python比较_ruby和python简单对比

先说说题外话,以前很少写blog,最开始有整理过技术文章到QQ空间,后面整理到WORD以及文本里。再后来网上查找资料的之后发现cnblog上面的蛮专业的。我也觉得把资料存放在网络中永远不会丢。所以就出现在这里了。

今天从五角场回来后,想起上个月买的《学习ruby》一书。买这个本书完全是因为puppet是ruby写的原因。多多少少会用到点ruby方面的知识。一大下午的时间翻阅了这个本数后,和原来判断是相同,ruby和python很有80%,甚至更多的相同之处。面向对象,数组,哈希表都和python基本相同。简单的对比后,我还是觉得python更好,更加简洁易懂。

ruby一个功能有多重表现方式很不好,比如语句块可以do,end或者{}。另外,可能是看的教材比较简略,感觉基本类的方法没有python多。

不过ruby也有些不错的地方:

1、each方法

和python的迭代器类似,不过是显示的使用。

可用在字符串,数组,哈希,文件(ruby的说法)

aList=['a','b','c']

aList.each do |e|

puts e

end

puts有点类似print,echo输入,对应的输入是

aList.each { |e| puts e }

{}和do end一样,不过优先级更高。

遍历字符串

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木目录没有当做一个类。ruby中把目录当成一个类

Dir.chdir('/root')

Dir.getwd()

Dir.pwd()

Dir.mkdir()

Dir.entries()方面能返回目录下的文件目录隐藏文件为一个数组,所以可以用each方面遍历目录。

Dir.entries('/root').each {|f| puts f}

同样也可以遍历文件内容

File=file.open('/root/test.file')

File.each { |line| print "#{file.lineno}." line }

file.lineno 行编号

3、嵌入ruby

这个在puppet中运用于模板中

#!/usr/bin/env ruby

require 'erb' #类似python import

person = "Jin"

temp=ERB.new("Hello,")

puts temp.result(binding)

puppet中的实例

nameserver

标签      说明

  ruby代码,输入结果嵌入一行中

  ruby表达式,以计算结果取代,如用变量取代。

  测试;忽略,在测试时很好用

4、好像Rails还不错

感觉这个这个开发框架比django简单。仅仅是感官而已,没有深入研究。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值