网站看起来不错的样子
:plus1: 辛苦了,最近都有听。
#16 楼 @so_zengtao 关于用法的话看 rails guides 就可以了,但实际上 1 对 1 的外键放哪边,分不分表等等,有时候真是很纠结。
:plus1:
:plus1:
另推荐一下 http://www.any.do/ 用来做任务管理,做笔记本(有语音),做日历, chrome, ios, android 都有客户端,免费,功能符合想象。
#98 楼 @chairy11 没纸的啊,可以自己打出来看。书是图灵的,http://www.ituring.com.cn/book/1339。我还得注册一个号先。
还想有一个设计相关的节点,页面设计、数据库设计等
没看过源码,乱猜一下。format 是请求的对象,html,xml 是实例方法 (或干脆是 method_missing),有一个实例变量 is_collected,一个实例方法来判断调用的格式,不是当前格式或 is_collected 就退掉。2 层的 block 啊。
#8 楼 @Alexander #11 楼 @yfractal 递归很精彩,学习了
再请问给 4 个数的数组,算 24 点做递归,有优先级的计算和表示问题。
网站顶了
b.select {|r| r & c == c}.count
不过想想应该就是 6 7 8 9 10 啊
def combinations_string(a,n)
return unless a.size == n.inject(:+)
s=a.combination(n[0]).to_a
n[1..-1].each do |i|
s.length.times do
x = s.pop
(a-x).combination(i){|b| s.unshift(x+b) if x[-i..-1].join < b.join}
end
end
s.map {|t| n.map{|r| t.shift(r).join }.join('-')}
end
combinations_string([*0..9],[2,2,2,2,2])
时间是 0.139533 s,个数是 945。
puts combinations_string([*0..5],[2,2,2]).join(', ')
01-25-34, 01-24-35, 01-23-45, 02-15-34, 02-14-35, 02-13-45, 03-15-24, 03-14-25, 03-12-45, 04-15-23, 04-13-25, 04-12-35, 05-14-23, 05-13-24, 05-12-34
def combinations_string(a,n)
return unless a.length == n.inject(:+)
s=a.combination(n[0]).to_a
n[1..-1].each do |i|
s.length.times do
x = s.pop
(a-x).combination(i){|b| s.unshift x+b}
end
end
s.map {|t| n.map{|r| t.shift(r).join }.join('-')}
end
combinations_string [*0..9],[2,4,2]
combinations_string [*0..9],[2,2,2,2,2]
#3 楼 @blacktulip 哈哈,我也不熟,都是做一行党的时候逼的去翻文档,排列都有现成的。
先完成再优化
(a=(0..9).to_a).combination(2).to_a.each {|b| (a-b).combination(4).to_a.each {|c| puts "#{b.join}-#{c.join}-#{(a-b-c).join}"}}
2:
(a=(0..9).to_a).combination(2).map {|b| (a-b).combination(4).map {|c| "#{b.join}-#{c.join}-#{(a-b-c).join}"}}.flatten
arr.uniq.inject({}) {|h,n| h.merge! n => arr.count(n)}
或
{}.tap {|h| arr.each {|n| h[n] = (h[n]||0) + 1}}
或
Hash.new(0).tap {|h| arr.each {|n| h[n] += 1}}
怎么规律,看不出来
class Fizz
def initialize(*ns)
h = Hash[ns.zip(%w(Fizz Buzz Whizz))]
@rs = [->(i){i.to_s.index(ns[0].to_s) ? h[ns[0]] : ''}, ->(i){ns.inject('') {|s,n| i%n==0 ? s+h[n] : s}}, ->(i){i.to_s}]
end
def rule(i)
@rs.each {|r| s = r.call(i); return s if s.length > 0 }
end
def reports
1.upto(100).each {|i| puts rule(i)}
end
end
Fizz.new(3,5,7).reports
quakewang 果然高大上