我如何';翻译';JRuby代码的Java枚举类型?
我将如何将这段Java代码翻译成JRuby:我如何';翻译';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 *
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中的枚举类型提出问题后回复了注释,那么可能有人能够为您提供某种类型的答案。