我如何';翻译';JRuby代码的Java枚举类型?

我如何';翻译';JRuby代码的Java枚举类型?,java,enums,jruby,porting,Java,Enums,Jruby,Porting,我将如何将这段Java代码翻译成JRuby: enum Note { REST, A4, A4$, B4, C4, C4$, D4, D4$, E4, F4, F4$, G4, G4$, A5; public static final int SAMPLE_RATE = 16 * 1024; // ~16KHz public static final int SECONDS = 2; private byte[] sin = new byte[SECONDS *

我将如何将这段Java代码翻译成JRuby:

enum Note {

    REST, A4, A4$, B4, C4, C4$, D4, D4$, E4, F4, F4$, G4, G4$, A5;
    public static final int SAMPLE_RATE = 16 * 1024; // ~16KHz
    public static final int SECONDS = 2;
    private byte[] sin = new byte[SECONDS * SAMPLE_RATE];

    Note() {
        int n = this.ordinal();
        if (n > 0) {
            double exp = ((double) n - 1) / 12d;
            double f = 440d * Math.pow(2d, exp);
            for (int i = 0; i < sin.length; i++) {
                double period = (double)SAMPLE_RATE / f;
                double angle = 2.0 * Math.PI * i / period;
                sin[i] = (byte)(Math.sin(angle) * 127f);
            }
        }
    }

    public byte[] data() {
        return sin;
    }
}
enum注释{
其余,A4,A4$,B4,C4,C4$,D4,D4$,E4,F4,F4$,G4,G4$,A5;
公共静态最终整数采样率=16*1024;/~16KHz
公共静态最终整数秒=2;
专用字节[]sin=新字节[秒*采样率];
附注({
int n=this.ordinal();
如果(n>0){
双经验=((双)n-1)/12d;
双f=440d*数学功率(2d,exp);
for(int i=0;i
为您的问题添加一些上下文将非常有用。您是否需要将注释传递给期望它们像当前Java对象一样运行的Java代码?您是否只是想将类似的功能移植到Ruby,但不一定要保持完全相同的API?您是否只想引用Ruby客户机中现有的Java类?如果您在对Ruby中的枚举类型提出问题后回复了注释,那么可能有人能够为您提供某种类型的答案。