鸭梨表示很大...
url 多会在邮件中用到,不过对于大部分邮件客户端加个 base 设置也能继续用 path
#9 楼 @quakewang TDD 为求通过测试不择手段... 还可以祭出终极手段把 assert 重定义必通过...
话说为啥不在 new 的时候就把那个算好...
class Anagram < Struct.new(:word, :sorted_chars)
def initialize w
super w.downcase, w.downcase.chars.sort
end
def match list
list.find_all do |e|
a = Anagram.new e
a.word != word and a.sorted_chars == sorted_chars
end
end
end
@quakewang Anagram = String
还能省几行...
楼主这么写挺好的啊,trivial 的问题就 trivial 的解决
#16 楼 @killyfreedom 很难说... 用 rack, rainbow, mongo, grape 这个 Gemfile 里已经东西一大堆了吧?如果就一个很素的功能,用 nodejs 或者 go 也可以啊,不用纠结。
另外试过 https://github.com/bcg/em-mongo 了没?
其实 V8 在一些嵌入机上没有 mruby 快...
大概主要瓶颈在 mongo 的 driver 实现上,另外 EM 做的 buffer 拷贝排队工作有点太多...
现在 1.9.3 都 p448 了... 换 ruby 2.1 试试吧?
类似的还有 https://github.com/pjb3/gumbo , 默默无闻好久没有更新 然后 google 发布了名字撞车的 html parser 后,下载量突然就上去了...
http://recipes.sinatrarb.com/p/models?#article
好像现在就 AR 和 Mongo 活着
插件 20 个-_-
上传完毕以后,把文件名转下码就好了
require 'fileutils'
Dir.glob('*') do |f|
next if f.start_with? '.'
FileUtils.mv f, f.dup.force_encoding('gbk').encode('utf-8')
end
这是针对特定字符集的编码压缩法
像第一个 euruko 文字用到的字符只有 "\n )/\\_|"
, 对应的码点是 [10, 32, 41, 47, 92, 95, 124]
, 然后找一个简单的可逆函数,可以把上述码点和比较小的区间如 0..15
做映射,然后就能把压缩算法搞出来了。关键就是怎么去搞这么一个函数...
除了 Euroku-golf, 今年的 ICFP 竞赛也和这个有点关系的:给定一个黑箱函数,你可以用 web api 去检查它的输入和输出的几个例子,然后去猜函数的实现,猜出来最多的队伍获胜
更短的来了...
a = [1,2,3,5,6,9,10,2,3,4]
(1..a.size).zip(a).chunk{|l,r|l-r}.map{|_,e|e.map &:last}
或者长一点但简单点的:
a.each_with_index.chunk{|l,r|l-r}.map{|_,e|e.map &:first}
#29 楼 @simlegate alias vi='mvim -v'
@blacktulip ...
Array#split
是 activesupport 添加的。如果不用 activesupport :
def calc_range list
last = nil
flip = false
list.chunk do |e|
flip ^= !(last and e == last + 1)
last = e
flip
end.map &:last
end
calc_range [1,2,3,5,6,9,10,2,3,4]
简单实在空格 p
let mapleader=" "
map <leader>p "*p