#2 楼 @diudiutang 更直接的方法是看看$PATH 变量的值
$ echo $PATH
/home/john/software/otp/bin:/home/john/.rvm/gems/ruby-1.9.3-p194/bin:/home/john/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/john/.rvm/rubies/ruby-1.9.3-p194/bin:/home/john/.rvm/bin:/home/john/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/software/apache-maven-2.2.1/bin:/home/john/software/groovy-1.7.10/bin:/home/john/.rvm/bin
其实不神秘,rvm use 的目的就是覆盖原来的系统路径。 另外如果不知道第一行为什么要这么写,建议 google 一下 shebang,然后 man 一下 evn
一般来说,如果能正确完整的提问,离解决也就不远了。 稍微查了一下楼主的帖子,基本都是自己努力过,以后大胆在论坛问吧,只要知道大家会尽力回答的
#5 楼 @xiaoronglv 这个怎么会被看作“类方法”呢?而且真要这么写的话@task = @project.tasks.find_incomplete
会失败的吧
以后别随便说类方法,容易误解,你那个 find_incomplete 是怎么定义的,是不是类似这样:
class Task < ActiveRecord::Base
scope :find_incomplete, ......
end
如果都是 ruby 项目,复用代码用 git submodule 感觉不太有必要,我的做法还是使用 gem,不过要注意根据功能点拆分或者合并,这个考验对业务和组件的理解能力
#14 楼 @isofttalent k,这个很适合我啊,可惜英语太一般了
有试过 windows 吗?我在 windows 上用 vagrant,各种困境
问了一下 yufeng,回复——
实际上是这样的,递归用的堆内存,尾递归用的是栈的内存
所以总体现在性能差不多
除非递归的深度非常深
看起来 erlang 没有改造普通递归(我觉得也改不了),但是尾递归只能避免爆栈,对于性能没优势
各种句柄限制,各种 ulimit
我一直觉得尾递归被神话了,感觉这个概念是因为不可变性被引入后没法做循环而导致的
如果是一开始用 RoR 开发网站,会几个常用的 sql 命令,主要是理解一下 Active Record 的日志,其它不用太熟悉。 这么说是希望初学者能够有侧重,入门以后最终还是需要完整系统学习 SQL
你可以自己去掉试试看啊
#5 楼 @diudiutang 这还真不一定,ruby 社区有数量繁多的漂亮的 api,即使使用多年也未必全都熟悉,大家都要不断学习,所以如果看到什么好的,别管是否 old,拿出来 show 就是
我以前也使用 bash 做运维,不过最近开始改用 ruby 了
#7 楼 @knwang #6 楼 @quakewang 谢谢你们的回答,我的场景有点特殊,我是做可用性监控,用 mechanize 模拟客户浏览器,整个测试的验证是基于 rspec 写的 case,调用时用 ruby 驱动 shell,所以要根据需要进行单个用例的调用。 目前看来-e 参数已经符合需要了,不过你们的回答倒是让我开了眼界
原来还可以这么用,我更新一下首页的链接
#2 楼 @fredwu #3 楼 @quakewang 恩,这个后来也看到了,不过直接用行号感觉有点过了,借助本来的结构比较好
找到办法了,用 -e 参数