如何使用ruby debug, 想使用ruby的标准输入重定向,命令行是什么?

Python015

如何使用ruby debug, 想使用ruby的标准输入重定向,命令行是什么?,第1张

能调试,但是调试信息放到文件里了,调试干嘛还要放到文件里呢,调试完了没有问题再放到把结果写道文件里呗

另外推荐 调试工具 pry

欢迎关注微信订阅号: 订阅号搜索:ruby程序员,这里每天会分享ruby rails等相关技术

作为一名shell(sh/bash)用户和编程语言爱好者,我说说自己的体会吧。

shell作为一门编程语言,和其它编程语言一样,有自己所擅长的问题领域。至少目前来看,还没有哪一门编程语言适合解决所有的问题。正如一个设计原则所说:If it is good for everything, it is good for nothing. 当我们说一门编程语言适合解决某类问题时,我们实际想要表达的是,使用这门语言,可以在最短的时间内获得一个性能,可读性和可维护性等各方面都可接受的程序。而做到这一点的关键是,这门编程语言必须在这类特定问题上,有前期的经验积累。这些经验会以数据结构或库的形式体现出来。一些激进的语言设计,甚至会将这些经验,以词法糖的方式嵌入到语言中。最终的效果是,使用一门语言解决他所擅长的问题时,只需要借鉴一个现成的思路,在他的基础上进行极少的创新,然后编写很少的代码就可以完成。本质是,当你在使用一门语言解决它所擅长的问题时,你实际是站在了这个语言以前的无数个使用者的经验基础之上。

shell这门编程语言,最初设计时就是为了方便系统管理工作。所以,他在语法和数据结构上,针对系统管理工作中遇到的常见问题,进行了特殊的优化。例如,系统管理时要运行很多现有的程序,因而shell通过命令查找规则,将内部命令和外部程序融合在了一起,不做区分;再比如,系统管理时经常要将处理结果临时保存,因而shell在语法上支持重定向功能,可以将一个程序的标准输出直接存储到文件中;再比如,系统管理时,一个程序的运行结果往往会作为另一个程序的输入数据,因而shell在语法上支持管道操作;再比如,系统管理时,数据都是以字符串形式表示的,因而shell在语法上支持大量的字符串操作,包括通配、正则表达式等等。所有的这些,达到的最终效果是,使用shell语言编写系统管理的脚本时,好想,好写,好调试,最终的程序短小精悍。个人认为,shell语言的最大魅力还是体现在命令行上。简单,直接,用一行命令,将现有的程序拼接在一起,就可以完成工作。而同样的工作,如果用其它的编程语言,就可能需要几百行。

而如果用shell语言来完成其他工作呢?它天生就不是干这个的。用shell语言做数值运算?抱歉,性能不够。用shell语言实现复杂算法?抱歉,除了字符串和简单的数组,没有其它的数据结构了。用shell语言编写大规模的程序?可能Java语言更合适一些。

Perl语言,据Perl作者的介绍,是shell语言的加强版,改进了很多shell语言原有的缺点。个人认为,如果学习shell语言的过程可以比作是捡贝壳的话,那么学习Perl语言的过程就是筛沙子,整个海滩的沙子。

历史是很多偶然因素造就的。语言本身的设计只是它兴盛和衰亡背后的一个因素。

302是意思是请求被重定向了。简单的讲,就是资源位置换了。

解决方法,在谷歌上搜索相关gem,下载本地安装。

推荐使用rvm,今后升级比较方便,即使有时遇到问题。也会有比较详细的信息提示,和一些解决方法。