@@ -1053,40 +1053,40 @@ using namespace xtd::text;
10531053auto main() -> int {
10541054 using ci_action = delegate<string(const culture_info&)>;
10551055 auto columns = ordered_dictionary<string, ci_action> {};
1056- columns["Name"] = ci_action {delegate_ (const culture_info& c) {return c.name().empty() ? "**Invariant**" : c.name();}};
1057- columns["currency decimal digits"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().currency_decimal_digits());}};
1058- columns["currency decimal separator"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().currency_decimal_separator();}};
1059- columns["currency group separator"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().currency_group_separator();}};
1060- columns["currency group sizes"] = ci_action {delegate_ (const culture_info& c) {return string::join(", ", c.number_format().currency_group_sizes());}};
1061- columns["currency negative pattern"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().currency_negative_pattern());}};
1062- columns["currency positive pattern"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().currency_positive_pattern());}};
1063- columns["currency symbol"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().currency_symbol();}};
1064- columns["digit substitution"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().digit_substitution());}};
1065- columns["nan symbol"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().nan_symbol();}};
1066- columns["negative infinity symbol"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().negative_infinity_symbol();}};
1067- columns["negative sign"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().negative_sign();}};
1068- columns["number decimal digits"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().number_decimal_digits());}};
1069- columns["number decimal separator"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().number_decimal_separator();}};
1070- columns["number group separator"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().number_group_separator();}};
1071- columns["number group sizes"] = ci_action {delegate_ (const culture_info& c) {return string::join(", ", c.number_format().number_group_sizes());}};
1072- columns["number negative pattern"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().number_negative_pattern());}};
1073- columns["percent decimal digits"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().percent_decimal_digits());}};
1074- columns["percent decimal separator"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().percent_decimal_separator();}};
1075- columns["percent group separator"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().percent_group_separator();}};
1076- columns["percent group sizes"] = ci_action {delegate_ (const culture_info& c) {return string::join(", ", c.number_format().percent_group_sizes());}};
1077- columns["percent negative pattern"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().percent_negative_pattern());}};
1078- columns["percent positive pattern"] = ci_action {delegate_ (const culture_info& c) {return as<string>(c.number_format().percent_positive_pattern());}};
1079- columns["percent symbol"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().percent_symbol();}};
1080- columns["per mille symbol"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().per_mille_symbol();}};
1081- columns["positive infinity symbol"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().positive_infinity_symbol();}};
1082- columns["positive sign"] = ci_action {delegate_ (const culture_info& c) {return c.number_format().positive_sign();}};
1056+ columns["Name"] = ci_action {[] (const culture_info& c) {return c.name().empty() ? "**Invariant**" : c.name();}};
1057+ columns["currency decimal digits"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().currency_decimal_digits());}};
1058+ columns["currency decimal separator"] = ci_action {[] (const culture_info& c) {return c.number_format().currency_decimal_separator();}};
1059+ columns["currency group separator"] = ci_action {[] (const culture_info& c) {return c.number_format().currency_group_separator();}};
1060+ columns["currency group sizes"] = ci_action {[] (const culture_info& c) {return string::join(", ", c.number_format().currency_group_sizes());}};
1061+ columns["currency negative pattern"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().currency_negative_pattern());}};
1062+ columns["currency positive pattern"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().currency_positive_pattern());}};
1063+ columns["currency symbol"] = ci_action {[] (const culture_info& c) {return c.number_format().currency_symbol();}};
1064+ columns["digit substitution"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().digit_substitution());}};
1065+ columns["nan symbol"] = ci_action {[] (const culture_info& c) {return c.number_format().nan_symbol();}};
1066+ columns["negative infinity symbol"] = ci_action {[] (const culture_info& c) {return c.number_format().negative_infinity_symbol();}};
1067+ columns["negative sign"] = ci_action {[] (const culture_info& c) {return c.number_format().negative_sign();}};
1068+ columns["number decimal digits"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().number_decimal_digits());}};
1069+ columns["number decimal separator"] = ci_action {[] (const culture_info& c) {return c.number_format().number_decimal_separator();}};
1070+ columns["number group separator"] = ci_action {[] (const culture_info& c) {return c.number_format().number_group_separator();}};
1071+ columns["number group sizes"] = ci_action {[] (const culture_info& c) {return string::join(", ", c.number_format().number_group_sizes());}};
1072+ columns["number negative pattern"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().number_negative_pattern());}};
1073+ columns["percent decimal digits"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().percent_decimal_digits());}};
1074+ columns["percent decimal separator"] = ci_action {[] (const culture_info& c) {return c.number_format().percent_decimal_separator();}};
1075+ columns["percent group separator"] = ci_action {[] (const culture_info& c) {return c.number_format().percent_group_separator();}};
1076+ columns["percent group sizes"] = ci_action {[] (const culture_info& c) {return string::join(", ", c.number_format().percent_group_sizes());}};
1077+ columns["percent negative pattern"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().percent_negative_pattern());}};
1078+ columns["percent positive pattern"] = ci_action {[] (const culture_info& c) {return as<string>(c.number_format().percent_positive_pattern());}};
1079+ columns["percent symbol"] = ci_action {[] (const culture_info& c) {return c.number_format().percent_symbol();}};
1080+ columns["per mille symbol"] = ci_action {[] (const culture_info& c) {return c.number_format().per_mille_symbol();}};
1081+ columns["positive infinity symbol"] = ci_action {[] (const culture_info& c) {return c.number_format().positive_infinity_symbol();}};
1082+ columns["positive sign"] = ci_action {[] (const culture_info& c) {return c.number_format().positive_sign();}};
10831083
10841084 auto content = string_builder {};
10851085 content.append_line("# Number formats supported by xtd\n");
10861086 content.append_format("| {} |\n", string::join(" | ", columns.keys()));
1087- content.append_format("| {} |\n", string::join(" | ", columns.keys().select(delegate_ (auto v) {return string('-', v.length());})));
1088- auto escape_md = delegate_ (const string & s) {return s.aggregate<string>( "", delegate_ (const string& result , const char & c) {return result + (c == '|' ? "\\| " : as<string>(c)) ;});};
1089- culture_info::get_cultures(culture_types::all_cultures).to_list().for_each(delegate_ (auto c) {content.append_format("| {} |\n", string::join(" | ", columns.values().select<string>(delegate_ (auto v) {return escape_md(v(c));})));});
1087+ content.append_format("| {} |\n", string::join(" | ", columns.keys().select([] (auto v) {return string('-', v.length());})));
1088+ auto escape_md = [] (const u32string & s) {return s.aggregate<u32string>(U "", [] (const u32string& r , const char32 & c) {return r + (c == U '|' ? U "\\" : U"") + c ;});};
1089+ culture_info::get_cultures(culture_types::all_cultures).to_list().for_each([&] (auto c) {content.append_format("| {} |\n", string::join(" | ", columns.values().select<string>([&] (auto v) {return escape_md(v(c).to_u32string()).to_string( );})));});
10901090 file::write_all_text("number_formats.md", content.to_string());
10911091 console::write_line("Markdown table generated in number_formats.md");
10921092}
0 commit comments