add pic_list_ref
This commit is contained in:
parent
78420ef042
commit
293fef5235
|
@ -29,6 +29,8 @@ pic_value pic_cadr(pic_state *, pic_value);
|
||||||
pic_value pic_cdar(pic_state *, pic_value);
|
pic_value pic_cdar(pic_state *, pic_value);
|
||||||
pic_value pic_cddr(pic_state *, pic_value);
|
pic_value pic_cddr(pic_state *, pic_value);
|
||||||
|
|
||||||
|
pic_value pic_list_ref(pic_state *, pic_value, int);
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -180,6 +180,15 @@ pic_cddr(pic_state *pic, pic_value v)
|
||||||
return pic_cdr(pic, pic_cdr(pic, v));
|
return pic_cdr(pic, pic_cdr(pic, v));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pic_value
|
||||||
|
pic_list_ref(pic_state *pic, pic_value list, int i)
|
||||||
|
{
|
||||||
|
while (i-- > 0) {
|
||||||
|
list = pic_cdr(pic, list);
|
||||||
|
}
|
||||||
|
return pic_car(pic, list);
|
||||||
|
}
|
||||||
|
|
||||||
static pic_value
|
static pic_value
|
||||||
pic_pair_pair_p(pic_state *pic)
|
pic_pair_pair_p(pic_state *pic)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue