小编dda*_*daa的帖子

检查Django模板中数组中的元素数

我想看看我的Django模板中数组中的元素数是否大于1.我可以使用以下语法来做到这一点吗?

{% if {{myarr|length}} > 1 %}
<!-- printing some html here -->
{% endif %}
Run Code Online (Sandbox Code Playgroud)

谢谢

django

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

确定是否传递了命名参数

我想知道是否可以确定是否在Python中传递了具有默认值的函数参数.例如,dict.pop是如何工作的?

>>> {}.pop('test')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'pop(): dictionary is empty'
>>> {}.pop('test',None)
>>> {}.pop('test',3)
3
>>> {}.pop('test',NotImplemented)
NotImplemented
Run Code Online (Sandbox Code Playgroud)

pop方法如何确定第一次没有传递默认返回值?这是否只能在C中完成?

谢谢

python default-value named-parameters

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

OOP:何时创建派生类,何时实现带条件的功能?

我什么时候应该继续创建派生类,何时应该在我的代码中添加条件?例如导弹

class Object;
class Projectile : public Object;

class Missile : public Projectile;
class MissileGuided : public Missile;
Run Code Online (Sandbox Code Playgroud)

或者我应该在导弹的代码中实现最后一个?

void Missile::Update()
{
    if(homing && ObjectExists(Target))
        TurnTowards(Target.Pos)

    Pos += Motion;
}
Run Code Online (Sandbox Code Playgroud)

我认为,对于所有更精细的细节,第二个更好,因为你开始获得事物的组合(例如,一些导弹可能不会在雷达上显示,一些可能是可破坏的,一些可能会获得新目标,如果原件被破坏或超出范围等)

然而,对于在某些情况下共用导弹属性的常规射弹也是如此(例如可能是可破坏的,大型射弹可能在雷达上显示等)

然后我可以说弹丸与船只共享属性(移动,碰撞它们会造成损坏,可能在雷达上显示,可能是可破坏的......)

然后一切都像3个类一样回归:

class Entity;
class Object : public Entity;
class Effect : public Entity;
Run Code Online (Sandbox Code Playgroud)

在创建派生类和使用标志或其他东西实现方法中的功能之间划清界线的好处在哪里?

language-agnostic oop design-patterns

6
推荐指数
1
解决办法
548
查看次数

.NET 库绘制避开障碍物的路线

我已经为某些东西创建了一个工作流程/流程图样式设计器。目前,它使用相对简单的贝塞尔曲线来连接工作流程中“块”的各个端点。

不过,我希望为用户提供更直观的东西。我希望这些线能够避开其他块(矩形)和可能的其他线等障碍物。

我更喜欢贝塞尔样条线而不是折线,因为它们更漂亮,并且总体上似乎更适合设计师。但如果它们更难实现,我愿意妥协。

我知道这背后有大量的科学依据。我研究过 Graphviz、微软的 GLEE 和他们的商业 AGL(自动图形布局)库。

《欢乐合唱团》似乎几乎不值得制作。他们的商业替代方案是,商业替代方案......它相当昂贵。

Graphviz 似乎没有以任何方式移植到.NET。

我看到 Windows Workflow Foundation 将折线实现用于其“自由形式设计器”。这确实有效,但它并不是真正的生产级外观。

我很惊讶没有一些针对此类事情的即插即用 .NET 库?就像是:

Point[] RoutePolyline(Point begin, Point end, Rectangle[] rectObstacles, Point[] lineObstacles);

c# gdi+ line spline

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

Bazaar和$ Id $

我的大多数资源都是颠覆,我使用'$ Id $'为这些来源添加修订信息.然后我可以轻松检查使用了哪些来源(例如--version选项显示该信息).

现在我要使用集市,我找不到这样的功能.在集市上有没有相当于svn'$ Id $'的东西?

svn version-control bazaar

3
推荐指数
1
解决办法
885
查看次数

多个周期性定时器

是否有任何标准的python模块用于创建多个定期计时器.我想设计一个系统,它支持在一个线程中创建不同周期的多个周期性定时器.系统应该能够在任何时间取消特定的计时器.

提前感谢任何输入!

python

3
推荐指数
1
解决办法
3490
查看次数

git是否具有与bazaar automv插件相同的功能?

我在项目中使用的唯一分布式修订控制系统是集市.除了如何办理结账外,我对git和mercurial了解不多.我喜欢bazaar的原因是automv插件.它检测我何时移动/删除了文件(从命令行/ ide等),当我赶时间时,我倾向于做很多事情.但是集市真的很慢,而我正在考虑转向git.git有类似于这个功能的东西吗?

git dvcs bazaar

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