只显示主题贴
eval是在当前定上下文中去执行代码,由此可知,eval("lvar = 'new value'", the_binding) 是在the_binding上下文中给变量ivar重新赋值为'new value'.那么puts(eval("lvar", the_binding)) 理所当然应该输出'new value'
- 进入论坛 Ruby 版
昨天看到一段代码,感觉挺有趣,贴出来分享给大家。
class BindingDemo
def initialize
@ivar = "wombat in instance variable"
end
def get_binding(param)
lvar = "cat in local variable"
binding
end
end
b = BindingDemo.new
the_binding = b.get_binding("dog in paramater") { "elk in block" }
puts( ...
- 进入论坛 Ruby 版
有个小需求,如下字符串:
str = 'id=138313, store_id=40, sku=, url=http://www.shopping.hp.com/webapp/shopping/computer_can_series.do?storeName=computer_store&category=notebooks&a1=Usage&v1=Entertainment&series_name=dv6700tse_series, price=899.99, has_unidentified_coupon=1, title=HP Pavilion dv6700t Special Ed ...
- 进入论坛 Ruby 版
有一张表,里面几百万条数据。现需要定期对每条记录进行处理,每条记录处理时间由各自的处理频率,和优先级决定。且每条记录处理的频率,优先级,处理的时间可能都不相同。那么就需要一个算法对这些任务进行调度,算法要优先保证优先级高的,处理频率高的先被处理,同时也要避免某些记录长期得不到处理的情况。
我的解决方案是:
加一个表示权值的字段boost,并对boost设置最大值。然后在后台起一个轮询线程,隔适当的时间去扫面数据库。若发现有记录在规定的时间内没有得到处理,并且超出时间也大于规定的预期时间。就对其boost+1.执行线程首先是按照优先级来处理数据,但若发现有boost达到最大值的记录,立刻 ...
- 进入论坛 综合技术 版
兄弟:我有个邻居会治乙肝,听说是家传秘方。并且在我们那一方很有名,已经治好很多了。我两个同学也和你一样,经我介绍去治的,都已经转阴。希望此信息对你有用。
- 进入论坛 招聘求职 版
- 浏览: 839 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Binding趣用
eval是在当前定上下文中去执行代码,由此可知,eval("lvar = 'ne ...
-- by shaquan6776 -
Binding趣用
eval("lvar = 'new value'", the_binding) ...
-- by flyinglife -
Binding趣用
执行下不就知道了。
-- by shaquan6776 -
Binding趣用
解释哈 趣味何在??
-- by yangtao309 -
正则和eval的趣用
借用了你的正则表达式,我的方法是 hash=Hash.new ...
-- by ek2






评论排行榜