在Smalltalk中获取方法参数

时间:2013-11-24 13:06:59

标签: smalltalk pharo

如何打印特定方法的参数?

2 个答案:

答案 0 :(得分:1)

参数没有类型,因此您无法打印它们。您似乎想要打印方法标题,该标题提供方法的名称和参数的名称。您已经拥有方法的名称,因此您需要获取参数的名称。获取参数名称的唯一方法是从原始源字符串。这是从源字符串中提取参数名称的好方法。在这个例子中,我在类Object中获取了printOn:方法的参数名称。

(Parser new parse: (Object sourceCodeAt: #printOn:) class: Object) arguments
  collect: [:each | each name]

答案 1 :(得分:1)

在Pharo3中,它更容易:

(Object>>#printOn:) argumentNames