所以我有一些使用Jakarta HttpClient的Java代码:
URI aURI = new URI( "http://host/index.php?title=" + title + "&action=edit" );
GetMethod aRequest = new GetMethod( aURI.getEscapedPathQuery());
Run Code Online (Sandbox Code Playgroud)
问题是如果title包含任何&符号(&),它们被认为是参数分隔符,请求变得棘手......如果我用URL转义的等价物替换它们%26,那么getEscapedPathQuery()会将其双重转义%2526.
我目前正在通过基本修复损坏来解决这个问题:
URI aURI = new URI( "http://host/index.php?title=" + title.replace("&", "%26") + "&action=edit" );
GetMethod aRequest = new GetMethod( aURI.getEscapedPathQuery().replace("%2526", "%26"));
Run Code Online (Sandbox Code Playgroud)
但是必须有一个更好的方法来做到这一点,对吧?请注意,标题可以包含任意数量的不可预测的UTF-8字符等,因此必须转义其他所有字符.
我试过这个:
....
vector<players*> player;
for (int i = 0; i<10; i++)
{
player.push_back(new players());
}
...
Run Code Online (Sandbox Code Playgroud)
我想知道我是否需要为矢量释放内存?如果是这样,怎么样?
我想知道如何在C++中实现一个集合.如果我在不使用STL提供的容器的情况下实现自己的set容器,那么最好的方法是什么呢?
我理解STL集基于二叉搜索树的抽象数据结构.那么底层数据结构是什么?数组?
另外,如何insert()为一组工作?set如何检查元素是否已经存在?
我在维基百科上读到,实现集合的另一种方法是使用哈希表.这怎么样?
我有一个POCO域模型,它使用新的ObjectContext类连接到实体框架.
public class Product
{
private ICollection<Photo> _photos;
public Product()
{
_photos = new Collection<Photo>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual IEnumerable<Photo> Photos
{
get
{
return _photos;
}
}
public void AddPhoto(Photo photo)
{
//Some biz logic
//...
_photos.Add(photo);
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我已经将Photos集合类型设置为IEnumerable,因为这将使它只读.添加/删除照片的唯一方法是通过公共方法.
这样做的问题是实体框架无法将Photo实体加载到IEnumerable集合中,因为它不是ICollection类型.
通过将类型更改为ICollection将允许调用者调用集合本身的Add mentod,这是不好的.
我有什么选择?
编辑:
我可以重构代码,因此它不会公开Photos的公共属性:
public class Product
{
public Product()
{
Photos = new Collection<Photo>();
}
public int Id { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我想用C++评估一个表达式.为了评估它,我希望表达式转换为前缀格式.
这是一个例子
wstring expression = "Feature1 And Feature2";
Run Code Online (Sandbox Code Playgroud)
这是可能的方法.
expression = "Feature1 And (Feature2 Or Feature3)";
expression = "Not Feature1 Or Feature3";
Run Code Online (Sandbox Code Playgroud)
这里和,或者,不是保留字和括号(" ( ",))用于范围
没有更高的优先权
并设置为Not的优先级
或者设置为And的下一个优先级
WHITE SPACE用于分隔符.Expression 没有其他元素,如TAB,NEWLINE
我并不需要算术表达式.我可以做评估,但有人可以帮助我将字符串转换为前缀表示法吗?
我有一个Post班级和一个Comment班级。我有一个 post 对象,想将它转换为 Comment 对象。我浏览了 Rails api,发现变成了(klass)。现在,帖子和评论之间没有关联。所以我试过了
@post.becomes(Comment)
Run Code Online (Sandbox Code Playgroud)
但是找不到@post对象的变成方法。我错过了什么吗?
我一直在尝试安装Haskell平台,并cabal-install在没有安装GNU Multi-Precision软件包(GMP)的系统上在用户空间的Linux上安装.
我设法安装了GHC-6.12.1并且GHCi通过设置LB_LIBRARY_PATH指向我安装GMP的lib目录cabal-install来工作,但是在下一步遇到问题,开始工作.它一直试图(静态地)链接到GMP.
这失败是因为GMP没有安装在系统中并且ld没有找到库的位置,并且没有环境变量(我知道)可以告诉ld在哪里可以找到用户安装的GMP,以及(显然)没有办法告诉配置Cabal提供相关-L标志.
经过多次徒劳无功的搜索和黑客攻击后,我找到了一个荒谬的简单想法,即安装我自己的ldshell脚本,调用ld具有相应-L标志的系统.
这是shell脚本101,当然:
#!/bin/sh
/usr/bin/ld -L$HOME/gnu/lib "$@"
Run Code Online (Sandbox Code Playgroud)
有了这个脚本安装在我PATH之前的目录中/usr/bin所有的问题似乎已经消失了.
我正在编写一些评论过的PHP类,我偶然发现了一个问题.我的名字(对于@author标签)最终得到一个?(这是一个UTF-8字符,......和一个奇怪的名字,我知道).
即使我将文件保存为UTF-8,一些朋友报告说他们看到这个角色完全搞砸了(È™).添加BOM签名会消除此问题.但是这件事让我感到很麻烦,因为我不太了解它,除了我在维基百科上看到的以及其他一些类似的问题.
我知道它在文件的开头添加了一些东西,从我的理解它并没有那么糟糕,但我很担心,因为我读到的唯一有问题的场景涉及PHP文件.因为我正在编写PHP类来共享它们,所以100%兼容比在评论中使用我的名字更重要.
但我试图理解其含义,我应该使用它而不用担心吗?或者是否有可能造成损害的情况?什么时候?
我需要通过一些变量来总结数据框,忽略其他变量.这有时被称为崩溃.例如,如果我有这样的数据帧:
Widget Type Energy
egg 1 20
egg 2 30
jap 3 50
jap 1 60
Run Code Online (Sandbox Code Playgroud)
然后由Widget折叠,使用Energy的因变量Energy~Widget会产生
Widget Energy
egg 25
jap 55
Run Code Online (Sandbox Code Playgroud)
在Excel中,最接近的功能可能是"数据透视表",我已经研究了如何在python中实现它(http://alexholcombe.wordpress.com/2009/01/26/summarizing-data-by-combinations-of-变量 -with -python /),这是R使用doBy库做一些非常相关的事情的例子(http://www.mail-archive.com/r-help@r-project.org/msg02643.html),但有一个简单的方法来做到这一点?甚至更好的是ggplot2库中是否有任何内容可以创建在某些变量中崩溃的图?
我想用一个简单的按钮来创建一个页面,当他试图点击它时,它会远离用户.我们称之为Run away按钮?
是否有一个简单的'jQuery'代码段允许我这样做?
此致,Karan Misra