在 Ruby 中,当我们简单地定义一个方法时:
def test
puts "test!"
end
它变成了一个全局对象的方法(没有独立的函数),我们甚至可以这样做:
puts self
或者
puts methods.sort
因为全局环境本身就是一个对象...
这对 Python 和/或 Perl 有效吗?如果没有,可以模拟吗?
编辑
我是编译器爱好者。
我实际上是在尝试为这三种使用 Objective-C 运行时的命名空间版本的语言实现编译器。我试图弄清楚如何在另一种语言上访问以一种语言定义的方法/类/对象。类层次结构应该完全不同,但如果全局定义的方法(就像我在 Ruby 中展示的那样)可以直接相互访问,透明地,这将非常有用,所以这就是为什么我试图弄清楚 Perl 和 Python 如何对待这样的事情与Ruby相比。我也很感激这个问题的建议。
虽然这个问题也应该与其他人相关,但我相信/希望。:)