问题列表 - 第44600页

如何以编程方式将任何网页转换为RSS源?

有许多网站和博客提供RSS提要,但另一方面也有许多没有.我想将这种类型的网页转换为RSS提要.

我找到了一些使用谷歌的解决方案,如Feed43,Page2rss,Dapper等,但我想要一个可以执行此任务的开源项目或任何解释它的教程.

请给我建议,如果你能解释,欢迎你.

我更喜欢的语言是PHP.

php xml rss

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

使用KornShell提取文件名的一部分

我有一个文件名,例如:xxdatafile_20110120123030_12342.dat.我想"XXdatafile_"从文件名中提取.

如何在Unix上使用Ksh做到这一点?

unix ksh string-parsing

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

在构造函数中检查Null

我真的试图找出易于调试的可重用代码的最佳实践.我在开发人员中遇到了一个我不太了解的常见做法.

public MyConstructor(Object myObject)
{
    if (myObject == null)
        throw new ArgumentNullException("myObject is null.");
    _myObject = myObject;
}
Run Code Online (Sandbox Code Playgroud)

几乎没有必要做这个检查.但我认为这是因为我不完全明白做这项检查的好处是什么.似乎无论如何都会抛出一个null引用异常?我可能错了,真的很想听听它的一些想法.

谢谢.

c# null exception-handling

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

如何在C#中将字符串转换为RTF?

如何将字符串"Européen"转换为RTF格式的字符串"Europ \'e9en"?

[TestMethod]
public void Convert_A_Word_To_Rtf()
{
    // Arrange
    string word = "Européen";
    string expected = "Europ\'e9en";
    string actual = string.Empty;

    // Act
    // actual = ... // How?

    // Assert
    Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我发现了什么

RichTextBox的

RichTextBox可用于某些事情.例:

RichTextBox richTextBox = new RichTextBox();
richTextBox.Text = "Européen";
string rtfFormattedString = richTextBox.Rtf;
Run Code Online (Sandbox Code Playgroud)

但是rtfFormattedString原来是整个RTF格式的文档,而不仅仅是字符串"Europ \'e9en".

堆栈溢出

谷歌

我还在网上找到了一堆其他资源,但没有解决我的问题.

回答

布拉德克里斯蒂的答案

不得不添加Trim()删除前面的空格result.除此之外,Brad Christie的解决方案似乎也有效.

我现在将使用这个解决方案,即使我有一个糟糕的直觉,因为我们必须使用SubString并修剪RichTextBox以获得RTF格式的字符串.

测试用例:

[TestMethod]
public void Test_To_Verify_Brad_Christies_Stackoverflow_Answer()
{
        Assert.AreEqual(@"Europ\'e9en", "Européen".ConvertToRtf());
        Assert.AreEqual(@"d\'e9finitif", "définitif".ConvertToRtf());
        Assert.AreEqual(@"\'e0", …
Run Code Online (Sandbox Code Playgroud)

c# rtf

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

为什么Scala中的foldLeft前面的过滤器速度慢?

我写了第一个Project Euler问题的答案:

添加1000以下的所有自然数,即3或5的倍数.

我遇到的第一件事是:

(1 until 1000).filter(i => (i % 3 == 0 || i % 5 == 0)).foldLeft(0)(_ + _)
Run Code Online (Sandbox Code Playgroud)

但它很慢(需要125毫秒),所以我重写了它,只是想到'另一种方式'而不是'更快的方式'

(1 until 1000).foldLeft(0){
    (total, x) =>
        x match {
            case i if (i % 3 == 0 || i % 5 ==0) => i + total // Add
            case _ => total //skip
        }
}
Run Code Online (Sandbox Code Playgroud)

这要快得多(只有2毫秒).为什么?我猜第二个版本只使用Range生成器,并没有以任何方式显示完全实现的集合,一次完成所有这一切,更快,内存更少.我对吗?

这里是IdeOne上的代码:http://ideone.com/GbKlP

performance scala scala-collections

21
推荐指数
2
解决办法
2584
查看次数

有没有比使用RegExp更好的方法在QToolTip中自动换行文本?

所以问题在于标题.QToolTip似乎没有提供wordwraop功能.但是,使用正则表达式可以用\n替换第N个空格,但我想知道是否有人建议更好的溶剂.具体来说,我的方法问题是它不考虑文本的长度.例如,我希望更长的文本形成更宽的段落.

c++ qt

13
推荐指数
3
解决办法
7507
查看次数

django SelectDateWidget反向年

有没有办法可以让"SelectDateWidget"以反向或DESC顺序显示年份?

my_form_field = forms.DateField(widget=MonthYearWidget(years=range(2012,1970)))
Run Code Online (Sandbox Code Playgroud)

似乎没有用.

MonthYear小部件是一个较小的细分,仅为您提供月份和年份

django django-forms

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

在Python中连续迭代两个或更多容器的优雅而快速的方法?

我有三个collection.deques,我需要做的是迭代它们并执行相同的操作:

for obj in deque1:  
    some_action(obj)  

for obj in deque2:  
    some_action(obj)

for obj in deque3:  
    some_action(obj)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一些功能XXX,理想情况下我可以写:

for obj in XXX(deque1, deque2, deque3):  
    some_action(obj)
Run Code Online (Sandbox Code Playgroud)

这里重要的是XXX必须足够高效 - 没有复制或静默使用range()等.我期望在内置函数中找到它,但到目前为止我没有发现任何类似的东西.

Python中是否已有这样的东西,或者我必须自己编写一个函数?

python iterator

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

用于在C++中的对象之间共享数据的模式

我已经开始将用FORTRAN编写的高能物理算法迁移到C++中面向对象的方法.FORTRAN代码在很多函数中使用了很多全局变量.

我已将全局变量简化为一组输入变量和一组不变量(变量在算法开始时计算一次,然后由所有函数使用).

此外,我将完整算法分为三个逻辑步骤,由三个不同的类表示.所以,以一种非常简单的方式,我有这样的事情:

double calculateFactor(double x, double y, double z)
{
    InvariantsTypeA invA();
    InvariantsTypeB invB();

    // they need x, y and z
    invA.CalculateValues();
    invB.CalculateValues();

    Step1 s1();
    Step2 s2();
    Step3 s3();

    // they need x, y, z, invA and invB
    return s1.Eval() + s2.Eval() + s3.Eval();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 为了进行计算,所有InvariantsTypeXStepX对象都需要输入参数(这些不仅仅是三个).
  • 三个对象s1,s2并且s3需要的数据invAinvB对象.
  • 所有类通过组合使用其他几个类来完成它们的工作,所有这些类也需要输入和不变量(例如,s1有一个需要theta的类的成员对象,并且要构造).ThetaMatrixxzinvB
  • 我无法重写算法来减少全局值,因为它遵循几个高能物理公式,而那些公式就是这样.

是否有一个好的模式来共享输入参数和不变量到用于计算结果的所有对象? …

c++ design-patterns

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

套接字错误:90:消息太长

我在以下场景中遇到IGMP套接字调用错误;

fd = socket(PF_INET,  SOCK_RAW, IPPROTO_IGMP) ;
setsockopt( fd, IPPROTO_IP, IP_HDRINCL, nval, sizeof(nval) );
/** Fill in the IP header and Ethernet header**/
/*** Fill, create the IGMP packet structures***/
if(sendto( fd, &buf, sizeof(buf), 0,(struct sockaddr *) &addr, sizeof(addr)) < 0) {
    printf("Socket Sendto error %d : %s\n", errno, strerror(errno));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

sendto调用失败说消息太长.我使用8192作为缓冲区大小.所以我尝试使用以下调用来修复此错误;

if(setsockopt(dlpifd, IPPROTO_IP, SO_SNDBUF, &val, sizeof(int)) < 0) {
   printf("Can't set socket options:%d:%s\n", errno, strerror(errno));
   return 0;`
}
Run Code Online (Sandbox Code Playgroud)

setsockopt()调用成功,但sendto()的错误相同;

所以我用getsockopt()调用检查SO_SNDBUF大小,它显示1个字节?

我在做什么是错的.

Linux内核是否需要重新编译才能获得IGMP支持?或者我错过了什么?

c sockets network-programming igmp linux-kernel

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