果然跟我想的一样,at_exit 是我看 Sinatra 时学会的。
思想挺好,但是感觉写起来很多问号会不好看。
因为 larger.erl 里没有那几个方法。你可以自己定义。或者发个 PR
吓了我一大跳。
#1 楼 @42thcoder 第二个我知道了,第一个我说的是 "9956" 不带 "\u" 头的,”9956“ 前不能直接插入 "\u" 符号。
或者这么说吧, str = "9956" ,把 str 转成对应的汉字。
#1 楼 @dandananddada rubyer 是什么鬼?还有 pythoner,pyer 都是什么鬼?
参考 pygments.rb
我原来搞过几次,先 grep -R -i oldname 找到哪些地方用到了这个名称,然后根据情况用 sed 改。
还是 MongoID 中的 has_and_belongs_to_many 好用,不用连接表了,而且中间过程也做好了。我试着用 ActiveRecord + Postgresql 的 has_and_belongs_to_many 搞出 MongoID 那样的,由于技术不行,失败了。
#3 楼 @luffycn 我来说一下你这个正则的大概工作流程。
\[ 开始匹配,第一个正好匹配.*,这个贪婪匹配会吞所有的字符,从 h 开始吞到最后一个字符 3,之后没得吞了,这部分匹配结束,这时候 .* 匹配的是 hi1]content1[hi2]content2[h3]content3。虽然 .* 吞了所有字符,但是在每个字符的地方都保留了一个可选状态。\],没得匹配,因此控制权返回到 .*,.* 为了大局观,只好不情愿的让出一个字符 3,这时 \] 与 3 依然不匹配。控制权再次返回到 .*,.* 只好又让出一个字符 t,但是还不匹配,.* 只好继续让出字符,直到让出第一个 ],此时匹配了。(.*),这个结构同理会吞掉 content3
\[,这是不匹配的,因此控制权返回 (.*) ,(.*) 也只能让出一个字符 3,同第 3 步,但是这里 (.*) 让出了所有的字符, \[ 依然不能匹配。.*,.* 只好继续让出字符,直到第一个 .* 匹配了 hi1]content1[hi2,然后控制权交给其后的 \],这时正好能匹配。(.*) 继续吞掉 ]content2[h3]content3,吞完之后控制权交给其后的 \[
(.*) 只好让出 3,但是 \[ 依然不匹配 3, (.*) 只好继续让出字符,直到让出第一个 [,这时 (.*) 捕获的内容是 content2。\[ 之后的 .*,这个结构继续吞掉 h3]content3,然后匹配 \],依然不匹配。.* 只好挨个又让出 t n e 直到让出 3,然后 \] 匹配 h3] 里面的那个 ],这个 .* 匹配了 h3。整个匹配结束时,第一个 .* 匹配了 hi1]content1[hi2,第二个 .* 匹配了 content2,第三个 .* 匹配了 h3。
windows 下想用时直接下载就行了,无需装 Less 环境自己编译了。
<%= link_to(user_path(product.user), class: 'btn btn-user') do %>
<p>
<%= image_tag product.user.cover.try(:picture_url, :cover), class: 'img-circle' %>
<%= product.user.try(:name) %>
</p>
<% end %>
淘宝上花 8 块钱买个 Github Pack 优惠码,激活成功就是 100 刀。
#10 楼 @flowerwrong indentLine 在遇到特别长的行的时候,上下移动会变的异常卡顿。我挨个测试之后,发现是 indentLine 的原因。
在 class << self 里写的方法是 模块/类 自身的方法。
目测是 @time_class ||= Time,可能是翻译时漏写了。
sed -i '1i {the text you want, you can read from file}' file1 file2
说是 Mac 和 Windows 才有影响,Linux 无压力。
使用 upstream 时,再 proxy_pass 时要加个 proxy_redirect off,不然 Rails 的 root_url 就是 upstream 名而不是 http://site-a.com 了。
或者 extend self
#6 楼 @Numbcoder 还可以 Enum.map([1, 2, 3], &(&1 * 2)) 这样。
add_index(table_name, column_name, options = {})
COUNT_PER_PAGE = 10
# mongodb
scope :k_is_not_nil, -> { ne(k: nil) }
scope :recent, -> { order(created_at: :desc) }
scope :paginate, ->(page = 1) { skip(COUNT_PER_PAGE * (page - 1) }
Post.k_is_not_nil.recent.paginate(params[:page])
有两个 Gem 提供分页支持 kaminari 和 will_paginate
brew install nodejs