我真的不需要这样做,但只是想知道,有没有办法将装饰器绑定到类中的所有函数,而不是明确地为每个函数声明它.
我认为它然后变成了一种方面,而不是装饰者,它确实感觉有点奇怪,但是想到时间或认证这样的东西它会非常整洁.
可能重复:
动态添加可折叠元素
我已经看到了一些这方面的帖子,但它们似乎都没有真正适用,或者我只是读错了.我有一些HTML从服务器提供给我,我真的无法改变.我想要做的是,获取HTML,将其插入div元素并让jQuery mobile在它上面做样式.我可能需要多次这样做,这就是痛苦发生的地方.
当我第一次插入它时,它一切都很好,jqm拾取添加和完美的样式.如果我第二次尝试,jqm根本不会拿起它.我已经尝试制作一个我复制和修改的"模板",或者只是插入静态HTML并且都不起作用.
我在下面有一个测试用例,正如你所看到的,点击一次添加新列表,没关系,再点击它就可以得到一个没有样式的选择.我在某处读过使用直播活动可能会有效,但在这种情况下也不行.
此外,我知道jQuery mobile中的选择列表selectmenu方法,但我得到的项目可能是单/多选列表,一堆单选按钮甚至一组自由文本字段.正如你所看到的,我也尝试在最顶层的元素上运行页面方法,我也尝试在我即将添加的元素上运行页面,但都无济于事.:(
测试:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>List insert test</title>
<meta http-equiv="Pragma" content="no-cache" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<!-- include jQuery -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.js"></script>
<!-- include jQuery Mobile Framework -->
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.css" />
</head>
<body>
<div data-role="page" data-theme="b" id="Dashboard">
<button id='addlist'>add new list</button>
<button id='addips'>add templated list</button>
<button id='clearall'>clear</button>
<div id='theplace'></div>
<div id='newtemp'>
<select id='thelisttemplate'>
<option value="1">1</option>
<option value="2">2</option> …Run Code Online (Sandbox Code Playgroud) 我一直在玩我的挂架应用程序的计时装饰器,以便为特定功能提供即时通讯信息.我通过创建一个装饰器并简单地将它附加到我想要的控制器中的任何函数来完成此操作.
然而有人指出,装饰器可能会给调用增加相当大的开销,并且它们比未修饰的函数运行慢2-3倍.
首先,我希望执行一个修饰函数比未修饰的函数更长一些,但我希望开头可以在千分之一秒内,并且与SQL插入调用相比可以忽略不计.装饰器本身使用time.time()和一些非常简单的聚合进行简单的简单计时计算.
装饰器是否会给系统增加很多开销?我找不到任何支持它的东西.
好的,所以我有一个dicts列表:
[{'name': 'johnny', 'surname': 'smith', 'age': 53},
{'name': 'johnny', 'surname': 'ryan', 'age': 13},
{'name': 'jakob', 'surname': 'smith', 'age': 27},
{'name': 'aaron', 'surname': 'specter', 'age': 22},
{'name': 'max', 'surname': 'headroom', 'age': 108},
]
Run Code Online (Sandbox Code Playgroud)
我想要每列中项目的"频率".所以对于这个我会得到类似的东西:
{'name': {'johnny': 2, 'jakob': 1, 'aaron': 1, 'max': 1},
'surname': {'smith': 2, 'ryan': 1, 'specter': 1, 'headroom': 1},
'age': {53:1, 13:1, 27: 1. 22:1, 108:1}}
Run Code Online (Sandbox Code Playgroud)
那里的任何模块可以做这样的事情吗?
如何从孩子的基类访问装饰器?
我(错误地)假设了ffg.会工作:
class baseclass(object):
def __init__(self):
print 'hey this is the base'
def _deco(func):
def wrapper(*arg):
res = func(*arg)
print 'I\'m a decorator. This is fabulous, but that colour, so last season sweetiedarling'
return res
return wrapper
@_deco
def basefunc(self):
print 'I\'m a base function'
Run Code Online (Sandbox Code Playgroud)
这个类工作正常,但后来我创建了一个继承自这个的子类:
class otherclass(baseclass):
def __init__(self):
super(otherclass, self).__init__()
print 'other class'
@_deco
def meh(self):
print 'I\'m a function'
Run Code Online (Sandbox Code Playgroud)
这甚至不能正确导入,更不用说运行了.@_deco未定义.尝试baseclass._deco抛出一个未绑定的方法_deco()错误,这并不奇怪.
任何想法如何做到这一点,我真的想把装饰器封装在课堂上,但我没有嫁给这个想法,我需要在基础和子类中调用它.
这应该很容易,但到目前为止,我已经设法让2个人在工作,我现在已经超过3个小时,所以这里.
我需要用Python re模块替换带有aplus的+(以及其他一些情况).例如."我通过了我的+考试." 需要成为"我通过了我的aplus考试."
只使用\ ba +大部分时间都可以正常工作,但是在a + b的情况下失败,所以我不能使用它,它需要匹配一个+作为一个独特的单词.我试过\ ba +\b但是失败了因为我认为+是一个单词边界.
我也尝试了\ ba +\W哪个有效,但是贪婪并且占用了空间(或任何其他非alpha字符).
有什么建议吗?
Lemmie只是说这是我对Rails相当新的一点.
我们的应用程序使用paperclip(3.2.4)来管理附件,像往常一样,我生成了一个类似于以下内容的迁移:
class AddAttachmentPhotoToPhpfoxUsers < ActiveRecord::Migration
def self.up
change_table :phpfox_user do |t|
t.attachment :photo
end
end
def self.down
drop_attached_file :phpfox_user, :photo
end
end
Run Code Online (Sandbox Code Playgroud)
(它被称为phpfox_user,因为我们必须在遗留数据库的基础上构建)
这一切都很棒,工作正常.但是,我们还必须管理2个数据库并迁移到它们,因此我根据此帖子上的建议重新安排了迁移:
http://excid3.com/blog/rails-activerecord-multiple-databases-and-migrations
我不知道这应该有多好,但它似乎是一个相当简洁的解决方案,它很好地组织了迁移.
但是现在回形针迁移不起作用,因为找不到附件类型.我假设它不再在范围内或者没有绑定到表对象.有没有人知道我应该做些什么才能把它带进来,我已经尝试过将'paperclip'添加到模块中,但这没有用.
我也试过使用add_attachment助手,但也没找到.
我们使用的是Rails 3.2.13和Ruby 2.0.0.
编辑:错字
python ×5
decorator ×3
class ×1
class-method ×1
dictionary ×1
javascript ×1
jquery ×1
oop ×1
paperclip ×1
performance ×1
regex ×1
ruby ×1