问题列表 - 第26239页

何时使用"属性"内置:辅助功能和生成器

我最近发现了Python的property内置函数,它将类方法getter和setter伪装成类的属性.我现在很想以我认为不合适的方式使用它.

property如果类A具有_x您想要限制的允许值的属性,那么使用关键字显然是正确的做法; 即,它将取代用C++编写的构造getX()setX()构造.

但是在哪里将函数作为属性是合适的呢?例如,如果你有

class Vertex(object):
    def __init__(self):
        self.x = 0.0
        self.y = 1.0

class Polygon(object):
    def __init__(self, list_of_vertices):
        self.vertices = list_of_vertices
    def get_vertex_positions(self):
        return zip( *( (v.x,v.y) for v in self.vertices ) )
Run Code Online (Sandbox Code Playgroud)

是否适合添加

    vertex_positions = property( get_vertex_positions )
Run Code Online (Sandbox Code Playgroud)

让发电机看起来像财产一样可以吗?想象一下,如果我们的代码中的更改意味着我们不再Polygon.vertices以相同的方式存储.那么添加它可以Polygon吗?

    @property
    def vertices(self):
        for v in self._new_v_thing:
            yield v.calculate_equivalent_vertex()
Run Code Online (Sandbox Code Playgroud)

python properties

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

ensime scala错误(类scala.Array未找到,找不到对象scala)

我根据README.md文件安装了ensime,但是,我在inferior-ensime-server缓冲区中遇到以下错误:

INFO: Fatal Error: scala.tools.nsc.MissingRequirementError: object scala not found.
scala.tools.nsc.MissingRequirementError: object scala not found.
    at scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:516)
    at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackage(Definitions.scala:43)
    at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackageClass(Definitions.scala:44)
    at scala.tools.nsc.symtab.Definitions$definitions$.UnitClass(Definitions.scala:89)
    at scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:786)
    at scala.tools.nsc.Global$Run.(Global.scala:593)
    at scala.tools.nsc.interactive.Global$TyperRun.(Global.scala:473)
    at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:535)
    at scala.tools.nsc.interactive.Global.reloadSources(Global.scala:289)
    at scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply(Global.scala:300)
    at scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply(Global.scala:300)
    at scala.tools.nsc.interactive.Global.respond(Global.scala:276)
    at scala.tools.nsc.interactive.Global.reload(Global.scala:300)
    at scala.tools.nsc.interactive.CompilerControl$$anon$1.apply$mcV$sp(CompilerControl.scala:81)
    at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:132)
    at scala.tools.nsc.interactive.Global$$anon$2.run(Global.scala:192)

也:

INFO: Fatal Error: scala.tools.nsc.MissingRequirementError: class scala.Array not found.
scala.tools.nsc.MissingRequirementError: class scala.Array not found.
    at scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:516)
    at scala.tools.nsc.symtab.Definitions$definitions$.getClass(Definitions.scala:474)
    at scala.tools.nsc.symtab.Definitions$definitions$.ArrayClass(Definitions.scala:217)
    at scala.tools.nsc.backend.icode.TypeKinds$REFERENCE.(TypeKinds.scala:258)
    at scala.tools.nsc.backend.icode.GenICode$ICodePhase.(GenICode.scala:55)
    at scala.tools.nsc.backend.icode.GenICode.newPhase(GenICode.scala:43)
    at scala.tools.nsc.backend.icode.GenICode.newPhase(GenICode.scala:25)
    at scala.tools.nsc.Global$Run$$anonfun$4.apply(Global.scala:606) …

scala ensime

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

查看SQL Server数据库中的所有函数?

如何使用SQL Server Management Studio查看SQL Server数据库中的所有功能(内置)?

sql-server sql-server-2005 function

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

应该使用什么优雅的方法回调设计?

我很惊讶这个问题之前没有问过SO(好吧,至少我找不到它).

你有没有在C++中设计一个方法回调模式(类似于类方法的"指针"),如果是这样,你是怎么做到的?

我知道一个方法只是一个常规函数,带有一些隐藏this参数作为上下文,我有一个非常简单的设计.然而,由于事情往往比它们看起来更复杂,我想知道我们的C++ 专家如何实现这一点,最好是以优雅和标准的方式.

欢迎所有建议!

c++ methods design-patterns callback c++11

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

在不使用Web服务的情况下,在同一台计算机上运行的2个或更多.Net应用程序之间进行通信的正确方法是什么?

如果我的应用程序在同一台计算机上运行,​​甚至在同一局域网中的不同计算机上运行,​​并且需要密切和快速的通信,那么使用文本编码的Web服务和HTTP似乎是不合逻辑的.我可以使用IP/TCP/UDP套接字并发明我自己的协议,但是相信.Net应用程序有一种标准的方式来发送/接收对象实例(甚至可能通过引用共享一个对象?).你能告诉我那种标准方式是什么吗?我只对.Net Framework 4应用程序感兴趣,不需要支持遗留框架.

c# interop

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

如果我有足够的RAM,我怎样才能加速大型物体的取消?

我花了一个多小时来使用cPickle读取1 GB的NetworkX图形数据结构(当它作为二进制pickle文件存储在磁盘上时,它的1 GB).

请注意,该文件会快速加载到内存中.换句话说,如果我跑:

import cPickle as pickle

f = open("bigNetworkXGraph.pickle","rb")
binary_data = f.read() # This part doesn't take long
graph = pickle.loads(binary_data) # This takes ages
Run Code Online (Sandbox Code Playgroud)

如何加快上次操作?

请注意,我尝试使用二进制协议(1和2)来腌制数据,并且我使用的协议似乎没有太大区别.另请注意,虽然我使用上面的"装载"(意思是"加载字符串")函数,但它正在加载二进制数据,而不是ascii-data.

我正在使用的系统上有128GB的RAM,所以我希望有人会告诉我如何增加一些隐藏在pickle实现中的读缓冲区.

python serialization pickle

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

如何使用Lambda表达式对对象内的INTEGERS进行排序?

我有一个对象的集合,我知道我可以按照NAME(字符串类型)排序

collEquipment.Sort((x, y) => string.Compare(x.ItemName, y.ItemName));
Run Code Online (Sandbox Code Playgroud)

这样可行.

但我想按ID(整数类型)排序,并且没有Int32.Compare这样的东西

那我该怎么做?这不起作用

collEquipment.Sort((x, y) => (x.ID < y.ID));  //error
Run Code Online (Sandbox Code Playgroud)

我知道答案很简单.Lambda的表达让我很困惑.

c# collections lambda

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

获取vb.net应用程序的安装路径

我差不多准备好发布我的vb.net应用程序了.我有几个目前从c:/ temp加载的picturebox文件

我需要将此目录更改为可在用户将其安装到PC时使用的目录.

我的问题是我该怎么做?有没有办法获取安装路径,然后在代码中使用它作为变量?eg: myInstalledPath & "/xxx.jpg"

或者......在mydocuments结构中使用mypictures会更好吗?我宁愿将所有创建的图像文件保存在一个对用户更隐蔽的文件夹中(通过隐藏我的意思是不会弄乱他们自己的图像文件夹!)

我已经尝试过搜索这个,但我似乎得到了不同的结果而没有真正的答案......(可能会搜索错误的东西!)

vb.net installation

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

如何在网格面板中删除或添加列

grid.getcolumnModel().setHidden(0,true)将对列菜单而不是网格面板生效.在列菜单中,您可以启用或禁用该列.我们如何动态添加或删除网格面板中的列?

extjs extjs3

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

最小化WPF中的窗口位置

我试图将自定义对话框的位置保存到用户注册表,以便当他们重新加载相同的对话框时,它会显示在他们移动的相同位置或将其重新调整为以前.我正在保存窗口X位置Y位置宽度和高度.除了对话框最小化时,一切正常.如果对话框最小化并且用户右键单击任务栏上的对话框表示(Windows 7),则可以单击"关闭此窗口".奇怪的是,数字-32030作为X和Y位置保存在注册表中,但宽度和高度得到正确保存.知道这个号码来自何处以及在这种情况下该怎么办thx

c# wpf

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