问题列表 - 第12986页

如何在类中装饰方法?

我试图在类中装饰一个方法,但python正在抛出一个错误.我的班级看起来像这样:

from pageutils import formatHeader

class myPage(object):
   def __init__(self):
      self.PageName = ''

   def createPage(self):
      pageHeader = self.createHeader()

   @formatHeader   #<----- decorator
   def createHeader(self):
       return "Page Header ",self.PageName

if __name__=="__main__":
   page = myPage()
   page.PageName = 'My Page'
   page.createPage()
Run Code Online (Sandbox Code Playgroud)

pageutils.py:

def formatHeader(fn):
   def wrapped():
       return '<div class="page_header">'+fn()+'</div>'
   return wrapped
Run Code Online (Sandbox Code Playgroud)

Python抛出以下错误

self.createHeader()
TypeError: wrapped() takes no arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

我在哪里玩耍?

python decorator

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

IList <int> vs List <int>

你能帮我理解这两者之间的实际差异吗?

IList<int> myList = new List<int>();

List<int> myList = new List<int>();
Run Code Online (Sandbox Code Playgroud)

c#

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

如何确定Apache2上是否安装了OpenSSL和mod_ssl

有谁知道确定OpenSSL和mod_ssl是否安装在Apache2上的命令?

ssl apache2

55
推荐指数
7
解决办法
14万
查看次数

在C#中使函数或语句集线程安全的最佳方法是什么?

在C#中使函数或语句集线程安全的最佳方法是什么?

c# thread-safety

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

如何计算python列表中的可能性

给出这样的列表:

num = [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

有10个三元素组合:

[123, 124, 125, 134, 135, 145, 234, 235, 245, 345]
Run Code Online (Sandbox Code Playgroud)

我该如何生成此列表?

python

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

如何从页面获取HTML源代码?

有没有办法使用JavaScript访问页面HTML源代码?

我知道我可以使用,document.body.innerHTML但它只包含正文中的代码.我想获取所有页面源代码,包括头部和身体标签及其内容,如果可能的话,还有html标签和doctype.可能吗?

html javascript

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

是否有代码样式执行器?

我正在使用PHP编写的网站,以及许多其他程序员,有时我必须处理非常糟糕的代码.

压痕完全搞砸了,错误地方的花括号,可怕的空白使用,它真的伤害了我的眼睛,实际上让我的工作更努力,需要更长的时间.

是否有一个工具,您可以指定您的编码风格,然后将其应用于文件?我确信在不同的IDE中必须有这样的功能,但是我需要一个独立的工具,因为我用Notepad ++等简单的笔记本进行编码.(如果它是Notepad ++中的这样一个函数,我没有看到它)

php coding-style

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

ASP.NET MVC:Mock controller.Url.Action

我的ASP.NET MVC应用程序中的菜单的URL是从控制器/操作生成的.所以,他们打电话

controller.Url.Action(action, controller)
Run Code Online (Sandbox Code Playgroud)

现在,我如何在单元测试中完成这项工作?我成功使用MVCContrib

var controller = new TestControllerBuilder().CreateController<OrdersController>();
Run Code Online (Sandbox Code Playgroud)

但是无论我尝试用它做什么,我都会得到controller.Url.Action(动作,控制器)失败并且NullReferenceException因为Url == null.

更新:它不是关于如何拦截HttpContext.我通过几种方式做到了这一点,使用MVCContrib,Scott Hanselman的假装示例,以及http://stephenwalther.com/blog/archive/2008/07/01/asp-net-mvc-tip-12-faking -the-controller-context.aspx.这对我没有帮助,因为我需要知道假的值是什么......是ApplicationPath吗?我该如何设置?是否需要匹配被调用的控制器/动作?也就是说,Url.Action如何工作以及如何满足它?

另外,我知道我可以做IUrlActionAbstraction并继续使用它...但我不确定我是否想这样做.毕竟,我有MVCContrib/Mock全功率,为什么我需要另一个抽象.

asp.net-mvc

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

检查Code中的CustomErrors已打开

是否可以在Web应用程序运行时的代码中检查天气自定义错误是打开还是关闭.

c# exception-handling

9
推荐指数
1
解决办法
1261
查看次数

有没有办法在成员名称循环中对N C++类成员应用操作(可能通过预处理器)?

问题:

我有一个带有gajillion(> 100)成员的C++类,它们的行为几乎相同:

  • 相同的类型

  • 在函数中,每个成员具有与其他成员相同的完全代码,例如,从构造函数中的映射赋值,其中map键与成员键相同

  • 在许多函数(> 20)中重复这种行为的相同性,当然每个函数中的行为是不同的,所以没有办法解决问题.

  • 成员列表非常流畅,具有不断添加和有时删除,一些(但不是全部)由更改DB表中的列驱动.

您可以想象,就代码创建和维护而言,这是一个很大的痛苦,因为要添加新成员,您必须为使用类似成员的每个函数添加代码.

我想要的解决方案示例

我需要的实际C++代码(例如,在构造函数中):

MyClass::MyClass(SomeMap & map) { // construct an object from a map 
    intMember1 = map["intMember1"];
    intMember2 = map["intMember2"];
    ... // Up to 
    intMemberN = map["intMemberN"];
}
Run Code Online (Sandbox Code Playgroud)

我希望能够编写的C++代码:

MyClass::MyClass(SomeMap & map) { // construct an object from a map 
#FOR_EACH_WORD Label ("intMember1", "intMember2", ... "intMemberN")
    $Label = map["$Label"];
#END_FOR_EACH_WORD
}
Run Code Online (Sandbox Code Playgroud)

要求

  • 该解决方案必须与GCC兼容(如果重要的话,使用Nmake作为make系统).不关心其他编译器.

  • 解决方案可以是预处理器级别,也可以是可编译的.我对任何一个都很好; 但是到目前为止,我的所有研究都指出了这样的结论:后者在C++中显然是不可能的(我现在想念Perl,因为我被迫做C++!)

  • 解决方案必须至少在某种程度上是"行业标准"(例如Boost很棒,但Joe-Quick-Fingers创建一次并在他的博客上发布的自定义Perl脚本不是.哎呀,我可以很容易地写出Perl脚本,更像是Perl专家而不是C++专家 - 我只是无法让我的BigCompany的软件工程大佬们购买使用它:))

  • 解决方案应该允许我声明一个ID列表(理想情况下,只在一个头文件中而不是在每个"#FOR_EACH_WORD"指令中,就像我在上面的示例中所做的那样)

  • 解决方案不能仅限于"从DB表创建对象"构造函数.有许多功能,其中大多数不是构造函数,需要它.

  • 解决方案"在一个向量中创建所有值,然后在向量上运行'for循环"是一个明显的解决方案,并且无法使用 - 许多应用程序使用的库中的代码,成员是公共的遗憾的是,重写这些应用程序以使用向量成员而不是命名成员是不可能的.

c++ reflection c-preprocessor

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