先说说题外话,以前很少写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,<%= person %>")

puts temp.result(binding)

puppet中的实例

<% nameservers.each do |ns| %>nameserver <%= ns %>
<% end %>

标签      说明

<% ... %>  ruby代码,输入结果嵌入一行中

<%= ... %>  ruby表达式,以计算结果取代,如用变量取代。

<%# ... %>  测试;忽略,在测试时很好用

4、好像Rails还不错

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

转载于:https://www.cnblogs.com/diege/archive/2012/09/22/2698300.html

ruby和python简单对比相关推荐

  1. 对比Ruby和Python的垃圾回收(2):代式垃圾回收机制

    本文由 伯乐在线 - 熊崽Kevin 翻译自 patshaughnessy.欢迎加入 技术翻译小组.转载请参见文章末尾处的要求. 对比Ruby和Python的垃圾回收(1) 上周,我根据之前在RuPy ...

  2. 对比 Ruby 和 Python 的垃圾回收

    注:这篇文章基于我在布达佩斯的RuPy大会上所作的演讲.我觉得与其直接将幻灯片发布出来,不如在我还有印象的时候将它写成博客来的更有意义.同 样,我会在将来发布RuPy大会的视频链接.我计划将在Ruby ...

  3. sql和python的区别_数据处理简单对比:Excel,SQL,Python

    前言 无论是什么工具,做数据分析的时候一定会涉及到两类工作: 合并多个关联表 做数据透视表 这篇文章简单对比一下Excel.SQL和Python在这两类任务上的实现过程,从而对比其异同. 用到的数据表 ...

  4. 主流WEB开发语言简单对比(转)

    主流WEB开发语言简单对比  原文链接:http://www.uml.org.cn/site/201401091.asp   随着时间的飞逝,随着岁月的流失.从世界上第一台计算机ENIAC诞生至今,已 ...

  5. 主流WEB开发语言简单对比

    主流WEB开发语言简单对比 随着时间的飞逝,随着岁月的流失.从世界上第一台计算机ENIAC诞生至今,已经有将近半个世纪了.经过这半个世纪的语言发展,我们所接触的语言基本上都是高级语言了.这篇文章主要对 ...

  6. python好学-所有人都说Python 简单易学,为何你觉得难?

    记得刚学Python的时候,几乎所有人都说Python 简单易学,而对于编程零基础,只掌握Word和Excel的人来说,感觉真的好难. 学习之前网上的教材看了,Python的书也看了,包括<核心 ...

  7. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  8. php 获取当前url hash,http - 我可以在服务器端应用程序(PHP,Ruby,Python等)上读取URL的哈希部分吗?...

    http - 我可以在服务器端应用程序(PHP,Ruby,Python等)上读取URL的哈希部分吗? 假设URL为: www.example.com/?val=1#part2 PHP可以使用GET数组 ...

  9. PHP、Node、Ruby和Python应用,漏洞修复

    12 月 10 日凌晨,Apache 开源项目 Log4j2 的远程代码执行漏洞细节被公开,作为当前全球使用最广泛的 java 日志框架之一.该漏洞影响着很多全球使用量前列的开源组件,如 Apache ...

最新文章

  1. R语言ggplot2可视化:jupyter中设置全局图像大小、jupyter中自定义单个ggplot2图像结果的大小
  2. Sparsity稀疏编码(一)
  3. Java虚拟机详解03----常用JVM配置参数
  4. .bin 文件用excel文件打开_用PYTHON读写excel文件
  5. 用MATLAB结合四种方法搜寻罗马尼亚度假问题
  6. jetty java web_i-jetty 下的JavaWeb开发(一)
  7. zookeeper 四字命令的使用
  8. 调试工具BTrace 的使用--例子
  9. 【数学问题2】动力学建模
  10. 强行进入加密QQ空间
  11. FME将ArcGIS符号化转为CAD填充
  12. 百度地图,坐标反查,拾取坐标位置
  13. MySQL快速解决“is marked as crashed and should be repaired“故障
  14. 自走棋冷知识之源码篇
  15. 刚装修的房子多久能住?集成墙面真的好吗?
  16. 发表Nature等杂志四十多篇论文老师带您学单细胞测序数据挖掘和课题设计 2020年1月11-12日 上海...
  17. 多核CPU 跟 进程/线程
  18. Vue中利用moment.js(时间格式化插件)做一个倒计时组件
  19. 扫描文件转换成word软件
  20. java通过代理使用redis,redis自动关闭连接,释放资源

热门文章

  1. 我的网站-广西信息平台_广西虚拟主机
  2. .Net Core中利用TPL(任务并行库)构建Pipeline处理Dataflow
  3. 部署ajax服务-支持jsonp
  4. JDK8对并发的新支持
  5. Android OpenCV Manager简介
  6. Using mongoDB's Profiler analyze the performance of database operations
  7. objective-c如何在linux下进入Modern模式
  8. 黑暗城堡-(最小生成树+最短路)
  9. 5中排序算法(冒泡,选择,插入,快速,归并)
  10. python与mysql数据库连接中常见错误