这是我的代码:
def a():
print 'sss'
@a()
def b():
print 'aaa'
b()
Run Code Online (Sandbox Code Playgroud)
跟踪是:
sss
Traceback (most recent call last):
File "D:\zjm_code\a.py", line 8, in <module>
@a()
TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)
那么如何使用'@'
谢谢
更新
class a:
@property
def b(x):
print 'sss'
aa=a()
print aa.b
Run Code Online (Sandbox Code Playgroud)
它打印:
sss
None
Run Code Online (Sandbox Code Playgroud)
如何使用@property
谢谢
updated2
和类方法:
class a:
@classmethod
def b(x):
print 'sss'
aa=a()
print aa.b
Run Code Online (Sandbox Code Playgroud)
它打印:
<bound method classobj.b of <class __main__.a at 0x00B2DC00>>
Run Code Online (Sandbox Code Playgroud) 愚蠢的问题,但每当你打电话给新的时,你总是有指针吗?
SomeClass *person = new SomeClass();
Run Code Online (Sandbox Code Playgroud)
那是因为你需要一个指向指向为SomeClass变量人分配的新内存空间的指针吗?谢谢!
我已经创建了一个SVN存储库并添加了文件夹并添加了内容和Committed.没问题.
但是当去添加一个新文件夹(其他人在P:\驱动器上,现在我想添加我们在C:\驱动器上的网站)但Tortoise没有给我选择添加文件夹.我不知道为什么.帮助文件显示我期望的说明("右键单击要添加的文件夹并选择+添加...")但菜单中没有添加....
这是TortoiseSVN v 1.6.7.18415(我即将更新它,但之前我能够添加文件夹,所以我不认为这只是一个错误,我想也许我错过了一些明显的东西).
我正在尝试定义一个结构类型,定义任何具有"add"方法的集合(例如,java集合).使用这个,我想定义一些对某个集合进行操作的高阶函数
object GenericTypes {
type GenericCollection[T] = { def add(value: T): java.lang.Boolean}
}
import GenericTypes._
trait HigherOrderFunctions[T, CollectionType[X] <: GenericCollection[X]] {
def map[V](fn: (T) => V): CollectionType[V]
....
}
class RichJList[T](list: List[T]) extends HigherOrderFunctions[T, java.util.List]
Run Code Online (Sandbox Code Playgroud)
这不会编译与以下错误
error: Parameter type in structural refinement may not refer to abstract type defined outside that same refinement
Run Code Online (Sandbox Code Playgroud)
我尝试删除GenericCollection上的参数并将其放在方法上:
object GenericTypes {
type GenericCollection = { def add[T](value: T): java.lang.Boolean}
}
import GenericTypes._
trait HigherOrderFunctions[T, CollectionType[X] <: GenericCollection]
class RichJList[T](list: List[T]) extends HigherOrderFunctions[T, java.util.List]
Run Code Online (Sandbox Code Playgroud)
但我得到另一个错误: …
我一直试图解决这个问题几个小时了.我正在使用gcc编译一些c文件.这些文件需要libpbc,所以我使用-L标志将gcc指向包含libpbc.so.1的目录.代码编译没有错误但是当我尝试运行它时,我收到以下错误消息:
./example.out:加载共享库时出错:libpbc.so.1:无法打开共享对象文件:没有这样的文件或目录
看看类似的问题,这个错误消息似乎表明gcc找不到libpbc.so.1.我知道gcc看到libpbc.so.1,因为当我将libpbc.so.1重命名为其他东西时,它无法编译.
我使用-L指向包含libpbc.so.1的目录.
不知道我可以采取哪些后续步骤来解决这个问题.会欣赏任何想法.这个错误信息到底意味着什么?
运行ldd example.out会导致:
linux-gate.so.1 => (0xb7fe3000)
libpbc.so.1 => not found
libgmp.so.3 => /usr/lib/libgmp.so.3 (0xb7f87000)
Run Code Online (Sandbox Code Playgroud) 我启用了NSZombie,当我运行我的应用程序时,我在控制台中收到以下消息:
*** -[UIViewAnimationState release]: message sent to deallocated instance 0xf96d7e0
Run Code Online (Sandbox Code Playgroud)
这是执行动画的方法
-(void)loadAvatar:(STObject*)st
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
avatar.alpha = 0;
avatar.frame = avatarRectSmall;
avatar.image = [ImageCache getMemoryCachedImageAtUrl:st.avatar_url];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.50];
avatar.frame = avatarRectNormal;
[avatar setAlpha:1];
[UIView commitAnimations];
[pool release];
pool = nil;
}
Run Code Online (Sandbox Code Playgroud)
我有时候并不会总是崩溃.我想知道什么是发布的?
我对Wicket的数据表有疑问.我目前正在使用DataTable来显示几列数据.
我的表格设置如下:
DataTable<Column> dataTable = new DataTable<Column>("columnsTable", columns, provider, maxRowsPerPage) {
@Override
protected Item<Column> newRowItem(String id, int index, IModel<Column> model) {
return new OddEvenItem<Column>(id, index, model);
}
};
Run Code Online (Sandbox Code Playgroud)
列看起来像这样:
columns[0] = new PropertyColumn<Column>(new Model<String>("Description"), "description", "description");
columns[1] = new PropertyColumn<Column>(new Model<String>("Logic"), "columnLogic");
columns[2] = new PropertyColumn<Column>(new Model<String>("Type"), "dataType", "dataType");
Run Code Online (Sandbox Code Playgroud)
这是我的列数据提供者:
public class ColumnSortableDataProvider extends SortableDataProvider<Column> {
private static final long serialVersionUID = 1L;
private List<Column> list = null;
public ColumnSortableDataProvider(Table table) {
this.list = Arrays.asList(table.getColumns().toArray(new Column[0]));
}
public ColumnSortableDataProvider(List<Column> list) …Run Code Online (Sandbox Code Playgroud) 我在WebView中显示一个网页,在网页上有一个按钮.当您单击该按钮时,应该弹出一个确认对话框,但它不会显示在我的WebView中.如果我在Android浏览器中访问同一个网页,它会弹出.任何人都知道如何处理来自WebView内部网页的弹出对话框?
我正在做一个记笔记的小应用程序。因此,当我在计算机上的任何位置键入“note”时,我的窗口会弹出并显示一个文本框,供我输入内容并将其保存为 XML。
我很难过如何让程序“听”我的按键。如果有帮助,我会在系统托盘上运行该应用程序。:)