如果条件比较复杂的话,用 filter 应该会有更大的性能提升。有个场景,terms 查询,如果查询的列表长度超过 1024, 用 query 的话就会报错了,但 filter 就没影响。
谢谢楼主分享 有个小问题:
不再使用 filtered
改了后不是 filter context 了,外面应该还要套个 bool > filter
def score(dice)
return 0 if dice == []
sum = 0
# 遍历 dice,使其变成一个 Hash,key 为 dice 里面的数值,value 为 出现的次数
# result 只的是 block 返回的值
rolls = dice.inject(Hash.new(0)) { |result, element| result[element] += 1; result; }
rolls.each { |key, value|
# special condition for rolls of 1
if key == 1
# 下面这句可以等价为
# if value >= 3
# sum += 1000
# value -= 3
# end
# 这里的 `|` 无意义,不想写 begin end
sum += 1000 | value -= 3 if value >= 3
sum += 100*value
next
end
sum += 100*key | value -= 3 if value >= 3
sum += 50*value if key == 5 && value > 0
}
return sum
end
btw:这段代码性能不错,可惜是错误的,如果有 6 个 1 的话,它只会计入 1300 分。
兼容性。
1.8.7-head :001 > s = "hello"
=> "hello"
1.8.7-head :002 > s[0]
=> 104
1.8.7-head :003 > ?h
=> 104
2.1.3 :001 > s = "hello"
=> "hello"
2.1.3 :002 > s[0]
=> "h"
2.1.3 :003 > ?h
=> "h"
用不良的代码风格黑一个语言没说服力啊,Ruby 也可以写成这样。
gem 'bootstrap-sass', '~> 3.2.0'
gem 'autoprefixer-rails'
我觉得应该不是项目本身的原因,而是 RubyMine 可能缺什么配置了,没有自动去索引所有 gem 里的 js 文件。如同我在之前说的,应用跑起来是没有问题的。
@guyanbiao @kgen @themorecolor 坏人...
#7 楼 @hz_qiuyuanxin plz don't care the details. In this situation, it could be more suitable to translate it to "找到".
#4 楼 @wppurking IDE 的实时提示功能
想报名,却发现明天还要上班:(
如果你需要把 block
作为值使用的话 (i.e. 存储 (如你代码所做的), 传递给其他方法等), 使用 &
显式传入。
OCaml 应该是我见过最复杂的语言了
先使用 k-means 把这群人分为若干个群,在每个群中随机分组。
如楼上所说:
def coushu(n, m, confirmed=[], &b)
if n == 0
if m == 0
yield confirmed
end
else
coushu(n-1, m-n, confirmed + [n], &b)
coushu(n-1, m, confirmed, &b)
end
end
coushu(10, 15) {|x| p x }
map
方法会给原数组中的每个元素 (必须有值) 都调用一次 callback 函数.callback 每次执行后的返回值组合起来形成一个新数组。callback 函数只会在有值的索引上被调用; 那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。callback 函数会被自动传入三个参数:数组元素,元素索引,原数组本身。
https://developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Global_Objects/Array/map
实际上内存的最小分配单元是页 (page).
#2 楼 @yukihiro_matz メリークリスマス
:s/\(\"\w\"\)/[\1, _ph_]_ph2_\r/g
:let i=0 | g/_ph_/s//\=i/ |let i+=1
:%s/_ph2_\n//g
YouCompleteMe + snippet
是不是有效 gid 和实际 gid 导致的?
EDIT: 一派胡言,删之
@lgn21st 恭喜