小编gao*_*ols的帖子

如何在像instance_eval方法的块中更改self?

instance_eval方法在其块中更改self,例如:

class D; end
d = D.new
d.instance_eval do
  puts self  # print something like #<D:0x8a6d9f4>, not 'main'!
end
Run Code Online (Sandbox Code Playgroud)

如果我们定义一个方法selfelf(或任何其他方法(除了instance_eval)接受一个块),当print self时,我们将得到'main',这与instance_eval方法不同.eg:

[1].each do |e|
  puts self  # print 'main'
end
Run Code Online (Sandbox Code Playgroud)

如何定义像instance_eval这样的方法(采用块)?提前致谢.

ruby metaprogramming self

8
推荐指数
1
解决办法
3736
查看次数

“多数提交数据”和“多数提交数据的快照”有什么区别

多数提交数据多数提交数据的快照之间有什么区别,我应该关心它吗?如果这两个概念完全不同,何时以及如何选择一个?

我在阅读有关 mongodb 中事务的参考时发现了这些描述:https://docs.mongodb.com/manual/core/transactions/#transaction-options-read-concern-write-concern-read-preference,但我不明白之间的差别readConcern: majorityreadConcern: snapshot

transactions mongodb

5
推荐指数
1
解决办法
134
查看次数

标签 统计

metaprogramming ×1

mongodb ×1

ruby ×1

self ×1

transactions ×1