什么是Ruby String子函数?

时间:2013-12-29 21:11:25

标签: python ruby string

我试图将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,我也会很感激。

2 个答案:

答案 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

读取的字符串