查所有表用 monodb 的命令就行,应该无需动用 mongoid。
用法和 active-record 类似的,所以一般就是一个 document 对应一个 model,具体可以查看 mongoid 官方文档。
Ruby 中有一些方法(如 print)可以随时随地进行调用。看起来就像所有的对象都有 print 方法一样。这是因为这些方法实际上都是 Kernel 模块的私有实例方法:
Kernel.private_instance_methods.grep(/^pr/) # => [:printf, :print, :proc]
这里的秘密在于 Object 类包含了 Kernel 模块,因此 Kernel 就进入了每个对象的祖先链。于是,无论哪个对象都可以随意调用 Kernel 模块的方法。这使得 print 看起来就像一个关键字,其实它只是一个方法而已。
-----摘自《Ruby 元编程第 2 版》
楼主是用啥画的,图表挺漂亮的。
@wadexing + 1,这么长,一定花了不少时间吧,辛苦辛苦!!有些地方翻译还挺轻松幽默的。文中有少量错别字和不顺畅的地方,但完全不影响阅读。以后有类似的作品,可否让小弟拜读一下,我虽不才,说不定能帮你校对你一个两处错别字。
#4 楼 @rubyist518 +1
#1 楼 @santochancf +1
楼主真是喜欢追求极致 +1
这看起来是 Java 风格的实现;Ruby 里面,算法也可有略微优雅的实现,献丑一下我的实现:
def count_smaller(nums)
nums.map.with_index {|_num, index| smaller_count_after(index, nums) }
end
def smaller_count_after(index, nums)
nums[index..-1].count {|num| num < nums[index] }
end
p count_smaller([5, 2, 6, 1])
windows 自动更新过,啥都可能发生,再装一个好了。
估计都不好招人吧。
+1
建议别在 windows 下折腾 Ruby,啥问题都可能发生,非常耗时。
看来都怪平时习惯太好,我都没发现还有这语法错误。
对着呢,
感觉以后只要有人问测试意义的问题,就可以推荐@rei 这篇文章了。
没有觉得别人面试的时候提到元编程就是炫耀阿,心情可以理解。
+1
感觉你的需求,最好用个全文搜索引擎来弄,效率高点。不过貌似一楼的方案也可,值得一试。
#1 楼 @mizuhashi 比如以前用的 alias_method_chain 就经常搜不到函数。
+1,不错,学习了。尤其是: console.dir(someObj)
。
并且逗号后面,应该有空格吧,请原谅我的强迫症。
+1
感觉这个需要用 js 来监听前面 select 的变化(change 事件),然后动态更新后面的 select。
内置方法 module_function
做了两件事:首先,把紧跟其后的方法都标注成了私有方法; 其次,让紧跟其后
的方法可以单例方式访问。