1

我想覆盖 system() 函数。那可能吗?

4

2 回答 2

3

当然,您几乎可以覆盖 Ruby 中的所有内容(无论有用与否):

system "ls /" # returns "/etc /var...", normal behaviour

def system args
  puts args
end

system "ls /" # returns "ls /"
于 2013-01-15T14:31:02.857 回答
-1

如果根本不需要使用system,那么您可以使用反引号。反引号执行命令并将输出作为字符串返回。

然后,您可以将值分配给一个变量,如下所示:

output = `ls`
p output
于 2013-01-15T14:33:00.813 回答