我正在设计模板/泛型的语法。 C++家族语言为此使用尖括号,但我正在使用分隔符来代替。例如,在Java中,你可能会这样写:模板/通用语法字符
Map<String, Foo> foos = new HashMap<String, Foo>();
我的目标:
.foos = hmap*string*foo
我试图决定的分隔符是什么;它不能从字面上看成*,因为它已经用于乘法运算(不是我不能重载它,但优先级是错误的)。纵观可用字符,某些选项
.foos = hmap!string!foo
.foos = hmap$string$foo
.foos = hmap?string?foo
.foos = hmap^string^foo
.foos = hmap`string`foo
.foos = hmap|string|foo
.foos = hmap~string~foo
,因为这是一定程度上的审美问题,我想我会采取投票:你最喜欢哪个选项?还有另外一种选择是否可取? (像往常这样的问题,如果你的答案已经发布,请upvote而不是复制。)
另外,在标准的美国键盘上,`未被移位,其他每个都需要shift键。国际键盘有什么不同?有没有任何上述候选人特别容易或难以打字的键盘布局?
(由于这是没有一个唯一正确的答案的问题,它应该是一个社会维基?)
我相信d使用'(参数)'! – 2010-03-05 15:59:16
所以它。也许我应该使用!并遵循先例,那么? (我必须使用明确的标记字符来消除对象创建的歧义,而且我不能使用尖括号,因为它们在比较运算符方面会含糊不清)。 – rwallace 2010-03-05 16:11:21
@rwallace:你想创建什么样的语法?当然,你可以在不同的环境中使用相同的符号。 – Dario 2010-03-05 16:31:37