问题列表 - 第15392页

如何从python源代码中删除注释和doc字符串?

有没有我可以这样运行的程序:

py2py.py < orig.py > smaller.py
Run Code Online (Sandbox Code Playgroud)

其中orig.py包含带有注释和doc字符串的python源代码,而small.py包含相同的,可运行的源代码,但没有注释和doc字符串?

最初看起来像这样的代码:

#/usr/bin/python
"""Do something
blah blah...
"""

# Beware the frubnitz!
def foo(it):
    """Foo it!"""
    print it  # hmm?
Run Code Online (Sandbox Code Playgroud)

那么看起来像这样:

def foo(it):
    print it
Run Code Online (Sandbox Code Playgroud)

python comments code-formatting

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

奇怪的IF声明行为

我有一个IF语句,它包含两个单独的函数调用,将值传递给两个变量.显然,如果两个值都不是'FALSE',则执行代码块:

<?php
   class MyValidater {
      static function validateString($string) {
         if (preg_match("/[A-Za-z]+/", $string)) {
            return $string;
         } else {
            return false;
         }
      }
   }

   $firstName = "Daniel";
   $surname = "Simmons";

   // Dodgy IF statement
   if ($first = MyValidater::validateString($firstName) && $second = MyValidater::validateString($surname)) {
      print("Success: $first $second");
   } else {
      print("Fail: $first $second");
   }
?>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,$ first和$ second变量应该包含在静态方法validateString成功验证后的$ firstName和$ surname中保存的值.

但是,两个变量的值最终结束:$ first ='1'和$ second ="Simmons".

'1'应该是"Daniel",但由于某种原因,$ first传递的值为'1'或TRUE.如果你交换两个赋值语句,以便首先计算$ second,那么你最终会得到与之前相反的结果.$ second ='1'和$ first ="Daniel"

任何人都可以解释为什么从类方法返回的字符串值"Daniel"只被改为条件语句的第一部分的int'1'?我通过PHP文档快速查看但无法找到解释.

目前,解决方法是将静态方法的返回值更改为true/false,然后在成功时使$ first = $ firstName等等.但这涉及更多的代码,我宁愿找出为什么这种方式不起作用.

php

0
推荐指数
2
解决办法
145
查看次数

livescore.com等网站如何运作?

我有一个想法,在一个有一些新增功能的实时比分网站上工作,但是在尝试使用其中之前,我想知道这些网站从何处获取数据?

谢谢你的回答.

php

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

中间件上基于HTTP/JMS的混合SOAP的请求 - 回复模型

我们的一个产品实现了以下单向Web服务结构:

Server <--------------------- Middleware <---------------- Client
        SOAP over JMS (queue)              SOAP over HTTP
Run Code Online (Sandbox Code Playgroud)

在此模型中,客户端通过HTTP将SOAP消息发送到我们的中间件(Progress SonicMQ).消息被SonicMQ推送到JMS队列,我们​​的服务器从那里获取它们.但是,正如您所看到的,服务器不会向客户端发送响应(异步JMS).

我们希望为此模型实现响应通道.通常建议的解决方案是在中间件中创建临时replyTo-queue(动态),允许服务器向该队列发送响应.然后,客户端可以获取响应并关闭replyTo队列.这听起来很方便,但不幸的是我们的客户端通过纯HTTP而不是JMS运行,因此他们的客户端无法轻松设置replyTo队列.

在这种混合HTTP/JMS SOAP模型中实现响应通道的一种方法是配置中间件以在每个成功的SOAP接收上打开replyTo队列,将replyTo-queue和sender信息附加到SOAP消息并将消息推送到队列,服务器将获取它.在接收并处理消息之后,服务器可以向中间件中的指示的replyTo队列发送响应.最后,中间件将通过使用SOAP消息中的数据(在首次接收请求时在中间件过程中插入的数据)通过HTTP将响应(SOAP)发送回原始客户端.

虽然有可能,但这听起来有点像hacky.所以问题是:在我们的案例中实现这种请求/响应模型的任何更清晰的方法?服务器端已用Java实现.

解决方案:

Progress SonicMQ支持"内容回复发送"HTTP Acceptor,它允许轻松发送JMS回复.内容回复发送接受器以下列方式工作:

  • Acceptor接收客户端发送的HTTP消息
  • Acceptor创建一个临时JMS队列
  • Acceptor构建一个包含HTTP主体的JMS消息,并将临时队列的标识添加到新创建的JMS消息中
  • Acceptor将JMS消息推送到其目标队列(而不是临时队列)
  • Acceptor开始使用临时回复队列
  • 当客户端从原始目标队列中提取消息时,它包含设置的reply-To队列标识
  • 客户端消息
  • 客户端将回复发送到回复队列
  • Acceptor从队列接收消息
  • Acceptor将消息作为HTTP发送到最初发送HTTP消息的客户端

如果消费者(在我们的情况下是"服务器")失败并且没有发送回复导致超时,Sonic的HTTP Acceptor会向客户端发送HTTP消息,指示超时.这是SonicMQ中非常标准的功能.我想它也存在于其他产品中.

这允许在"服务器"端使用标准SOAP over JMS(参见skaffman的答案),避免在中间件中进行任何自定义编程.

我仍然在JMS模型中看到一些问题,但这肯定是一种改进.

更新2009-11-05:

在研究了这个问题之后,事实证明我对HTTP < - >中间件< - > JMS的怀疑是相关的.

这个模型中存在一些关键问题.具有中间件的同步异步模型简单不方便.要么两端都实现JMS连接(应该摇摆),要么两端都使用HTTP.混合它们只会导致头痛.在这两者中,SOAP-over-HTTP比SOAP-over-JMS更简单,更受支持.

再一次:如果你正在设计这种系统......不要.

java soa soap web-services jms

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

ObjectListView强制转换异常(用于命中测试)

我正在使用Grammarian的ObjectListView.我将旧的列表视图更改为了,但我所做的只是填写项目.但是当应用程序启动并且我的鼠标在列表视图上时,它会立即抛出异常:

System.InvalidCastException was unhandled
  Message="Unable to cast object of type 'System.Windows.Forms.ListViewItem' to type 'BrightIdeasSoftware.OLVListItem'."
  Source="ObjectListView"
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

如果这很重要,我也使用Win7.

编辑:

我用字典.看起来我需要使用SetObjects方法而不是添加项目.

好的,这很棒,但我只是使用dict.Value集合.我不想通过listview修改数据,只显示.所以我只有一列,列出了所有字符串.这可能吗?

我很感激一个小样本.

.net c# vb.net winforms objectlistview

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

Qt Widget Overlays

如何在Qt中叠加小部件?

我想创建一些小部件并将它们放置在布局之外,而是在更改其他小部件的几何体时调整它们的大小和位置.

像屏幕截图上的按钮:

替代文字

language-agnostic layout qt overlay

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

jquery ajax在线支持聊天

在AJAX,JQUERY,php中是否有任何免费脚本可用于在线客户支持

喜欢有自己的聊天窗口......

谢谢

php ajax jquery chat

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

在Delphi中获取正确的相对路径

我正在用Delphi 2009编写一个小应用程序来编辑HTML文件.同

HypRef := '../../photos/myjpg.jpg'   
If FileExists(ExpandFileName(HypRef)) then ... 
Run Code Online (Sandbox Code Playgroud)

我可以找出该文件是否存在.如果FileExists给出否定答案,是否有找到正确相对路径的函数?

delphi path relative-path

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

C++中main的签名参数是否具有unsigned和const限定符?

该标准明确规定main有两个有效(即保证有效)的签名; 即:

int main();
int main(int, char*[]);
Run Code Online (Sandbox Code Playgroud)

我的问题很简单,以下是合法的吗?

int main(const unsigned int, const char* const* argv);
Run Code Online (Sandbox Code Playgroud)

我的测试中说"是",但我不能确定的答案,因为我不能超载main改变intunsigned int以及非顶层const的argv -ness?如果我是,那显然是禁止的.

那么,这些修改是否可以保证在符合标准的编译器上工作?

c++ program-entry-point signature

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

如何正确调用需要2个子程序引用的子程序?

想象一下这个子程序:

sub test(&&)
{
    my $cr1 = shift;
    my $cr2 = shift;
    $cr1->();
    $cr2->();
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以称之为:test(\&sub1,\&sub2),但我怎么称它为:

test { print 1 },{ print 2 };
Run Code Online (Sandbox Code Playgroud)

如果我说子程序只需要一个&,那么发送一个块就行了.我不知道如何让它与2一起工作.

如果我尝试像那样运行它,我得到:

Not enough arguments for main::test at script.pl line 38, near "},"
Run Code Online (Sandbox Code Playgroud)

编辑:没有办法没有调用sub

perl subroutine

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