Tag: 动态语言

什么时候模块包含在运行在rails中的Ruby类中?

我正在尝试编写一个方法,告诉我包含特定模块的每个类。 它看起来像这样 – def Rating.rateable_objects rateable_objects = [] ObjectSpace.each_object(Class) do |c| next unless c.include? Rateable rateable_objects << c end rateable_objects end “Rateable”是我的模块,我将其包含在几个模型中。 我发现如果我在启动rails console或运行服务器之后立即调用它,则此方法返回[]。 但是,如果我首先实例化其中一个消费模型的实例,它将在结果中返回该模型。 那么什么时候包含模块? 我猜这个过程的后期比他应用启动的时候要多。 如果我不能在这个过程的早期以这种方式获得这些信息,那么无论如何都要实现这一目标吗?

嵌入式设备的动态语言?

我需要将动态语言部署到一个小型嵌入式Linux设备,并且很难找到合适的语言:我想用这种语言构建一个小型Web应用程序(使用像Sinatra或Camping这样的小框架)并编写一些脚本进行维护。 我更喜欢Ruby,因为我有一些经验,但经过几天尝试交叉编译,我只能构建裸线解释器,没有libs(miniruby)。 它的问题是,它只是太大了:剥离了超过1 MB! 您使用的是哪种语言,以及使其运行有多困难?

有什么方法可以确定哪个对象叫做方法?

我希望Ruby的消息传递基础设施意味着可能有一些聪明的技巧。 如何确定调用对象 – 哪个对象称为我当前使用的方法?