我使用C++类创建了一个示例ruby扩展.当我没有解析值时,它工作正常.但是当我解析参数时它显示错误.这是我的代码.
C++头文件
#ifndef CIRCLE_H_
#define CIRCLE_H_
class Circle {
public:
Circle(float radius):_radius(radius) {}
float getArea() { return 3.14159 * _radius * _radius; }
private:
float _radius;
};
Run Code Online (Sandbox Code Playgroud)
CPP文件.
#include<ruby.h>
#include"Circle.h"
VALUE method_test(VALUE y){
double x= NUM2DBL(y);
Circle *cir= new Circle(x);
return DBL2NUM(cir->getArea());
}
extern "C" void Init_Test(){
VALUE lemon = rb_define_module("Test");
rb_define_method(lemon, "test", (VALUE(*)(ANYARGS))method_test,1);
}
Run Code Online (Sandbox Code Playgroud)
extconf.rb
require 'mkmf'
have_library( 'stdc++' );
$CFLAGS << " -Wall"
create_makefile( 'Test' );
Run Code Online (Sandbox Code Playgroud)
run.rb
require 'rubygems'
require 'Test'
include Test
puts test(7)
Run Code Online (Sandbox Code Playgroud)
当我执行run.rb时,它显示一个错误.
run.rb:7:in `test': …Run Code Online (Sandbox Code Playgroud) 我已经创建了嵌套的preferenceScreens.I想要添加自定义字体,preferenceScreen title and summary.我尝试使用加载到字体的字体.我怎样才能做到这一点?谢谢.
这是我的preference.xml:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/manage_device_title"
android:key="@string/device_category">
<PreferenceScreen android:title="@string/manage_device"
android:key="@string/manage_device_KEY"
android:summary="@string/device_summary" >
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)