2009-11-23 63 views

回答

2

有很多。最受欢迎的是Java(请参阅此处的另一个答案,Java Unicode variable names)。 Python 3还支持标识符名称中的unicode字母。

3

当然C#,我相信的java

using משליט = System.Object; 
using תוצאה = System.Int32; 
public class שלום : משליט { 
    public תוצאה בית() { 
     int אלף = 0; 
     for (int λ = 0; λ < 20; λ++) אלף+=λ; 
     return אלף; 
    } 
} 
+1

但不建议使用smth。像这样在一个国际项目:) – psihodelia 2009-11-23 21:53:24

+0

Java绝对允许(不想编辑你的帖子,这并不真正感觉像一个“修复”给我)。 – 2009-11-23 21:54:17

+3

顺便说一下,我总是发现Unicode支持终于被广泛使用,但从来没有使用它(尽管德语是我的母语,我的代码通常只有英文版)。但我从未想过LTR脚本在编程代码中的含义。当语言及其关键字是RTL且标识符不是(甚至更糟糕:它们是混合的)时,它肯定会破坏文本流。上面的int变量定义为'int 0 = ;'对我来说,这看起来......非常非常奇怪。但是,对于习惯于该脚本的人来说,这看起来很正常。 – 2009-11-23 21:59:06

3

即使C++呢!这里的清单真的很大。

虽然我认为Unicode对于声称不区分大小写的语言来说是地狱。陈述Σ = 0后,下列哪项陈述属实? ς == 0σ == 0?并假设这将是最后一次,这是否意味着σ = 0声明暗示ς == 0? (Σ是希腊大写的西格玛;ς和σ是它的两个小写字母)。

+2

这就是为什么从编码的角度来看,不区分大小写常常不是一个好主意的原因之一;如果你将每个代码点视为不同的话,那就很好。除此之外,尝试建立等价映射有趣::-) – 2009-12-02 11:49:42

+0

是的,你需要一个字符之间的transistive对称反射关系。 – MSalters 2009-12-02 13:27:53

+0

@Andrzej:但另一个极端是*太*区分大小写,就像Haskell一样! Haskell假设不同的情况被用于不同目的的标识符(名称空间),并且这 - 作为[聪明地在一个答案中指出](http://stackoverflow.com/questions/5517412/where-is-it-specified-whether -unicode-identifiers-should-be-allowed-in-a-haskell/5517639#5517639) - 如果用于他的语言的书写系统是unicase的话,将防止用户用他最喜欢的自然语言完全编写一个带有id的程序,尽管名义上Haskell支持Unicode标识符。 – 2011-04-04 00:04:18

相关问题