小编Kir*_*ill的帖子

有没有办法在C++中实现Python的'separator'.join()模拟?

我发现的只是boost::algorithm::string::join.但是,将Boost仅用于加入似乎有点过分.那么也许有一些经过时间考验的食谱?

更新:
对不起,问题标题很糟糕.我正在寻找使用分隔符连接字符串的方法,而不仅仅是逐个连接.

c++ algorithm

16
推荐指数
3
解决办法
5253
查看次数

DjangoUnicodeDecodeError和force_unicode

我有简单的Django新闻条目模型:

class NewsEntry(models.Model):
    pub_date = models.DateTimeField('date published')
    title = models.CharField(max_length = 200)
    summary = models.TextField()
    content = models.TextField()

def __unicode__(self):
    return self.title
Run Code Online (Sandbox Code Playgroud)

使用英文文本添加新消息(在管理员页面中)工作正常,但当我尝试添加俄语文本的新闻时,会出现错误:

/ admin/news/newsentry /中的TemplateSyntaxError

渲染时捕获DjangoUnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xd0:序数不在范围内(128).你传递了NewsEntry:[错误的Unicode数据](类'antek.news.models.NewsEntry')

Django版本:1.2.2

异常类型:TemplateSyntaxError

异常值:渲染时捕获DjangoUnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xd0:序数不在范围内(128).你传递了NewsEntry:[错误的Unicode数据](类'antek.news.models.NewsEntry')

异常位置:/usr/local/lib/python2.6/dist-packages/django/utils/encoding.py in> force_unicode,第88行

Python版本:2.6.5

回溯列表中的最后一项是:

force_unicode中的/usr/local/lib/python2.6/dist-packages/django/utils/encoding.py

当地的vars:

e:UnicodeDecodeError('ascii','\ xd0\xa2\xd0\xb5\xd1\x81\xd1\x82\xd1\x80\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xbe\xd0\xb3\xd0\xbe',0,1,'序数不在范围内(128)')

代码看起来正确:self.title是unicode对象.此外,djangoproject.com在他们的博客应用程序中使用类似的代码.

我花了很多时间来解决这个问题,并创建了一个奇怪的解

from django.utils.encoding import force_unicode
# ...
def __unicode__(self):
    return force_unicode(self.title)
Run Code Online (Sandbox Code Playgroud)

但是由于self.title是unicode对象,force_unicode应该返回它而不做任何更改.

为什么return self.title不起作用?

django unicode django-admin

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

Perl使用自定义比较功能查找最小值

有没有办法在自定义比较函数的数组中找到最小值,除了排序它并采取第一项?

perl min

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

运行时选择算法的设计模式

在我们的项目中,我们经常在某些条件下选择算法

例如,假设我们需要打印不同产品的订单.我们需要根据产品类型,价格或任何其他产品特性选择不同的空白并检索不同的数据.通常,我们写这样的东西.

public interface IOrderPrinter
{
    bool CanPrint(Order order);
    PrintResult Print(Order order);
}

class CompositeOrderPrinter : IOrderPrinter
{
    private IList<IOrderPrinter> printers;

    public bool CanPrint(Order order)
    {
        return printers.Any(p => p.CanPrint(order));
    }

    public PrintResult Print(Order order)
    {
        foreach (var printer in printers)
        {
            if (printer.CanPrint(order))
                return printer.Print(order);
        }
        // throw some exception
    }

    public void AddPrinter(IOrderPrinter printer)
    {
        printers.Add(printer);
    }
}

class FirstOrderPrinter : IOrderPrinter
{
    public bool CanPrint(Order order)
    {
        return order.ProductType == ProductType.Banana && order.Price < 100;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

design-patterns

0
推荐指数
1
解决办法
1530
查看次数

标签 统计

algorithm ×1

c++ ×1

design-patterns ×1

django ×1

django-admin ×1

min ×1

perl ×1

unicode ×1