2 using System
.Collections
.Generic
;
3 using System
.Text
.RegularExpressions
;
5 using MalVal
= Mal
.types
.MalVal
;
6 using MalList
= Mal
.types
.MalList
;
10 public static string join(List
<MalVal
> value,
11 string delim
, bool print_readably
) {
12 List
<string> strs
= new List
<string>();
13 foreach (MalVal mv
in value) {
14 strs
.Add(mv
.ToString(print_readably
));
16 return String
.Join(delim
, strs
.ToArray());
19 public static string join(Dictionary
<string,MalVal
> value,
20 string delim
, bool print_readably
) {
21 List
<string> strs
= new List
<string>();
22 foreach (KeyValuePair
<string, MalVal
> entry
in value) {
23 if (entry
.Key
.Length
> 0 && entry
.Key
[0] == '\u029e') {
24 strs
.Add(":" + entry
.Key
.Substring(1));
25 } else if (print_readably
) {
26 strs
.Add("\"" + entry
.Key
.ToString() + "\"");
28 strs
.Add(entry
.Key
.ToString());
30 strs
.Add(entry
.Value
.ToString(print_readably
));
32 return String
.Join(delim
, strs
.ToArray());
35 public static string _pr_str(MalVal mv
, bool print_readably
) {
36 return mv
.ToString(print_readably
);
39 public static string _pr_str_args(MalList args
, String sep
,
40 bool print_readably
) {
41 return join(args
.getValue(), sep
, print_readably
);
44 public static string escapeString(string str
) {
45 return Regex
.Escape(str
);