在Ruby-Processing类/草图中包含模块

时间:2012-09-28 22:47:09

标签: ruby processing

当我尝试将模块包含到Ruby-Processing草图中时,它返回以下StackOverflowError:

matt$ rp5 run cylinder_test.rb
matt$ Error: Your application used more stack memory than the safety cap.
Specify -J-Xss####k to increase it (#### = cap size in KB).
Specify -w for full StackOverflowError stack trace

使用-w运行草图不提供其他信息。

模块Cylinder包含 Processing :: Proxy 模块,以便访问begin_shape和end_shape方法等。我已经尝试将方法定义为类方法和实例方法(在方法定义之前有和没有“self。”)。

module Cylinder
    include Processing::Proxy
    def self.cylinder( sides, r1, r2, h )
...

我尝试删除“include Processing :: Proxy”行,但它只是告诉我有未定义的常量和方法,它们包含在Processing :: Proxy中。所以这可能不是问题。

我的草图标题如下:

class CylinderTest < Processing::App

    load '../controllers/branch_controller.rb'
    load '../controllers/node_controller.rb'

    require 'Cylinder.rb'
    include Cylinder
...

我应该指出我对这些方法的工作有信心,因为当我将Cylinder模块本身编写为Ruby-Processing草图时,它运行得非常完美。

我正在使用Ruby-Processing 1.0.11和Ruby 1.8.7。

那么,如何在不引起堆栈溢出错误的情况下包含Cylinder模块?

0 个答案:

没有答案