#9 楼 @funfriend i3 一代。。。y460 好老的机器了。
i3 一系列 6G。。。 跑 rspec 有一点不爽,但用 autotest 还是可以接受的。
但跑过一次 typo,有些吃力了,开网页速度就慢,测试速度也慢,尤其是 cucumber,一次 2 分钟。
其实楼主说的那些我的电脑应该也很轻松,项目大了可能跑起来就吃力了吧?我就跑过一次 typo。。。具体的不知道。
douban 上的。。。。 利人利己的行为吧,没什么不好。
bundle update 试试
赋初始值呢?? 比如 a || = ""
ruby 没有 null 吧??
irb(main):027:0> def a(opt={}) irb(main):028:1> puts opt.to_s irb(main):029:1> end => nil irb(main):030:0> def b(opt2={}) irb(main):031:1> a(opt2) irb(main):032:1> end => nil irb(main):033:0> dic = {:abc=> 1,:cde => 2} => {:abc=>1, :cde=>2} irb(main):034:0> b(dic) {:abc=>1, :cde=>2} => nil irb(main):035:0> b({:a=> '11',:b => '22'}) {:a=>"11", :b=>"22"} => nil irb(main):036:0>
这事不应该放在这套乱,不是说程序员都没女朋友吗。。。。
除了那些自己 new 对象的
在一起生活矛盾很多,可能并不是脾气变坏。
我觉得如果装了 7 年,早就装成习惯了!
def count_with_record(money,money_kinds,used,way = [],ways)
if money == 0
ways << way
return 1
elsif money < 0 or money_kinds.empty?
return 0
end
way1 = copy(way)
way1 << money_kinds[0]
way2 = way
return count_with_record(money - money_kinds[0],money_kinds,money_kinds[0],way1,ways) + count_with_record(money,money_kinds[1..-1],0,way2,ways)
end
def copy(arr)
r = []
arr.each do |e|
r << e
end
return r
end
money_kinds = [3,2,1]
money = 5
ways = []
way = []
puts count_with_record(money,money_kinds,way,ways)
puts "should be 5"
puts "all the combination"
puts ways.inspect
写的丑了些。。。
fib,可以一边递归,一遍记录(放到 hash 里面),这样复杂度应该可以。
tricking,一种特技,以退法为朱,还有前后空什么的。我腿法和空翻都算是入门水平。但是,现在什么都不会了。。。
据说关于 refactoring 的书,如果只看一本的话,就看这一本,没看过,顶一下!!!
sicp 其实可以看 Berkeley 的 cs61a ,虽然用的是 python,但一些思想(我猜 sicp 内的思想要比用什么语言更重要!毕竟 mit berkeley 这门课都换成 python 了)应该都是都讲了。跟课程难度要小不少,因为每一颗有课,课后有 homework,有 lib 等还有学习曲线要平滑很多。
这门课真的很好,比如讲抽象,从变量讲到方程在讲到面向对象(这些都是抽象)。为了讲清楚面向对象,先讲了 python 的 nonlocal 再之后是 message passing,之后是用 dictionary 实现(还有个什么技术忘了。。)对象!你会面向对象有非常清楚的认识!!!之后这些,我想是为了讲 interpreters 的。当然贯穿始终的是抽象这个概念。
这门课程学下来(我差最后一章。。。),会对编程有很好的理解!
相似的经历。。。我连办公桌都没有。。。 但我的水平比较菜,当学习了。
本人完全不符合要求。。。顶一下
解决问题的能力,代码的可维护性,好多东西都要比语言,框架重要吧??