我写了以下Perl脚本.但是,它不会打印"1".我做了一些研究,似乎是因为IEEE表示浮点数.那么,有没有更好的方法来比较Perl中的浮点数?
for (my $tmp = 0.1; $tmp <= 1; $tmp+=0.05){print $tmp."\n"}
Run Code Online (Sandbox Code Playgroud)
输出:
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
Run Code Online (Sandbox Code Playgroud) 就在今天,我需要一种在不同对象之间传递函数的方法.我很快就知道你不能直接用Java做到这一点,但是你可以传递一个显然被称为"匿名内部类"的wht实例,如下所示:
要定义类:
interface MyCallback {
public int execute(int i1, int i2);
}
Run Code Online (Sandbox Code Playgroud)
要创建它的实例:
MyCallback callback = new MyCallback() {
public int execute(int i1, int i2) {
return i1 + i2;
}
};
Run Code Online (Sandbox Code Playgroud)
并称之为:
int sum = callback.execute(1, 2); // Sets sum to 3.
Run Code Online (Sandbox Code Playgroud)
很简单.但我不明白为什么它被称为"匿名".我不是只给它起名字MyCallback吗?一个被命名的东西不能匿名,对吗?请帮助我摆脱对这个术语的困惑.
我有一个NSDecimalNumber和一个NSInteger.我想将前者乘以后者,所以我必须转换整数.这是我在经过一些试验和错误后想出来的.
NSDecimalNumber *factor = (NSDecimalNumber*) [NSDecimalNumber numberWithInteger:myInteger];
Run Code Online (Sandbox Code Playgroud)
感觉就像我真正开车回家一样:
它应该是这个冗长吗?还是我搞砸了?