相关疑难解决方法(0)

是否有可能在proc中看到ruby代码?

p = Proc.new{ puts 'ok' }
Run Code Online (Sandbox Code Playgroud)

有可能在proc中看到ruby代码吗?

inspect 返回内存位置:

puts p.inspect
#<Proc:0x007f9e42980b88@(irb):2>
Run Code Online (Sandbox Code Playgroud)

Ruby 1.9.3

ruby block proc

11
推荐指数
3
解决办法
5911
查看次数

打印块的实际Ruby代码?

这可能吗?

def block_to_s(&blk)
  #code to print blocks code here
end

puts block_to_s do
  str = "Hello"
  str.reverse!
  print str
end
Run Code Online (Sandbox Code Playgroud)

这将打印终端的跟随:

str = "Hello"
str.reverse!
print str
Run Code Online (Sandbox Code Playgroud)

ruby

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

将Proc和Method转换为String

可能重复:
如何从Proc对象中提取代码?

将proc或方法对象转换为源字符串的最佳方法是什么?到目前为止,我尝试了两种方法.一个是实现proc的源位置并读取该部分源代码.另一种是使用库巫师和开膛手.我不确定这样做的正确方法是什么.什么是最好的可能取决于各种因素:稳健性,对原始的忠诚度,速度等.包括我建议的方法,但不限于它们,请建议一个策略,并评估其局限性.

ruby ruby-1.9 ruby-1.9.2

6
推荐指数
0
解决办法
683
查看次数

标签 统计

ruby ×3

block ×1

proc ×1

ruby-1.9 ×1

ruby-1.9.2 ×1