我也是新手,来个笨的 “abc.tar.gz".scan(/(\w+)./).frist.first
食品安全,我最近在思考的一个方向。预祝成功。
@huacnlee 威武,ruby 社区人才辈出呀
1234.to_s.split ""
我也来了 the first topic
你这个就是最短路径问题,学算法时有学过,Dijkstra 算法。 而且这个算法是很有实际用处的,比如: 电子机械手焊接电路板上的多个点,求得最短路径,可以最大化焊接速度。还有很多地图寻路应用等。
@fsword 还好,在瞎扯淡。 “国进民退”这说法,我不太认同,顶多是“国进民不进少进”,民众的生活水平是在提高的。 我是从农村混到城市,从中西部混到东部,看到的基本是这样。 现在出口这块受国际经济形式影响,投资又是“发改委”说了算导致很多非理性投资, 消费老板姓没钱,但即使复制东部沿海的模式到中西部,也能延续现在的形式一段时间。 而且国内经济实际是多点开花,所以即使珠三角,长江三角没那么景气了,也不至于垮掉。 严峻是挺严峻的,我还是谨慎乐观。
@fsword 你确定这几年是个拐点? 没突发性的事件,比如战争的话,我看还会延续现在的轨迹继续走下去。 流动性和市场化竞争,能促进资源的合理配置,可喜的是国家在放开一些领域,如交通,通信甚至金融, 但这个过程不可能太快,所以我看,这几年也没啥拐点了。
@xiaoronglv 学医 8 年,不懂干嘛来玩这个。。
继承是is a
的关系,也就是说,可以把子类完全当作一个父类来对待,所以子类必然要响应所有父类的action
,否则违背继承的逻辑。所以,你可能哪里错了。programing ruby 中的一段话:
Now, a lot of research has been done on type theories. One of the more famous results is
the Liskov Substitution Principle. Formally, this states: “Let q(x) be a property provable
about objects x of type T. Then q(y) should be true for objects y of type S where S is a
subtype of T.” What this means is that you should be able to substitute an object of a child
class wherever you use an object of the parent class—the child should honor the parent’s
contract. There’s another way of looking at this: we should be able to say that the child
object is a kind of the parent. We’re used to saying this in English: a car is a vehicle, a cat
is an animal, and so on. This means that a cat should, at the very least, be capable of doing
everything we say that an animal can do.
@lgn21st @betterthornbird
还真是个 MM 哦,欢迎欢迎。
我从前也是藏着掖着,看到社区众多大牛都大秀特秀,所以就上头像了。
这造型让我想起一个MM朋友,不过她喜欢turn right
,哈哈
@hisea 非常感谢。学到很多。 我混淆了rspec和rspec-core。我以为should之类的东西,应该是rspec-expectation里面的,那我写最简单的case,应该只用到了rspec-core,没用到rspec-expectation,所以纠结should是哪里来的。 上次去shanghai ruby Tuesday,弄混了rake和rack,今天又弄混一个,尴尬。 打算好好研究下rake,bundle,rspec这些小而精的工具的源码。再次感谢。
@betterthornbird 啥意思?patpat 一看吓一跳啊: * 第 234 位会员 * ID: betterthornbird * 加入时间:2011 年 11 月 23 日 你这个也算新人?
我是可悲的外包,现在在客户方办公了,ruby tuesday,难得有时间参加了。
@hisea 谢谢,你这种写法是对的。能再帮忙解答下我 3 楼的问题吗,水平有限,到翻 rspec 的源码,没找到答案。
describe Object do
it "how to determin this is fine or wrong" do
true.should be_true
end
it "{} works?" { true.should be_true }
end
我一开始以为describe
和it
是某个类或模块提供的方法,通过继承或者mixin
所以上面代码能工作了。但后面想想,不对呀,仅上面这段代码,不需要require
或者include
什么东西,它也能工作的好好的。
那么上面这段代码,应该是类似于rspec
的配置文件,rspec 会读取它并解释它(你们说的 DSL?),或者有个类似于eval
的动态执行的东西,总之暂时还不懂。
撇下这些不管,我现在很奇怪,那个rspec
是怎样根据do .. end
块中的内容,来判断一个 testcase 是真还是假呢?
现在肯定不是靠返回值,因为如果ture.should be_true
返回值是true
的话,和我直接写true
结果应该一样,但是我直接写false
它还是成功;
assert
又不是ruby
关键字,也不像;
那是通过抛异常?那个啥shoud
,还有be_ture
,是个啥子东西嘛!
@leomayleomay
@heliang7
我这里ruby 1.8.6
没assert
, 不是core
里的吗 ?
我就是想知道it
方法是如何判断成功和失败的,现在能肯定不是基于return value
.
那是异常?或者assert
(居然在ruby
中不是关键字)?或者其他什么东西。
@hooopo 我了个去,不要对偶等菜鸟失去耐心撒。很感谢,看了例子和引用材料,基本还是弄清楚了的。
我 review 时发现,to_s 要显性调用 这种说法也不精确, "puts invokes to_s method too"
我用的 octopress,基于 Jekyll 的,一切都是现成的。 有 page,category 的概念。
今天碰研究一个最佳实践,牵涉到这个这个知识点了,搜到这里,很有收获,也分享下。 ruby 是动态类型的,所以在方法内有时需要对参数类型进行检查,而这种检查最好不用 responds_to?而使用某种显示转换,而像 to_i 这样,所以我需要了解 to_i 和 to_int 的区别。
def need_num num
puts "to_i ---"
num.to_i.times { puts "#{num} times repeated" }
puts "to_int ---"
num.to_int.times { puts "#{num} times repeated" }
puts "times ---"
num.times { puts "#{num} times repeated" }
end
need_num 5
need_num "6"
@hooopo 谢谢分享。但是你的解释不够清晰哈,我上面这个场景,按你在 5 楼的解释,我肯定就是将num
当作number
来对待,那应该调用to_int
,但我测试来看to_i
才符合预期。你不知道用户调用num
时会传进来一个 什么东西,故你不能盼着系统会的自动转换,而要自己显示转换,故应该调用to_i
.
@zw963 @clearJiang 总结的更到位,也更加容易理解,
特别是 octopress 这个,研究透了,可以了解很多东西,还可以自己 blog
我的情况和你类似吧 自己写一个 gem,然后研究 rake,bundler,octopress 的源码
where is the work place?!
@sevk 谢谢,5 楼和你的发现类似。 只是我倾向于保留默认配置,实在没有,才想去自己配置,remap,所以发帖问问。
我来剧透:
you can use bundle to create a gem from scratch: bundle gem awesome
BTW, what a shame that i created my first gem a few days ago even though i learned ruby and rails for more than 6 months.
我用过到 notepad++, vim,
买吧,到时候不用了,便宜点转给论坛里到兄弟 ^^