我想知道这两个词是什么意思.
我在Doctrine的文档中遇到过它们,但我无法理解它们的含义.
我不明白class_eval
.
class Module
def attr_ (*syms)
syms.each do |sym|
class_eval %{def #{sym}= (val)
@#{sym} = val
end}
end
end
end
Run Code Online (Sandbox Code Playgroud)
什么%
意思?
怎么class_eval
办?
哪里(val)
来了?
Thor非常受欢迎,拥有比Boson更多的追随者和贡献者,但是Boson看起来比Thor更强大,而且建筑经过深思熟虑.
在Boson你:
我注意到所有这些好处只是阅读文档并与Boson玩了几分钟.
我应该使用Thor是因为它更受欢迎(因为我找不到任何其他地方可以照亮玻色子)或者我是否应该承担一段时间后Boson可能无法维护的风险,因为作者是唯一的贡献者?
虽然它只是一个人,但你可以看到他如何以极快的速度和卓越的品质进行编码.如果像他这样的更多贡献者为该图书馆做出贡献,那将会很棒.我真的希望更多的rubyists会使用它,因为它有很大的潜力成为所有系统自动化的脚本框架.就像后端的Rails一样.提交问题时,作者真的可以帮助您快速解决问题.
Thor只适用于外壳(我认为是它的目的),而玻色子,因为我认为它有3个主要功能.它允许您在shell中使用ruby(irb和脚本)中的代码,并且您可以拥有所有Ruby代码的精美集合,而无需修改.
我一直想要一个框架作为我的后端脚本框架,现在我不必重新发明轮子.似乎玻色子可能就是这样.
有人使用过这两个库并且可以分享一些想法吗?
根据我的理解,equal方法检查对象是否相同.
person = Person.create!(:name => "David")
Person.find_by_name("David").should equal(person)
Run Code Online (Sandbox Code Playgroud)
这应该是真的.
但这里有两个不同的对象吗?
两个物体怎么可能一样?我不明白.
在CouchDB中,要创建您发送的新文档:
PUT /albums/70b50bfa0a4b3aed1f8aff9e92dc16a0
Run Code Online (Sandbox Code Playgroud)
是不是PUT用于更新数据而不是创建数据?
Rails是一个非常棒的后端框架,可以保持一切清洁和结构化.
我想你们都想过为前端做同样的事情.
你是否使用其中一个MVC javascript框架作为Rails的前端?
如果你这样做,你对它感到满意吗?
你之前是如何编码的?它是如何改变的?
不是Sproutcore更适合Rails,因为它使用了Rails也可以使用的js + css + html.在卡布奇诺,你不使用其中任何一种.
分享你的想法和经验因为我对这个领域都是绿色的,不知道我应该使用哪个Rails.
我只知道我最好在前端有一个MVC框架来获得DRY结构和最佳实践.