1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
.\" 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���ͤ��Τ�Τ��Ѥ�äƤ��ޤ��Τ�, ���Ť˹Ԥ�
������.
���饹���⥸�塼�����
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)())
Ruby��C�ȤǶ�ͭ���륰�����Х��ѿ����������. get_hook��Qnil�Ǥʤ���,
�ѿ����Ȥκݤ�get_hook�˥��åȤ��줿�ؿ����ƤФ��. set_hook��Qnil
�Ǥʤ����ˤ������λ���set_hook���ƤФ��.
�ѿ�̾��`$'�ǻϤޤ�ʤ����ˤϼ�ưŪ���ɲä����. �ѿ�̾�Ȥ���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�λ�, ������
argc, argv������Ϳ������. argc��-2�λ�, ������self, args(args��
������ޤ�ruby������)�Ȥ���������Ϳ������.
rb_define_single_method(VALUE class, char *name, VALUE (*func)(), int argc)
�ðۥ�åɤ��������. ������rb_define_method()��Ʊ��.
rb_scan_args(VALUE args, char *fmt, ...)
args������Ϳ����줿������ʬ��. fmt��ɬ�ܰ����ο�, �ղð����ο�,
�Ĥ�ΰ��������뤫����ꤹ��ʸ�����, "��������*"�Ȥ��������Ǥ���.
2 ���ܤο�����"*"�Ͼ�ά��ǽ�Ǥ���. ��3�����ʹߤ��ѿ��ؤΥݥ���,
�����������Ǥ������ѿ��˳�Ǽ�����. �ղð�����Ϳ�����ʤ�������
���� Qnil�����������.
Ruby��åɸƤӽФ�
VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)
��åɸƤӽФ�. ʸ����mid�����뤿��ˤ�rb_intern()��Ȥ�.
rb_call_super(VALUE args)
�����ѡ����饹�Υ�åɤ�ƤӽФ�. args�ϰ����ꥹ�ȤȤʤ�����.
args ��Qnil�λ��ϸ��ߤΥ�åɤΰ����Τޤް����Ѥ�.
ʸ���� <-> ID�Ѵ�
ID rb_intern(char *name)
ʸ������б�����ID���֤�.
char *rb_id2name(ID id)
ID���б�����ʸ������֤�(�ǥХå���).
�������ѿ�
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������ͤǤ���(��
����ȯ����������nil).
�㳰�����顼
void Fail(char *fmt, ...)
�㳰��ȯ��������. ������printf()��Ʊ��.
void Fatal(char *fmt, ...)
��̿Ū�㳰��ȯ��������. �̾���㳰�����ϹԤʤ�줺, �����ץ
����λ����(������ensure�ǻ��ꤵ�줿�����ɤϽ�λ���˼¹Ԥ����).
void Bug(char *fmt, ...)
�����ץ�ʤɥץ������ΥХ��Ǥ���ȯ������Ϥ��Τʤ������λ�
�Ƥ�. �����ץ�ϥ�������פ�ľ���˽�λ����. �㳰�����ϰ��ڹ�
�ʤ��ʤ�.
/*
* Local variables:
* fill-column: 70
* end:
*/
|