新手问题 求学习 Ruby 的有效方法

lengcb · 2015年09月29日 · 最后由 martin1991916 回复于 2015年10月03日 · 3674 次阅读

我接触 ruby 三个月了,我数学专业毕业,以前在校没怎么学过程序语言。现在能实现一些简单的功能,但出错的频率有点高,需要在高手的帮助下修改,看一些代码,有好多看不懂的地方,尤其一些方法,我也下了 Dash,但实践总感觉少。学习起来像无头苍蝇,也不知道是不是我太心急了,想把所有东西全都马上学会,我想问一下各位老鸟大牛们,有没有好的自学方法,或者好的资料,我也看过一些 rails,ruby 的基础资料,但感觉效果不是很好,希望老鸟大神帮我解惑

学习任何一门语言最有效的途径就是多写,光看不写是没有效果的,最好自己写点小东西,小功能,然后慢慢扩展。 个人推荐 Head First 系列的图书,图文并茂,非常适合初学者。

#1 楼 @jasonliu 我现在是跟着公司做项目的,这个自己做点小东西有啥?

如果你学的是 Web 开发

10 Ideas for Beginner Web Developers

https://medium.com/code-thinking/10-ideas-for-beginner-web-developers-2f725aed08d5

嗯,我感觉最主要是多写。我干财务,工作中有很多我就写成了 ruby 小工具。其次多来这个论坛,看看别人怎么写,力所能及帮别人解决问题。

#3 楼 @rei 对对,我就是做 web 开发的,刚毕业 3 个月

ruby 主要就是三组概念,初学者可以只学基本用法:

  • 类、对象和方法
  • 块 block
  • 模块

你如果学过三个月,可以把自己对这些概念的理解写出来。如果你理解到位的话,看一般的程序就毫无问题吧。

我建议从 c 开始学起。

http://study.163.com/curricula/cs.htm 规划下吧。。要学的东西还是挺多的

最好能自己规划一下学习路线什么的,否则看那些碎片化的博客和教程很容易迷失,推荐从 wiki 的书单里选一本精读

#9 楼 @xiongxin8802 已经工作了。。。

#10 楼 @lazybios 我可以说是 0 基础的,学习路线自己怎么规划,不知道该学啥,书看了一些

https://ruby-china.org/wiki/books 这里有具体书单,确保你自己系统踏实的看完其中一本,并且保证自己动手敲过书中代码至少一遍吧

#13 楼 @lazybios 谢谢,我们老板已经买了 ruby 元编程,十一书到,谢谢

#14 楼 @lengcb 这本书不太适合入门,我保证你看的觉得很晕菜!哈哈

推荐你看 The Well-Grounded Rubyist (豆瓣)

沒有什麼比在工作中學習的更快更紮實了~ 結合實際需要邊學邊做吧,基礎什麼的都沒關係,慢慢打 慢慢補充積累,加油~ 另外,數學專業轉計算機,有好多優勢的喔~ 畢竟有良好的數學基礎,搞起算法來真實得心應手

ruby 学起来简单,问题是你想用 ruby 做什么。

纯粹学习编程还是 Haskell 或者 Lisp 吧。

我的情况和你一样,入职后公司里要用 ruby 做自动化测试,初学 ruby 确实很多麻烦的地方:比如要实现控制浏览器用啥工具实现都不知道,或者想要调用一个函数,不知道怎么用,网上要到处查文档,文档说的也不是很详细,用之前还要测试一下函数。工作效率很低。。。

我个人总结的学习方法,希望可以帮助你: 1 实现思路不懂,可以问问公司的厉害的人----他会告诉你要用什么工具,业界实现这个一般用什么 gem 库实现 2 有网站解释 ruby 的 api 怎么用,可以去那里查资料 (虽然有的时候感觉解释的太简单了) 3 自己用过的方法,写过的 api,吧你已经摸索过的代码记录下来,做成笔记(比如语法规则,比如实现一个功能 api 如何调用) 4 平时自己多写,多写,多写。重要的事情说三遍!!比如学习 ruby 的基础类库,一些常用的方法,自己都写个小脚本用一下,工作过程中哪些可以用 ruby 脚本做工具的地方,业余时间做出来。慢慢的你就会熟悉 ruby 语法,熟悉 ruby 的内置接口函数,熟悉如何看 api 文档,会熟悉很多东西 5 遇到自己没有思路解决的问题,比如代码上的报错自己查不出来,比如一段代码逻辑是正确的,但是功能就是有问题,这个时候再找大神求助,先说出自己当时解决问题用了那些方法,怎么去尝试解决的。这样能让大神更好的了解你的问题,提高他的效率

比如我现在在学习 linux 脚本~工作中有个操作是测试前要吧一个目录中所有文件先备份一下,保存原始环境。以前我都是手动操作的,现在我正在用 linux 脚本来实现,希望达到脚本自动备份~既提高工作效率,又提高了自己的编码技能~嘎嘎

觉得学编程和学语言是两回事。

学编程,跟语言关系不大。比如变量、方程每个语言都有,但是否真正理解,又是另一回事。再比如分解和抽象,只要是写代码,都绕不开这两点。再不如 debug 的技巧。

学完编程,掌握起别的语言,多数是靠猜。之后是解语、使用言特性了。

多写,这是自然的。但仅仅是重复工作并没有什么意思。比如,只用 each,不会有什么进步(也不是说 each 不好,但这个是 c 的风格,而使用 map 之类的能更好的理解函数式编程)。

再就是多读,多看,多想。

我原来是做游戏的 没有 web 的开发经历 人在国外 中文的书籍比较难弄到 毕竟看母语比较好 求一些关于 Ruby 开发的书籍 [email protected]

需要 登录 后方可回复, 如果你还没有账号请 注册新账号