1 (* Reference, dereference.
2 * $Id: 140-ref.ml,v 1.2 2005-04-14 13:05:12 rich Exp $
8 let sv = sv_of_int 42 in
9 let sv = scalarref sv in
10 assert (sv_type sv = SVt_RV);
11 assert (reftype sv = SVt_IV);
13 assert (42 = int_of_sv sv);
15 let av = av_of_string_list [ "foo"; "bar" ] in
16 let sv = arrayref av in
17 assert (sv_type sv = SVt_RV);
18 assert (reftype sv = SVt_PVAV);
19 let av = deref_array sv in
20 assert (2 = av_length av);
22 let hv = hv_empty () in
23 hv_set hv "foo" (sv_of_int 1);
24 hv_set hv "bar" (sv_of_int 2);
25 let sv = hashref hv in
26 assert (sv_type sv = SVt_RV);
27 assert (reftype sv = SVt_PVHV);
28 let hv = deref_hash sv in
29 assert (1 = int_of_sv (hv_get hv "foo"));
30 assert (2 = int_of_sv (hv_get hv "bar"));