我注意到C#编译器浮动舍入/截断有趣的行为.也就是说,当浮点字面值超出保证的可表示范围(7个十进制数字)时,则a)显式地将float结果转换为float(语义上不必要的操作)和b)将中间计算结果存储在局部变量中都会改变输出.一个例子:
using System;
class Program
{
static void Main()
{
float f = 2.0499999f;
var a = f * 100f;
var b = (int) (f * 100f);
var c = (int) (float) (f * 100f);
var d = (int) a;
var e = (int) (float) a;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
205
204
205
205
205
Run Code Online (Sandbox Code Playgroud)
在我的计算机上的JITted调试版本中,b的计算方法如下:
var b = (int) (f * 100f);
0000005a fld dword ptr [ebp-3Ch]
0000005d fmul dword ptr ds:[035E1648h]
00000063 fstp qword …Run Code Online (Sandbox Code Playgroud) 我似乎无法弄清楚如何找到与SOLR的子串匹配,我已经找到了基于前缀的匹配,所以我可以得到火腿匹配汉堡包.
如何搜索"汉堡"以匹配汉堡包?我尝试过汉堡但是这个错误'*'或'?' 不允许作为WildcardQuery中的第一个字符.
如何使用SOLR匹配子串?
问候.
我的任务是调试涉及正则表达式的应用程序的一部分 - 但是,我之前从未处理过Regex.两个问题:
1)我知道正则表达式应该测试两个字符串是否相同,但下面的两个正则表达式具体用什么来表示普通英语?
2)有没有人对我可以了解更多有关正则表达式的网站/来源有什么建议?(最好是在C#中)
if (Regex.IsMatch(testString, @"^(\s*?)(" + tag + @")(\s*?),", RegexOptions.IgnoreCase))
{
result = true;
}
else if (Regex.IsMatch(testString, @",(\s*?)(" + tag + @")(\s*?),", RegexOptions.IgnoreCase))
{
result = true;
}
Run Code Online (Sandbox Code Playgroud) 我找到了一个页面(http://itunes.apple.com/linkmaker)来获取特定页面的iTunes网址,我认为应该将用户从我的应用程序中导出并进入应用程序商店中的相应页面.
我从来没有做过这个或任何其他UIWebView的东西,但经过一些搜索,我发现了一些我认为可以使用UIApplication.h的代码.
我的代码是:
#import <UIApplication.h>
//...in a tableView....
case 8:
- (BOOL)openURL:(NSURL *) http://itunes.apple.com/us/app/lockbox-pro/id288460603?mt=8&uo=4;
break;
Run Code Online (Sandbox Code Playgroud)
openURL有一个错误,说它是未声明的 - 但我导入了UIApplication.h文件.然后我看到UIApplication导入也有错误.我不认为我想使用UIWebView,因为根据我的理解,这会打开应用程序本身的URL - 我想将用户引导到App Store.我哪里错了?
编辑:好的,我把它改成了一个简单的按钮,它应该关闭应用程序并将用户带到itunes页面:
- (IBAction) pressedFull {
[[UIApplication sharedApplication] openURL:[NSURL urlWithString:@"http://www.google.com"]];
Run Code Online (Sandbox Code Playgroud)
}
我在IB中将其链接 - 当用户点击它时,它仍然会崩溃应用程序.
如何使复数/单数词代表所有形式?
示例:如果某人搜索“男士戒指”,我如何检查数据库以查看是否有任何字段包含“男士”,“男士”,“男士”,“戒指”,“戒指”等?
我一直在使用http://compass-style.org/的指南针管理我的网站css很长一段时间.我刚刚安装了最新版本,我得到一个相当不愉快的错误,因为副作用损坏了我所有的css文件.如何降级到旧版本?
谢谢,马特
当我运行或在标签中时,多路复用日志将每个任务的输出混合在一起.我想要更容易阅读/ grokked的东西.
我尝试了以下方法,它们总比没有好,但仍然不是我想要的.以下回显了日志末尾的非交错日志输出,但它还首先具有两个任务的组合和混合输出.
有没有办法我可以告诉ant ONLY输出到有问题的文件,不要将日志输出冒泡到调用者?
<parallel>
<ant target="task1" output=${log.dir}/task1.log"/>
<ant target="task2" output=${log.dir}/task2.log"/>
</parallel>
<loadfile property="task1" srcfile="${log.dir}/task1.log"/>
<loadfile property="task2" srcfile="${log.dir}/task2.log"/>
<echo>Results:
Task1: ${task1}
---
Task2: ${task2}
</echo>
Run Code Online (Sandbox Code Playgroud) 我正在尝试这样的事情:
Foo & operator=(Foo & to, const Bar &from);
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
E2239 'operator =(Foo &, const Bar &)' must be a member function
Run Code Online (Sandbox Code Playgroud)
操作员可以/不能被定义为自由函数是否有限制?如果是,为什么?
我是Lua的新手并且一般都在编写绑定.目前我只是想编译这里找到的第一个例子(功能更新为Lua 5.1).
#include <stdio.h>
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
/* the Lua interpreter */
lua_State* L;
int main ( int argc, char *argv[] )
{
/* initialize Lua */
L = luaL_newstate();
/* load various Lua libraries */
luaL_openlibs(L);
luaopen_table(L);
luaopen_io(L);
luaopen_string(L);
luaopen_math(L);
/* cleanup Lua */
lua_close(L);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我使用gcc -o init init.c -Wall -I/usr/local/include -L/usr/local/lib -llua -lliblua进行编译时出现以下错误:
.../../i486-pc-linux-gnu/bin/ld:找不到-lliblua
collect2:ld返回1退出状态
文件liblua.a在/ usr/local/lib中,但由于某种原因,编译器找不到它?我究竟做错了什么?