簡體   English   中英

替換RSRuby中變量的值

[英]Replacing the value of a variable in RSRuby

當我遇到這種奇怪的行為時,我很高興地使用RSRuby進行一些數學運算:

irb(main):010:0> r = RSRuby.instance;
irb(main):011:0* r.assign 'e', 10
=> 10
irb(main):012:0> r.e
=> 10
irb(main):013:0> r.assign 'e', 20
=> 20
irb(main):014:0> r.e
=> 10

有什么我想念的嗎?

我通過重置r對象上的緩存來使其工作:

2.2.0 :026 > r.e
=> 11
2.2.0 :027 > r.assign 'e', 22
=> 22
2.2.0 :028 > r.e
=> 11
2.2.0 :029 > r.reset_cache
=> #<RObj:0x007fa269341508 @conversion=4, @wrap=0>
2.2.0 :030 > r.e
=> 22

我的直覺是rsruby接口保留了變量的緩存,分配確實確實將新值發送到R,但是rsruby將舊值緩存在ruby端,然后重置緩存將導致rsruby從R中獲取值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM