假设我有一个以下的lambda函数.
fn = lambda x: print(x)
Run Code Online (Sandbox Code Playgroud)
如果我想将其转换为字符串
"lambda x: print(x)"
Run Code Online (Sandbox Code Playgroud)
我能做什么?我期待str(fn)或者str(fn.__code__)会这样做,但不是真的...它只打印出类型,mem位置等.
我也尝试了pickle.dumps和json,但我无法得到我想要的东西.
如何将函数转换为显示函数定义的字符串?
---我想把函数作为输入并将其转换为字符串
Java asm - 如何创建仅更改类名的类的克隆?
我知道有一种简单的方法可以使用 asm SimpleRemapper修改类名,但我只想更改外部类名,而不修改方法中使用的类名。(请参阅下面的示例)
基本上如果我有目标班级
public class Target {
public Target clone(...) ...
public int compare(another: Target) ...
}
Run Code Online (Sandbox Code Playgroud)
我只是想创建一个看起来像这样的克隆:
public class ClonedTarget {
public Target clone(...) ...
public int compare(another: Target) ...
}
Run Code Online (Sandbox Code Playgroud)
(请注意, 的返回类型clone和 arg 类型compare没有改变。这是针对我的用例而设计的)。
java bytecode bytecode-manipulation java-bytecode-asm java-8