果然跟我想的一样,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