Scala的新手,但是在C++方面经验丰富我试图在sqlite4java库之上实现(可能被误导)一个小型库,允许我从查询行(列类型各自与之兼容的行)中自动填充abritrary类型的元组相应的元组元素类型).
在C++中,我通常使用boost :: tuples和编译时模板递归来实现它(使用模板特化终止,如下所示).Boost元组的实现与Haskell HLists非常相似.模式将是(假设为简单起见,查询作为字符串向量返回):
template<typename T1, typename T2>
void populateTuple( boost::tuples::cons<T1, T2>& tupleRec, int index, const std::vector<std::string>& vals )
{
tupleRec.head = boost::lexical_cast<T1>( vals[index] );
populateTuple( tupleRec.tail, index+1, vals );
}
template<typename T>
void populateTuple( boost::tuples::cons<T, boost::tuples::null_type>& tupleRec, int index, const std::vector<std::string>& vals )
{
tupleRec.head = boost::lexical_cast<T>( vals[index] );
}
Run Code Online (Sandbox Code Playgroud)
(道歉 - 我没有通过编译器运行上面的内容,但我希望它显示我的意思)
我希望能够用Scala做类似的事情.我可以通过Product trait递归一般的Tuple类型 - 并使用模式匹配(对于我支持的少量列类型)在运行时获取每个元素的类型.但是我还没有找到通过产品特性分配元组元素的方法.说实话,我不相信这是一种特别好的或惯用的方式来做我需要的.
但是像这样:
val returnedFromQuery = List[String]( "Hello", "4", "6.0" )
val rowAsTuples = interpretListAsTuple[(String, Int, Float)]( returnedFromQuery )
Run Code Online (Sandbox Code Playgroud)
其中rowAsTuples具有类型(String,Int,Float).再次请原谅任何语法错误.
有人有什么想法?还是另类建议?事先 - 我对任何更高级别的SQL查询库都不感兴趣.我对sqlite4java很满意,但想用一个简单的更抽象的界面来包装它.
刚刚安装了Eclipse Helios(Win7 64),我遇到了一个奇怪的问题.我键入syso-Ctrl-Space,它应该完成到System.out.println(""),但它不起作用!我在网上搜索了大约一个小时,我将Preferences> Java> Editor> Content Assist设置为默认值,没有.其他一切似乎都有效.想法?
要明确:快捷方式有效,它完成除了目前为止看到的"syso"之外的所有内容,在syso(也尝试过sysout)上它显示"No Default Proposals".我在内容辅助中找不到这种快捷方式,但无论如何我都将它们设置为默认值.
我正在使用内置帐户系统(使用AccountManager API)为Android应用程序实现登录系统.
在Android 2.2+上一切都很好,但在Android 2.1上不包括SyncAdapter导致在帐户设置屏幕中重新启动(请参阅http://code.google.com/p/android/issues/detail?id=5009和AccountManager没有SyncAdapter?)
为了解决这个问题,我实现了一个存根SyncAdapter,它只是null从中返回IBinder onBind(Intent intent),并将相关内容添加到清单中.这解决了Android 2.1上的重启问题.
然而,它引入了另一个问题:添加帐户后,Android系统稍后会启动帐户同步.虽然没有发生错误(事实上我的SyncAdapter什么都不做,但除非通过返回null,否则无法导致错误),同步图标仍然卡在顶部的通知栏中.这导致Android同步系统保持永久唤醒锁定,防止设备休眠.
该帐户未在帐户设置屏幕中列出任何可同步组件(在"数据和同步"标题下),并且始终在帐户列表中显示"同步已关闭"同步状态(即使同步图标在通知栏).禁用帐户同步不会消除此问题.删除帐户可以解决问题.
我的猜测是我不应该返回null.我应该返回ThreadedSyncAdapter的基本实现吗?任何帮助获得帐户系统没有关联同步在2.1和2.2+上正常工作非常感谢.
android user-accounts accountmanager android-syncadapter android-wake-lock
我正在尝试重新熟悉Eclipse环境和ant集成.
问题是:如何保持我的源dir + build.xml与工作区分开?
我所拥有的是一个小型java项目及其build.xml文件,其中所有源都放在一个单独的项目文件夹下.然后我启动Eclipse并让它通过New Project导入我的项目 - >"现有Ant Build File中的Java项目"
一切顺利,直到我想使用build.xml从Eclipse内部构建项目.Ant开始抱怨无法找到源树.在我检查工作区后,我发现Eclipse已将build.xml复制到工作区中,因此很明显,ant无法在那里找到任何源代码.他们仍然在我的项目总监之下,如果可能的话,我确实想让他们留在那里.
那么最好的方法是什么让这个设置工作?一边是工作区,另一边是我的项目?
谢谢!
编辑:我想要的甚至可能吗?
我想在MigraDoc文档的标题中添加一个图像,但是在文档生成中硬编码文件系统路径对于许多问题来说有点问题 - 其中最重要的是它让我有点不安,但也,保持部署简单(r).
如果我可以将图像作为资源嵌入到程序集中,并且只是在PDF需要时提取它,那么在我看来这是理想的,但似乎没有任何简单或内置的方法来执行此操作.任何技巧或想法?
简单的问题,真的.
我的朋友和我正在仔细阅读下一学期应该听到的教授的Powerpoint幻灯片.这将是一门Java课程.出于某种原因,他有这个C++代码片段
#include <iostream.h>
main ()
{ cout << "Hello, World\n"; }
Run Code Online (Sandbox Code Playgroud)
我已经告诉我的朋友,"不,这不适用于任何现代C++编译器."
我现在的问题是,这可以编译吗?
我使用的是opencv的CvPoint2D32f结构,定义为
typedef struct CvPoint2D32f
{
float x; /* x-coordinate, usually zero-based */
float y; /* y-coordinate, usually zero-based */
}
CvPoint2D32f;
Run Code Online (Sandbox Code Playgroud)
我试图按如下方式分配这些对象的指针数组,但它无法正常工作.这是如何实现的?
CvPoint2D32f *cvpoints[8];
for (i = 0; i < 16; i++)
{
if (i % 2 == 0)
{
(*cvpoints)[i/2].x = float(points[i]); // points is an array of ints.
}
else
{
(*cvpoints)[i/2].y = float(points[i]);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个小服务器服务,以便通过Web浏览器将文件上传到我的iOS应用程序.以下应用程序中实现了此功能的一个示例:
http://itunes.apple.com/uy/app/files-document-reader/id294150896?mt=8
似乎很简单,但不知道从哪里开始.我一直在寻找关于这种实现的线索或一些示例代码没有成功,但可能只是不知道如何正确地谷歌问题.
任何线索,指南,链接等......?
提前致谢
我有一个richtextbox,当我离开它时,例如去另一个我要操纵所选文本的面板,我再也看不到所选文本了.有没有办法让它仍然显示亮点?
我对Watir比较新,但是找不到关于如何检查元素是否存在的好文档(示例).当然有API规范,但如果我找不到一个例子,这些对我来说没什么意义.
我尝试了两种组合,但似乎没有任何效果...如果browser.image(:src"/media/images/icons/reviewertools/editreview.jpg").exists那么...如果browser.image(:src" /media/images/icons/reviewertools/editreview.jpg").exists?然后...
如果有人对如何实现这一点有具体建议,请帮忙!谢谢!