ruby调试/练习时的小技巧
必备工具
irb
查祖先
1.9.3-p545 :023 > String.ancestors
=> [String, Comparable, Object, Kernel, BasicObject]
String的前面有四个上级
过滤方法
Ruby的方法非常多,以至于不得不用grep了。
1.9.3-p545 :049 > [].methods.grep /^me/
=> [:member?, :methods, :method]
查方法来源
1.9.3-p545 :018 > {}.method :select
=> #<Method: Hash#select>
1.9.3-p545 :019 > {}.method :reduce
=> #<Method: Hash(Enumerable)#reduce>
method方法可以实现。
文档
如果找明确的方法,可以用ri,方便快捷。
ri String.sub
对象模型
各种对象语言的原理是类似的,但是内部实现模型是不一样的。Ruby用起来简单,内部很复杂的。
当你感觉Ruby好用的时候,其实应该感谢Matz的工作。
Kernel模块是核心,很多重要的方法都在里面。
推荐看《Ruby元编程》,书中有详细介绍。
ruby调试/练习时的小技巧的更多相关文章
- java.text.MessageFormat格式化字符串时的小技巧
java.text.MessageFormat格式化字符串时的小技巧 public static void main(String[] args) throws InterruptedExceptio ...
- Windows下程序打包发布时的小技巧
一.背景 Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作 ...
- Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)
Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作的博客,里 ...
- DB2删除数据时的小技巧
大家对如何删除数据都不陌生,我们习惯性的这么写: 其实这么写性能并不好,尤其是删除大量数据的时候,要想获得更好的性能,可以采用如下方式: 那如果要把一个表的所有数据都删除了,该怎么办?有人可能会说,这 ...
- win21api、win32gui、win32con三个模块操作系统窗口时一些小技巧
下面这段脚本是操作一个浏览器上弹窗,打开文件窗口,由于脚本 执行速度快,当时未添加第2行的延时时,脚本顺利的执行成功,但弹的窗却没有进行操作,建议后续如果脚本执行到打开弹窗时,延时个几秒再去操作所弹窗 ...
- 使用jquery时一些小技巧的总结
使用 each 遍历 var nodes = Ztree.getCheckedNodes(true); //获取所有勾选的节点 $.each(nodes,function(i,value){ aler ...
- 练oj时的小技巧(大多都在oj记录里,这是被忘记的部分)
1. getline()函数,头文件为#include<string> getline(istream &in, string &s):从输入流读入一行到string s ...
- 6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!
每周趣图 产品经理设计体验/用户实际体验 本周就不写技术分析文章了,分享几个珍藏已久的 IDEA 的「骚技巧」,助你快速完成代码. 还等什么?赶紧上车吧...... 先赞后看,养成习惯.微信搜索「程序 ...
- gdb调试运行时的程序小技巧
使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/bl ...
随机推荐
- 基于socket的TCP和UDP编程
一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流 ...
- 启用apache,发现80端口被占用【已解决】
前段时间停止了Apache,结果在打开的时候发现无法打开,80端口被占用,于是win+r 运行cmd 输入netstat -ano 可以看到80端口被PID4占用,于是打开任务管理器-进程-查看,选择 ...
- Android-Sqlite数据库的操作
Sqlite数据库的简单操作: 设置增删改查的按钮,xml界面布局设置 <?xml version="1.0" encoding="utf-8"?> ...
- Learn ZYNC (5)
今天为了熟悉axiLite的自定义ip核设计, 把LED和SW的往AXI总线输入输出定义在一个ip核中, BD设计如下: ip核顶层文件(增加了LED_Out和SW_In的定义)mygpio_v1.0 ...
- php文件写入PHP_EOL与FILE_APPEND
PHP_EOL 换行符 unix系列用 \n windows系列用 \r\n mac用 \r PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性 FILE_APPEND 用于文本追加 ...
- stl文件格式
http://wenku.baidu.com/view/a3ab7a26ee06eff9aef8077b.html [每个三角形面片的定义包括三角形各个定点的三维坐标及三角形面片的法矢量[三角形的法线 ...
- IOS网络第四天 -网络文件上传(0923略)
01-NSURLSession02-断点续传 02-文件上传01-基本的上传 03-文件上传03-代码封装 04-文件上传04-获得MIMEType.mp4 05-文件的压缩和解压缩.mp4 06-压 ...
- cuplayer酷播播放器 swf 带参数直接播放
客户需要使用cuplayer,直接调用swf 播放器. /Player/player.swf?FlvID=745,此处写入视频ID; 官方给的例子,运行是有问题的. http://www.cuplay ...
- Glide加载图片到自定义的圆形ImageView中不显示
当使用自定义的圆形ImageView时,发现使用Glide加载并设置默认初始图片时,自定义的ImageView一直显示默认图片,无法更新到加载的图片. 使用下面代码可以解决这个问题 Glide.wit ...
- 总结-php
strtr('li.a-o_lo.n_g-jun', '-_.', '+/=') 好高级啊 在tomcat里使用php用quercus PHP in java http://quercus.cau ...