.\" C-IF - -*- Text -*- created at: Tue Oct 12 14:15:00 JST 1993 Ruby-C ���󥿡��ե����� �� VALUE Ruby���֥������Ȥ�ɽ�����뷿. ɬ�פ˱����ƥ��㥹�Ȥ����Ѥ���. �Ȥ� ���߷���ɽ������C�η���ruby.h�˵��Ҥ��Ƥ���R�ǻϤޤ빽¤�ΤǤ���. VALUE���򤳤��˥��㥹�Ȥ��뤿���R�ǻϤޤ빽¤��̾��������ʸ���� ����̾���Υޥ������Ѱդ���Ƥ���. �ѿ������ Qnil ���: nil���֥������� Qself �ѿ�: ���ߤ�self���֥������Ȥ���. ���̤˥᥽�åɤˤ�self��ؤ����� ��Ϳ������Τ�, �����ѿ��˥�����������ɬ�פϤʤ�. �����ѿ����ͤ� �ѹ�������ϰʸ��self���ͤ��Τ�Τ��Ѥ�äƤ��ޤ��Τ�, ���̤ʻ��� ���ʤ��¤��������ƤϤʤ�ʤ�. TRUE ���: t���֥�������(���Υǥե������) FALSE ���: nil���֥������� ���饹���⥸�塼����� 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_define_variable(char *name, VALUE *var, VALUE (*get_hook), VALUE (*set_hook)(), void *data) Ruby��C�ȤǶ�ͭ���륰�����Х��ѿ����������. get_hook��Qnil�Ǥʤ���, �ѿ����Ȥκݤ�get_hook�˥��åȤ��줿�ؿ����ƤФ��. set_hook��Qnil �Ǥʤ����ˤ������λ���set_hook���ƤФ��. hook�ؿ��ˤ��ѿ�̾�򼨤� ID��(set hook�ξ�翷�����ͤ�)�ȤȤ��data��Ϳ�����ǡ����������Ȥ� ���Ϥ����. �ѿ�̾��`$'�ǻϤޤ�ʤ����ˤϼ�ưŪ���ɲä����. �ѿ�̾�Ȥ���ruby�� ���̻ҤȤ��Ƶ�����ʤ�ʸ��(�㤨��` ')��ޤ���ˤ�ruby�ץ�����फ �饢�������Ǥ��ʤ��ʤ�. void rb_global_variable(VALUE *var) GC�Τ��ᡤRuby�ץ�����फ��ϥ�����������ʤ���, Ruby���֥������� ��ޤ�����ѿ���ޡ�������. void rb_read_only_hook() �ɤ߽Ф����Ѥ��ѿ��Τ����set_hook�ؿ�. �ͤ����ꤷ�褦�Ȥ�����㳰 ��ȯ��������. ���饹��� 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_single_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)(), char *arg1, VALUE (*func2)(), char *arg2) func2��֥��å��Ȥ������ꤷ, func1�򥤥ƥ졼���Ȥ��ƸƤ�. func1�� �� arg1�������Ȥ����Ϥ���, func2�ˤ���1�����˥��ƥ졼������Ϳ����� ����, ��2������arg2���Ϥ����. VALUE rb_yield(VALUE val) val���ͤȤ��ƥ��ƥ졼���֥��å���ƤӽФ�. VALUE rb_resque(VALUE (*func1)(), char *arg1, VALUE (*func2)(), char *arg2) �ؿ�func1��arg1������˸ƤӽФ�. func1�μ¹�����㳰��ȯ���������� �� func2��arg2������Ȥ��ƸƤ�. ����ͤ��㳰��ȯ�����ʤ��ä����� func1�������, �㳰��ȯ���������ˤ�func2������ͤǤ���. VALUE rb_ensure(VALUE (*func1)(), char *arg1, VALUE (*func2)(), char *arg2) �ؿ�func1��arg1������Ȥ��Ƽ¹Ԥ�, �¹Խ�λ��(���Ȥ��㳰��ȯ������ ��) func2��arg2������Ȥ��Ƽ¹Ԥ���. ����ͤ�func1������ͤǤ���(�� ����ȯ�������������ʤ�). �㳰�����顼 void Warning(char *fmt, ...) ɸ�२�顼���Ϥ˷ٹ�����ɽ������. ������printf()��Ʊ��. void Fail(char *fmt, ...) �㳰��ȯ��������. ������printf()��Ʊ��. void Fatal(char *fmt, ...) ��̿Ū�㳰��ȯ��������. �̾���㳰�����ϹԤʤ�줺, ���󥿡��ץ꥿ ����λ����(������ensure�ǻ��ꤵ�줿�����ɤϽ�λ���˼¹Ԥ����). void Bug(char *fmt, ...) ���󥿡��ץ꥿�ʤɥץ������ΥХ��Ǥ���ȯ������Ϥ��Τʤ������λ� �Ƥ�. ���󥿡��ץ꥿�ϥ�������פ�ľ���˽�λ����. �㳰�����ϰ��ڹ� �ʤ��ʤ�. ruby�ν�������¹� void ruby_init(int argc, char **argv, char **envp) ruby���󥿥ץ꥿�ν������Ԥʤ�. void ruby_run() ruby���󥿥ץ꥿��¹Ԥ���. void ruby_script(char *name) ruby�Υ�����ץ�̾($0)�����ꤹ��. /* * Local variables: * fill-column: 70 * end: */