有条件地替换每个函数调用的第n个参数 [英] Conditionally replace nth argument of every function call
问题描述
我有非常大的perl源代码文件,我想替换每个出现的函数说 foo ,函数foo有一些参数,我想替换第二个参数,当前参数是十六进制整数,我想将其替换为等效的字符串。另外我想用 替换函数名 foo bar_new 例如
I have very large perl source code file and I want to replace every occurrence function say foo,The function foo has some arguments and I want to replace 2nd argument,the current argument is hex integer and i want to replace it to equivalent string.Also I want to replace function name foo with bar_new e.g.
foo(a,0x1,b,c,d) should be replaced with bar_new(a,$some_obj->one,b,c,d)
foo(a,0x2,b,c,d) should be replaced with bar_new(a,$some_obj->two,b,c,d)
.....
.....
foo(a,0x9,b,c,d) should be replaced with bar_new(a,$some_obj->nine,b,c,d)
基本上,我想用查找的等效字符串替换第二列。我怎么能这样做?
So basically, I want to replace 2nd column with equivalent string from look up. How can i do that?
推荐答案
some_obj-> one,b,c,d)
foo(a,0x2,b,c,d )应该用bar_new替换(a,
some_obj->one,b,c,d) foo(a,0x2,b,c,d) should be replaced with bar_new(a,
some_obj-> two,b,c,d)
.....
.....
foo(a,0x9,b,c,d)应替换为bar_new(a,
some_obj->two,b,c,d) ..... ..... foo(a,0x9,b,c,d) should be replaced with bar_new(a,
some_obj-> nine,b,c,d)
some_obj->nine,b,c,d)
基本上,我想用查找的等效字符串替换第二列。我怎么能这样做?
So basically, I want to replace 2nd column with equivalent string from look up. How can i do that?
这篇关于有条件地替换每个函数调用的第n个参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!