问题列表 - 第37579页

从目标c中的数组中删除重复项

我有一个包含自定义对象的数组.每个数组项都有一个名为"name"的字段.现在我想根据此名称值删除重复的条目.

我应该如何实现这一目标.

提前致谢.

unique objective-c nsarray

12
推荐指数
3
解决办法
2万
查看次数

使用BeautifulSoup解析文档而不解析<code>标记的内容

我正在和Django一起写博客应用程序.我想让评论编写者使用一些标签(比如<strong>,a等等)但禁用所有其他标签.

另外,我想让他们把代码放在<code>标签中,并让pygments解析它们.

例如,有人可能会写这个评论:

I like this article, but the third code example <em>could have been simpler</em>:

<code lang="c">
#include <stdbool.h>
#include <stdio.h>

int main()
{
    printf("Hello World\n");
}
</code>
Run Code Online (Sandbox Code Playgroud)

问题是,当我使用BeautifulSoup解析注释以去除不允许的HTML标记时,它还会解析<code>块的内部,并将<stdbool.h>和<stdio.h>视为HTML标记.

我怎么能告诉BeautifulSoup不要解析<code>块?也许还有其他HTML解析器更适合这份工作?

html python django beautifulsoup pygments

10
推荐指数
1
解决办法
1528
查看次数

为什么Web套接字不使用SOAP?

首先,我打算没有敌意也不打算,只想知道别人的想法.我正在研究客户端和服务器之间的双向通信; 客户端是一个Web应用程序.在这一点上,我有几个选择:MS专有的双工绑定,从我听到的不可靠和不自然:彗星和网络套接字(对于支持的浏览器).

我知道这个问题在其他方面已经被问过,但我对这个方法有一个更具体的问题.考虑到Web套接字是客户端的,客户端代码位于JavaScript中.是否真的打算直接在JavaScript中构建一大块应用程序?为什么W3C在Web服务中没有这样做?如果我们能够使用SOAP提供合同并定义事件以及涉及的现有消息传递,那会不会更容易?到目前为止,感觉就像棒子的短端.

为什么不简单地利用JS动态特性并将大量代码留在它所属的位置....在服务器上?

代替

mysocket.send("AFunction|withparameters|segmented");
Run Code Online (Sandbox Code Playgroud)

我们可以说

myServerObject.AFunction("that", "makessense");
Run Code Online (Sandbox Code Playgroud)

而不是

...
mysocket.onmessage = function() { alert("yay! an ambiguous message"); }
...
Run Code Online (Sandbox Code Playgroud)

我们可以说

...
myServerObject.MeaningfulEvent = function(realData) { alert("Since I have realistic data....");  alert("Hello " + realData.FullName); }
...
Run Code Online (Sandbox Code Playgroud)

HTML 5永远占据了......我们是否在错误的方向上浪费了大量的精力?思考?

html5 soap websocket

7
推荐指数
1
解决办法
9968
查看次数


OO设计和循环依赖

在设计我的类时,我目前正在努力解决循环依赖问题.

自从我读到有关贫血领域模型(我一直在做的事情)以来,我一直在努力摆脱创建只是"吸气剂和孵化器"的域对象并回到我的OO根源.

但是,下面的问题是我经常遇到的问题,我不确定应该如何解决它.

假设我们有一个Team类,有很多玩家.这是什么运动并不重要:)球队可以添加和删除球员,就像球员离开球队并加入另一支球队一样.

所以我们有一个团队,其中有一个玩家列表:

public class Team {

    private List<Player> players;

    // snip.

    public void removePlayer(Player player) {
        players.remove(player);
        // Do other admin work when a player leaves
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我们有了Player,它引用了Team:

public class Player {
    private Team team;

    public void leaveTeam() {
        team = null;
        // Do some more player stuff...
    }
}
Run Code Online (Sandbox Code Playgroud)

可以假设这两种方法(删除和离开)都具有特定于域的逻辑,只要团队移除玩家并且玩家离开团队就需要运行这些逻辑.因此,我首先想到的是当一个团队踢一个玩家时,removePlayer(...)也应该调用player.leaveTeam()方法......

但是如果玩家正在推动出发 - 如果leaveTeam()方法调用team.removePlayer(this)该怎么办?不是没有创造无限循环!

在过去,我刚刚将这些对象设为"哑"POJO,并让服务层完成工作.但即使是现在我仍然存在这个问题:为了避免循环依赖,服务层仍然将它们连接在一起 - 即

public class SomeService {

    public void leave(Player player, …
Run Code Online (Sandbox Code Playgroud)

java oop circular-dependency

19
推荐指数
2
解决办法
3438
查看次数

C++静态属性

我在访问类中的静态属性时遇到问题.我收到以下错误:

shape.obj : error LNK2001: unresolved external symbol "public: static class TCollection<class Shape *> Shape::shapes"

该类的定义是:

class Shape {

public:
    static Collection<Shape*> shapes;

    static void get_all_instances(Collection<Shape*> &list);
};
Run Code Online (Sandbox Code Playgroud)

并且静态方法的实现是:

void Shape::get_all_instances(Collection<Shape*> &list) {
    list = Shape::shapes;
}
Run Code Online (Sandbox Code Playgroud)

似乎shapes财产没有被初始化.

c++ static properties

6
推荐指数
3
解决办法
7048
查看次数

自上而下的解析器希望在"代码"中有正确的案例示例左递归

你好伙伴堆栈流量成员.

我正在学习编译器类.我确实理解Top-Down Parser应该避免左递归,并转换为右递归方式.

问题是,

a)我理解正确的自上而下的解析器等于LL而自下而上的解析器等于LR?

b)我发现左递归是规则,自称为ex)Expr:== Expr'+'Term | 可能导致无限循环查找Expr的术语.但无论如何,在C或Java中考虑输入的任何示例代码?(我不想要解析器或扫描器代码)我需要的是具有句子形式的案例代码示例,它通过左递归发生无限循环.

c)在自上而下的解析器中使用右递归的方式实际上有什么不同?

ANS c)无需回溯.还有别的吗?

ANS b)x - 2 * y还有其他什么?因为这个用回溯方式解析.

我已经找到了非左递归和左递归的案例.

左递归语法

A -> Ax
Run Code Online (Sandbox Code Playgroud)

非左递归语法

A -> Bx
B -> Ay
Run Code Online (Sandbox Code Playgroud)

两者都进入无限循环.

谢谢你,感谢所有专家.

compiler-construction compiler-theory parser-generator ll-grammar

5
推荐指数
1
解决办法
2024
查看次数

Jquery:检测是否单击了鼠标中键或右键,如果是,请执行以下操作:

看看我的jsfiddle 演示,如果e.which == 1那样当你左键单击h2它会 e.which == 2e.which == 3然后它不会工作.2是鼠标中键,3是鼠标右键.我也发现了这个:

JQuery提供了一个e.which属性,分别为左,中,右三次返回1,2,3.所以你也可以使用if(e.which == 3){alert("right click"); }

此代码无效:

码:

    $("h2").live('click', function(e) { 
   if( e.which == 2 ) {
      e.preventDefault();
      alert("middle button"); 
   }
});
Run Code Online (Sandbox Code Playgroud)

jquery click keycode live right-mouse-button

13
推荐指数
1
解决办法
2万
查看次数

CS0019运算符不能应用于'bool'和'int'类型的操作数

该计划是对作业的回应:

"创建一个名为Sum()accept 的方法,接受任意数量的整数参数并显示它们的总和.编写一个Main()方法,证明该Sum()方法在传递一个,三个,五个或十个整数数组时正常工作.将程序保存为UsingSum.cs."

来自Microsoft®VisualC#®2008,面向对象编程简介,3e,Joyce Farrell

我在"//步骤1:"部分中的代码是获取CS0019错误,该错误表明它不能应用于类型bool和的操作数int.

我非常怀疑这个代码还有其他问题,但它比我四小时前的情况有了很大改进......

using System;

public class UsingSum
{
    public static void Main()
    {
        Sum();
    }

    public static void Sum() 
    { 
       // Step 1: Addition of one, three, five
       bool q, r, s;
       int firstTotal, n, o, p;
       string k, l, m;

       Console.Write("Type the number 1: ");    
       k = Console.ReadLine();

       n = Convert.ToInt32(k);
       q = Convert.ToBoolean(k);

       Console.WriteLine();

       if (q == 1)
           Console.WriteLine("Input accepted."); …
Run Code Online (Sandbox Code Playgroud)

c# boolean operands

5
推荐指数
2
解决办法
7万
查看次数

在C#3.5中向下转换泛型类型

为什么我只能转发一个通用而不是垂头丧气呢?
如果我的约束表明where T : BaseClass并且U是从BaseClass派生的,那么编译器如何不清楚(U)objectOfTypeT

.net c# generics downcast

4
推荐指数
1
解决办法
926
查看次数