From: Masaaki A. <mas...@gm...> - 2011-12-19 13:12:38
|
青柳です。 > であれば、rb_sym_to_s()の方がよさそうです。 rb_sym_to_sを使用するように変更しました。 プロパティへの対応もする必要があるのでglib2を見たら、type_to_prop_(setter|getter)_table のような変換関数テーブルを使った仕組みがあるようですので、それを利用しようと考えています。 が、以下のようにテーブルへアクセスする際のキーがrb_str_new2、rb_intern、CSTR2RVAL とまちまちになっています。 rbgobj_register_property_setter(): rb_hash_aset(table, rb_str_new2(g_param_spec_get_name(pspec)), Data_Wrap_Struct(rb_cData, NULL, NULL, func)); rbgobj_register_property_getter(): rb_hash_aset(table, rb_str_new2(g_param_spec_get_name(pspec)), Data_Wrap_Struct(rb_cData, NULL, NULL, func)); rg_set_property(): rb_hash_aref(table, rb_intern(g_param_spec_get_name(pspec))); rg_get_property(): rb_hash_aref(table, CSTR2RVAL(g_param_spec_get_name(pspec))); どれかに統一したいのですが、何が良いでしょうか? |