我最近了解到,Java源代码中的Unicode不仅可以作为Unicode字符(例如double ? = Math.PI;
),还可以作为转义序列(例如double \u03C0 = Math.PI;
).
第一个变体对我有意义 - 它允许程序员用他们选择的国际语言命名变量和方法.但是,我没有看到第二种方法的任何实际应用.
以下是一些用于说明用法的代码,使用Java SE 6和NetBeans 6.9.1进行了测试:
此代码将打印出3.141592653589793
public static void main(String[] args) {
double ? = Math.PI;
System.out.println(\u03C0);
}
Run Code Online (Sandbox Code Playgroud)
说明:π和\ u03C0是相同的Unicode字符
此代码不会打印任何内容
public static void main(String[] args) {
double ? = Math.PI; /\u002A
System.out.println(?);
/* a comment */
}
Run Code Online (Sandbox Code Playgroud)
说明:上面的代码实际编码:
public static void main(String[] args) {
double ? = Math.PI; /*
System.out.println(?);
/* a comment */
}
Run Code Online (Sandbox Code Playgroud)
哪个评论打印出来的声明.
仅从我的示例中,我注意到此语言功能存在许多潜在问题.
首先,一个糟糕的程序员可以使用它来秘密注释掉一些代码,或创建多种识别相同变量的方法.也许还有其他可怕的事情可以做,我没有想过.
其次,IDE之间似乎缺乏支持.NetBeans和Eclipse都没有为示例提供正确的代码突出显示.实际上,NetBeans甚至标记了语法错误(尽管编译不是问题).
最后,此功能的记录很少,并且不被普遍接受.为什么程序员会在他的代码中使用其他程序员无法识别和理解的东西?事实上,我甚至在Hidden Java Features问题上找不到这个. …
我对学习F#很感兴趣.
我在函数式语言方面的唯一经验是在大学里开设了两门关于Scheme的入门课程.
在学习F#之前,我是否应该记住任何事情?方法,陷阱或其他可能给我带来麻烦的事情有何不同?
嘿大家.这看起来很容易,但由于某种原因,我很难将它拼凑在一起.我想创建一个动画"淡入"效果,其中div从0不透明度变为50%不透明度,并停止.
据我所理解:
var duration = 1000;
$('#mydiv').fadeIn(duration);
Run Code Online (Sandbox Code Playgroud)
将div淡化为100%,没有选择限制它.
是否有一种优雅的方式来设置整理不透明度?
我理解内容应该与表示分开,但有时为了设计而添加HTML元素是不可避免的.通常我会使用div,但这是最好的方法吗?
什么是保持语义无意义设计的最佳HTML元素(没有文字,图像,徽标等......)?