我正在阅读有关该getattr()功能的内容.问题是我仍然无法掌握它的用法.我唯一理解的getattr()是getattr(li, "pop")和调用一样li.pop.
我不明白这本书何时提到你如何使用它来获取函数的引用而不知道它的名字直到运行时.也许这就是我在编程方面的一般菜鸟.任何人都可以对这个问题有所了解吗?我何时以及如何使用它?
好吧,把我添加到Python程序员的列表中,他们爱上了Ruby,但是有一个挥之不去的PyAddiction.就像关于Python的getattr的帖子一样,我正在寻找Ruby这样做:
setattr(obj, 'attribute', value)
Run Code Online (Sandbox Code Playgroud)
其中obj是一个对象实例,attribute是一个对象属性的名称作为字符串,value是该对象的值.等效代码是:
obj.attribute = value
Run Code Online (Sandbox Code Playgroud)
我假设它是可能的(因为在Python中任何可能的东西现在看起来都更容易),但是找不到它的文档.
如果Ruby被邀请参加派对并带来:
foobarobject.send('foomethod')
Run Code Online (Sandbox Code Playgroud)
..和Python被邀请参加同一个派对并带来:
getattr(foobarobject, 'foomethod')()
Run Code Online (Sandbox Code Playgroud)
.. PHP必须为聚会带来什么?
奖金问题:如果Ruby和Python嫉妒PHP的派对恩惠,他们会在PHP文档中搜索哪些英语术语,以便在PHP背后讨论它?