我试图将Ruby脚本转换为Python脚本(完全不了解Ruby中的各种函数),并且无法在Ruby sub
函数中找到任何内容。
这是我尝试翻译的功能:
def getCCache(arg1, arg2, arg3)
local4 = Digest::MD5.hexdigest(arg1 + arg2)
local5 = 0
while (local5 < arg3.length)
temp1 = arg3[local5]
temp2 = local5
local5 += local5;
local4.sub(temp1, arg3[temp2])
local5 += 1
end
return (local4)
end
我遇到问题的行是local4.sub(temp1, arg3[temp2])
。 sub
函数有什么作用?如果有相同的Python,我也会很感激。
答案 0 :(得分:2)
local4.sub(temp1, arg3[temp2])
什么都不做。它返回字符串local4
的副本,其中第一个出现的temp1
引用的子字符串被第二个参数替换。 然后结果被丢弃:没有为结果分配变量。
local4 = local4.sub(temp1, arg3[temp2]) #or
local4.sub!(temp1, arg3[temp2])
都会进行字符串替换。
答案 1 :(得分:0)
sub(pattern) {|...| block } → $_
Equivalent to $_.sub(args), except that $_ will be updated if substitution occurs. Available only when -p/-n command line option specified.
$_
是一个ruby全局变量,它表示由gets