diff options
Diffstat (limited to 'README.EXT')
-rw-r--r-- | README.EXT | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/README.EXT b/README.EXT new file mode 100644 index 0000000000..efa627a24a --- /dev/null +++ b/README.EXT @@ -0,0 +1,308 @@ +.\" README.EXT - -*- Text -*- created at: Mon Aug 7 16:45:54 JST 1995 + +Ruby���ĥ���뤿�����ˡ����⤹�롥 + +Ruby��C�����ɤ���Ȥˤ�äơ���ñ�˵�ǽ���ɲäǤ��롥�����ޤ��ʼ� +��ϰʲ����̤�Ǥ��롥 + + 1. �ե�������Ѱդ��� + + ext�ǥ��쥯�ȥ�β��˳�ĥ�⥸�塼���ѤΥǥ��쥯�ȥ���Ѱդ��ơ��� + ���۲��˰ʲ��Υե�������Ѱդ���ɬ�פ����롥 + + + MANIFEST��ɬ�פʥե�����ΰ����� + + ɬ��ɬ�ס����Ū�ʥե�����ʳ������ƤΥե�����̾��1��1�ե����� + �η����ǵ��Ҥ��뤳�ȡ� + + + C�Υ������ե����롥 + + �⥸�塼�뤬1�ե������������ʤ���ϥ⥸�塼��̾��Ʊ��̾���Υե� + ����̾(�⥸�塼��.c)��Ĥ��롥�դ˥⥸�塼�뤬ʣ������ʤ���� + �⥸�塼��̾�ΤĤ����������ե�������뤳�ȡ� + + + extconf.rb(optional)�������ѥե����롥 + + �ؿ���饤�֥�ꡤ�إå���¸�ߥ����å����ꡤ�⥸�塼��̾�� + �ɤ����ꤹ�롥���Υե����뤬̵��������ƥǥե���Ȥǥ���ѥ��� + ����롥 + + + depend(optional)��Makefile�˥��롼�ɤ��뤿��Υե� + ����ΰ�¸�ط��Ҥ����ե����롥 + + `gcc -MM *.c > depend'�Ȥ���м�ưŪ�������Ǥ��롥 + + 2. C�Υ������ե�������Ѱդ��� + + ɬ����Init_�⥸�塼��̾�פȤ����ؿ����Ѱդ���������ǡ��ѿ��䥯�� + ��������䡤���饹�ؤΥ�åɤ���Ͽ�ʤɤν������Ԥ����ȡ����� + �ؿ��θƤӽФ��ϥ��ץ�ν������(��Ū��ξ��)���⥸�塼 + ��Υ����ɻ�(ưŪ��ξ��)�˼�ưŪ�˹Ԥ��롥 + +* Ruby API + +C���줫��Ruby�ε�ǽ�����Ѥ���API�ϰʲ����̤�Ǥ��롥 + +** �� + + VALUE + + Ruby���֥������Ȥ�ɽ�����뷿��ɬ�פ˱����ƥ��㥹�Ȥ����Ѥ��롥�Ȥ� + ���߷���ɽ������C�η���ruby.h�˵��Ҥ��Ƥ���R�ǻϤޤ빽¤�ΤǤ��롥 + VALUE�����˥��㥹�Ȥ��뤿���R�ǻϤޤ빽¤��̾��������ʸ���� + ����̾���Υޥ������Ѱդ���Ƥ��롥 + +** �ѿ������ + + Qnil + + ���: nil���֥������� + + Qself + + �ѿ�: ���ߤ�self���֥������Ȥ��͡����̤˥�åɤˤ�self��ؤ����� + ��Ϳ������Τ�, �����ѿ��˥�����������ɬ�פϤʤ��������ѿ����ͤ� + �ѹ�������ϰʸ��self���ͤ��Τ�Τ��Ѥ�äƤ��ޤ��Τ�, ���̤ʻ��� + ���ʤ��¤��������ƤϤʤ�ʤ��� + + TRUE + + ���: t���֥�������(���Υǥե������) + + FALSE + + ���: nil���֥������� + +** C�ǡ����Υ��ץ��벽 + + VALUE data_new(void *sval, void (*mark)(), void (*free)()) + + C��Ǥ�դΥݥ��ץ��벽����ruby���֥������Ȥ��֤������Υݥ��� + ����ruby���饢����������ʤ��ʤä�����free�ǻ��ꤷ���ؿ����ƤФ�롥 + �ޤ������Υݥ��λؤ��ǡ�����¾��ruby���֥������Ȥ�ؤ��Ƥ���� + �硤mark�˻��ꤹ��ؿ��ǥޡ�������ɬ�פ����롥 + + Make_Data_Struct(obj, iv, type, mark, free, sval) + + type���Υ����malloc�����ѿ�sval�����������塤����ץ��벽�� + ���ǡ�����obj�Υ������ѿ�iv����������ޥ����� + + Get_Data_Struct(obj, iv, type, sval) + + obj�Υ������ѿ�iv���ؤ��ǡ�������type���Υݥ�����Ф� + �ѿ�sval����������ޥ����� + +** ���饹/�⥸�塼����� + + VALUE rb_define_class(char *name, VALUE super) + + super�Υ��֥��饹�Ȥ��ƿ�����Ruby���饹��������롥 + + VALUE rb_define_module(char *name) + + ������Ruby�⥸�塼���������롥 + + void rb_include_module(VALUE class, VALUE module) + + �⥸�塼��롼�ɤ��롥class�����Ǥ�module�롼�ɤ��� + ������ˤϲ��⤷�ʤ�(¿�ť��롼�ɤζػ�)�� + + void rb_extend_object(VALUE object, VALUE module) + + ���֥������Ȥ�⥸�塼��(���������Ƥ����å�)�dz�ĥ���롥 + +** ����ѿ���� + + void rb_define_variable(char *name, VALUE *var) + + Ruby��C�ȤǶ�ͭ���륰�����Х��ѿ���������롥�ѿ�̾��`$'�ǻϤޤ�� + �����ˤϼ�ưŪ���ɲä���롥name�Ȥ���ruby�μ��̻ҤȤ��Ƶ�����ʤ� + ʸ��(�㤨��` ')��ޤ���ˤ�ruby�ץ�����फ��ϸ����ʤ��ʤ롥 + + void rb_define_readonly_variable(char *name, VALUE *var) + + Ruby��C�ȤǶ�ͭ����read only�Υ������Х��ѿ���������롥read only�� + ���뤳�Ȱʳ���rb_define_variable()��Ʊ���� + + void rb_define_virtual_variable(char *name, + VALUE (*getter)(), VALUE (*setter)()) + + �ؿ��ˤ�äƼ¸������Ruby�ѿ���������롥�ѿ������Ȥ��줿���ˤ� + getter�����ؿ����ͤ����åȤ��줿���ˤ�setter���ƤФ�롥 + + void rb_define_hooked_variable(char *name, VALUE *var, + VALUE (*getter)(), VALUE (*setter)()) + + �ؿ��ˤ�ä�hook�ΤĤ���줿�������Х��ѿ���������롥�ѿ������Ȥ� + �줿���ˤ�getter�����ؿ����ͤ����åȤ��줿���ˤ�setter���ƤФ�롥 + getter��setter��0����ꤷ�����ˤ�hook����ꤷ�ʤ��Τ�Ʊ�����ˤʤ롥 + + void rb_global_variable(VALUE *var) + + GC�Τ��ᡤRuby�ץ�����फ��ϥ�����������ʤ���, Ruby���֥������� + ��ޤ�����ѿ���ޡ������롥 + +** ���饹��� + + void rb_define_const(VALUE class, char *name, VALUE val) + + ���饹�����������롥 + +** ��å���� + + rb_define_method(VALUE class, char *name, VALUE (*func)(), int argc) + + ��åɤ�������롥argc��self����������ο���argc��-1�λ�, �ؿ��� + �ϰ����ο�(self��ޤޤʤ�)����1����, �������������2�����Ȥ������ + ��Ϳ������(��3������self)��argc��-2�λ�, ������self, args(args�� + ������ޤ�ruby������)�Ȥ���������Ϳ�����롥 + + rb_define_private_method(VALUE class, char *name, VALUE (*func)(), int argc) + + private��åɤ�������롥������rb_define_method()��Ʊ���� + + rb_define_singleton_method(VALUE class, char *name, VALUE (*func)(), int argc) + + �ðۥ�åɤ�������롥������rb_define_method()��Ʊ���� + + rb_scan_args(int atgc, VALUE *argv, char *fmt, ...) + + argc,argv������Ϳ����줿������ʬ�롥fmt��ɬ�ܰ����ο�, �ղð� + ���ο�, �Ĥ�ΰ��������뤫����ꤹ��ʸ�����, "��������*"�Ȥ������� + �Ǥ��롥 2 ���ܤο�����"*"�Ϥ��줾���ά��ǽ�Ǥ��롥ɬ�ܰ�������� + ��ʤ�����0����ꤹ�롥��3�����ʹߤ��ѿ��ؤΥݥ���, �������� + ���Ǥ������ѿ��˳�Ǽ����롥�ղð������б����������Ϳ�����Ƥ��� + �������ѿ���Qnil����������롥 + +** Ruby��åɸƤӽФ� + + VALUE rb_funcall(VALUE recv, ID mid, int narg, ...) + + ��åɸƤӽФ���ʸ����mid�����뤿��ˤ�rb_intern()��Ȥ��� + + VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv) + + ��åɸƤӽФ���������argc,argv�������Ϥ��� + + VALUE rb_eval_string(char *str) + + ʸ�����ruby�ȥ�����ץȤ��ƥ���ѥ��롦�¹Ԥ��롥 + + ID rb_intern(char *name) + + ʸ������б�����ID���֤��� + + char *rb_id2name(ID id) + + ID���б�����ʸ������֤�(�ǥХå���)�� + + char *rb_class2name(VALUE class) + + class��̾�����֤�(�ǥХå���)��class��̾��������ʤ����ˤ�, ���ֶ� + ��̾������ĥ��饹��̾�����֤��� + +** �������ѿ� + + VALUE rb_iv_get(VALUE obj, char *name) + + obj�Υ������ѿ����ͤ����롥`@'�ǻϤޤ�ʤ��������ѿ��� + Ruby�ץ�����फ�饢�������Ǥ��ʤ��ֱ��줿�ץ������ѿ��ˤʤ롥 + + VALUE rb_iv_set(VALUE obj, char *name, VALUE val) + + obj�Υ������ѿ���val�˥��åȤ��롥 + +** ���湽¤ + + VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2) + + func2��֥��å��Ȥ������ꤷ, func1�ƥ졼���Ȥ��ƸƤ֡� func1�� + �� arg1�������Ȥ����Ϥ���, func2�ˤ���1�����˥��ƥ졼������Ϳ����� + ����, ��2������arg2���Ϥ���롥 + + VALUE rb_yield(VALUE val) + + val���ͤȤ��ƥ��ƥ졼���֥��å���ƤӽФ��� + + VALUE rb_rescue(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2) + + �ؿ�func1��arg1������˸ƤӽФ���func1�μ¹�����㳰��ȯ���������� + �� func2��arg2������Ȥ��ƸƤ֡�����ͤ��㳰��ȯ�����ʤ��ä����� + func1�������, �㳰��ȯ���������ˤ�func2������ͤǤ��롥 + + VALUE rb_ensure(VALUE (*func1)(), void *arg1, void (*func2)(), void *arg2) + + �ؿ�func1��arg1������Ȥ��Ƽ¹Ԥ�, �¹Խ�λ��(���Ȥ��㳰��ȯ������ + ��) func2��arg2������Ȥ��Ƽ¹Ԥ��롥����ͤ�func1������ͤǤ���(�� + ����ȯ�������������ʤ�)�� + +** �㳰�����顼 + + void Warning(char *fmt, ...) + + verbose����ɸ�२�顼���Ϥ˷ٹ�����ɽ�����롥������printf()��Ʊ���� + + void Fail(char *fmt, ...) + + �㳰��ȯ�������롥������printf()��Ʊ���� + + void Fatal(char *fmt, ...) + + ��̿Ū�㳰��ȯ�������롥�̾���㳰�����ϹԤʤ�줺, �����ץ + ����λ����(������ensure�ǻ��ꤵ�줿�����ɤϽ�λ���˼¹Ԥ����)�� + + void Bug(char *fmt, ...) + + �����ץ�ʤɥץ������ΥХ��Ǥ���ȯ������Ϥ��Τʤ������λ� + �Ƥ֡������ץ�ϥ�������פ�ľ���˽�λ���롥�㳰�����ϰ��ڹ� + �ʤ��ʤ��� + +** ruby�ν�������¹� + +Ruby�ץꥱ����������������ˤϰʲ��Υ��ե�������Ȥ����� +��γ�ĥ�⥸�塼��ˤ�ɬ�פʤ��� + + void ruby_init(int argc, char **argv, char **envp) + + ruby���ץ�ν������Ԥʤ��� + + void ruby_run() + + ruby���ץ��¹Ԥ��롥 + + void ruby_script(char *name) + + ruby�Υ�����ץ�̾($0)�����ꤹ�롥 + +* extconf.rb�ε��� + +��ĥ�⥸�塼��Υǥ��쥯�ȥ��`extconf.rb'�Ȥ����ե����뤬¸�ߤ������ +�ϡ����줬�¹Ԥ��졤�⥸�塼��Υ���ѥ����ɬ�פʾ��Υ����å��ʤɤ� +�Ԥ���������롥extconf.rb����Ǥϰʲ��δؿ���Ȥ������Ǥ��롥 + + have_library(lib, func) + + �ؿ�func��������Ƥ���饤�֥��lib��¸�ߤ�����å����롥�饤�֥�� + ��¸�ߤ������TRUE���֤��� + + have_func(func) + + �ؿ�func��¸�ߤ�����å����롥func��ɸ��Ǥϥ����ʤ��饤�֥� + ����Τ�ΤǤ�����ˤ����have_library�Ǥ��Υ饤�֥�������å��� + �Ƥ��������ؿ���¸�ߤ������TRUE���֤��� + + have_header(header) + + �إå��ե������¸�ߤ�����å����롥�إå��ե����뤬¸�ߤ����TRUE + ���֤��� + + create_makefile(target) + + ��ĥ�⥸�塼���Ѥ�Makefile���������롥���δؿ���ƤФʤ���Ф��Υ� + ���塼��ϥ���ѥ��뤵��ʤ��� + +/* + * Local variables: + * fill-column: 70 + * end: + */ |