我想在vim-latex中隐藏一些有问题的警告,但我似乎无法弄清楚语法.
我目前有:
let g:tex_IgnoredWarnings =
\'Underfull'."\n".
\'Overfull'."\n".
\'specifier changed to'."\n".
\'You have requested'."\n".
\'Missing number, treated as zero.'."\n".
\'There were undefined references'."\n".
\'Citation %.%# undefined'."\n".
\'Double space found.'."\n"
let g:Tex_IgnoreLevel = 8
Run Code Online (Sandbox Code Playgroud)
对我来说,根据文档看起来是正确的,但仍然出现"发现双重空间"警告(澄清,"仍然出现"我的意思是它在屏幕的左侧突出显示S>).
有任何想法吗?
我有一个file可以在通用模式下打开或不打开的对象.(file.mode如果有帮助,我可以访问此模式).
我想使用标准io方法处理这个文件:read和seek.
如果我以非通用模式打开文件,一切都很好:
In [1]: f = open('example', 'r')
In [2]: f.read()
Out[2]: 'Line1\r\nLine2\r\n' # uhoh, this file has carriage returns
In [3]: f.seek(0)
In [4]: f.read(8)
Out[4]: 'Line1\r\nL'
In [5]: f.seek(-8, 1)
In [6]: f.read(8)
Out[6]: 'Line1\r\nL' # as expected, this is the same as before
In [7]: f.close()
Run Code Online (Sandbox Code Playgroud)
但是,如果我以通用模式打开文件,我们遇到了一个问题:
In [8]: f = open('example', 'rU')
In [9]: f.read()
Out[9]: 'Line1\nLine2\n' # no carriage returns - thanks, 'U'!
In …Run Code Online (Sandbox Code Playgroud) 我试图将 Class 对象转换为某个协议,该协议定义了该类实现的类方法 (+)。
我知道如何使用 (id<protocol>) 执行此操作,如本问题所述,但我似乎无法找出 Class 对象的正确方法。
基本场景如下。
我有一个协议:
@protocol Protocol <NSObject>
+ (id)classMethod:(id)arg;
@end
Run Code Online (Sandbox Code Playgroud)
然后,我有一个接受 Class 对象的函数,它知道该对象有时符合基于另一个参数的协议(这显然非常简单):
- (id)someMethodWithClass:(Class)cls andUseArg:(BOOL)arg
{
id instance;
if (arg != nil) {
instance = [(Class<Protocol>)cls classMethod:arg];
}
}
Run Code Online (Sandbox Code Playgroud)
现在我没有收到任何关于此的警告,而且它对我来说看起来是正确的。(在任何情况下我都不会看到任何错误,因为我可以保证如果 arg != nil 那么该类就符合。)
但是,我没有在 Xcode 中获得自动完成功能,这让我想知道这是否是正确的方法。有什么想法吗?(请注意,我对 id<Protocol> 的实例不感兴趣。)
我有一个models.Model子类,它代表我的mysql数据库上的一个View(即managed = False).
但是,在运行我的单元测试时,我得到:
DatabaseError:(1288,'DELETE的目标表my_view_table不可更新')
该删除请求的来源是(间接)通过外键.我有(简化):
class MyViewModel(models.Model):
problematic_field = models.ForeignKey(ActualTableModel) # specifying on_delete=models.SET_NULL simply replaces the DELETE error with an UPDATE one
Run Code Online (Sandbox Code Playgroud)
在我的测试的tearDown期间,我正在删除ActualTableModel实例,并且看起来django正在遵循记录的行为:
当Django删除一个对象时,它会模拟SQL约束ON DELETE CASCADE的行为 - 换句话说,任何具有指向要删除的对象的外键的对象都将随之删除.
当应用于(managed = False)视图时,这似乎会导致问题.
我试过覆盖删除方法以防止删除:
class MyViewModel(models.Model):
...
def delete(self, *args, **kwargs):
pass # deletion of a view row is never valid
Run Code Online (Sandbox Code Playgroud)
但这并没有解决问题.
我该如何防止这种行为?
我试图从梯形(在第一个图像中)转换为矩形(在第二个图像中),但得到一个奇怪的结果(在第三个图像中).

我的计划是使用透视变换,由梯形的四个角点和矩形的四个角点定义.
在这个例子中,对于梯形,它们是:
ptsTrap = [[ 50. 100. ]
[ 50. 200. ]
[ 250. 64.73460388]
[ 250. 235.26539612]]
Run Code Online (Sandbox Code Playgroud)
对于矩形:
ptsRect = [[ 50. 100.]
[ 50. 200.]
[ 250. 100.]
[ 250. 200.]]
Run Code Online (Sandbox Code Playgroud)
我从这些点获得了一个透视变换:
T = cv2.getPerspectiveTransform(ptsTrap, ptsRect)
Run Code Online (Sandbox Code Playgroud)
然后从中构建图像:
arrTrapToRect = cv2.warpPerspective(arrTrap, T, arrTrap.shape[:2])
Run Code Online (Sandbox Code Playgroud)
但是,正如您从图像中看到的那样,这并未给出预期的转换.
我似乎无法弄清楚为什么即使定义变换的点也没有根据它进行投影.有任何想法吗?
我有以下格式的数据:
[('A', 'B', 'C'),
('B', 'C', 'A'),
('C', 'B', 'B')]
Run Code Online (Sandbox Code Playgroud)
我想要得到这个:
ABC
BCA
CBB
Run Code Online (Sandbox Code Playgroud)
我当时能够转换一个元组:
>> "".join(data[0])
.. 'ABC'
Run Code Online (Sandbox Code Playgroud)
但是,当我试图转换整个列表时,Python给了我一个错误:
>> "".join(data[:])
.. TypeError: sequence item 0: expected string, tuple found
Run Code Online (Sandbox Code Playgroud)
任何建议我将如何能够转换整个列表?
谢谢!
我目前正在用 C# 为 Excel 编写 VSTO 加载项,但无法使撤消功能正常工作。
据我从文档中可以看出,您打算Application.OnUndo用来注册撤消回调。但是,我不清楚Procedure参数是否可以引用 C# 方法。
理想情况下,我想将撤消回调设置为实例方法,例如:
this.Application = Globals.ThisAddIn.Application;
// ...
this.Application.OnUndo("Undo color change", "this.UndoTextColorChange");
Run Code Online (Sandbox Code Playgroud)
不幸的是,虽然这会注册撤消,但实际上在 Excel 中单击“撤消”会出现错误:
无法运行宏“this.UndoTextColorChange”。宏在此工作簿中可能不可用,或者可能禁用了所有宏。
对我来说,这几乎表明Procedure参数必须是 VB 宏(而不是 C# 方法)。但是,也有可能我无法计算出在.OnUndo调用中使用的完全限定的过程名称。
是否可以Application.OnUndo调用 C# 方法? 如果是这样,我应该使用什么作为 的论点Procedure?如果不是,撤消功能通常如何在 C# VSTO 插件中实现?
我一直在使用TempData在页面请求之间保留我的模型,否则我将无法访问我需要的模型中的类的特定属性.
(这是一个轻微的题外话和简化,但基本上我有一个具有.name和.active属性的对象列表.我有一个CheckBoxFor .active属性,并且保留,但.name属性设置为null提交表单时;我也需要访问该属性,所以我一直在TempData中存储旧模型,然后在需要时复制该属性.有没有更好的方法呢?我很惊讶我正在使用的对象的属性将被取消.)
当用户选中复选框时,模型存储在TempData中,从而提交表单.当用户单击按钮时,稍后会读取TempData.(没有干预请求.)
以这种方式使用TempData对多个用户安全吗?换句话说,每个客户端是否都有自己的TempData副本?我担心的情况大致如下:
我不确定的是用户1将获得哪种型号.有人可以请我加油吗?
我有一个16位变量data,即:
volatile uint16_t data;
Run Code Online (Sandbox Code Playgroud)
我需要根据外部传感器上两个8位寄存器的内容填充该值.这些通过I2C/TWI访问.
我的TWI例程是async*,并且有签名:
bool twi_read_register(uint8_t sla, uint8_t reg, uint8_t *data, void (*callback)(void));
Run Code Online (Sandbox Code Playgroud)
这读取的价值reg就sla成*data,然后调用callback().
如果我知道它uint16_t被安排在记忆中,比如说MSB LSB,那么我可以这样做:
twi_read_register(SLA, REG_MSB, (uint8_t *)&data, NULL);
twi_read_register(SLA, REG_LSB, (uint8_t *)&data + 1, NULL);
Run Code Online (Sandbox Code Playgroud)
但是,我不喜欢将endian依赖到我的代码中.有没有办法以与endian无关的方式实现这一目标?
(旁注:我目前的实际解决方法是使用结构,即:
typedef struct {
uint8_t msb;
uint8_t lsb;
} SensorReading;
Run Code Online (Sandbox Code Playgroud)
但我很好奇,如果我能用一个简单的方法做到这一点uint16_t)
编辑
(*async我的意思是分裂阶段,*data即将在未来的某个时间点设置,此时callback如果请求,将通过函数通知被调用者)
我有一个表示接口的抽象基类.此类的子类存储为此类的其他子类的属性.
例如:
class AbstractBase(object):
pass
class Child(AbstractBase):
def __init__(self, cls1, cls2):
assert isinstance(cls1, AbstractBase)
assert isinstance(cls2, AbstractBase) # just to show they're instances
self.cls1 = cls1
self.cls2 = cls2
Run Code Online (Sandbox Code Playgroud)
层次结构的深度和布局不能提前知道,但不会递归.
我能提出的__repr__对AbstractBase,让我看到每个子类的性质研究的一个有用的方法是什么?
我目前的做法是:
from pprint import pformat
class AbstractBase(object):
def __repr__(self):
return self.__class__.__name__ + '\n' \
+ pformat({k:v for k,v in self.__dict__.iteritems()
if not '__' in k})
Run Code Online (Sandbox Code Playgroud)
对于基类(没有属性是子类AbstractBase,这会输出一些可读的内容,例如:
MyClass
{'var1': 1,
'var2': 2}
Run Code Online (Sandbox Code Playgroud)
但是,对于具有AbstractBase子类的类,它会中断,因为很难判断父类的起始位置和另一个结束的位置(假设__repr__上面没有给出进一步缩进的更多嵌套级别).
我会对下面的内容感到满意,想象cls1并cls2拥有一个int属性var: …
如果元素上的某些条件失败,那么继续循环是一种非常常见的习惯用法.
假设我们想对某种类型的所有子视图做一些事情(并且出于某种原因,不想躲避类型的事情).理想情况下,我们会写:
for view in self.subviews as [NSView] { // cast required in beta 6
if (let specificView = view as? SpecificView) == nil { // <- Error here
continue
}
// Do things at a sensible indentation level
}
Run Code Online (Sandbox Code Playgroud)
上面的代码失败,"模式变量绑定不能出现在表达式中",就像在这个问题中一样.
但是,这似乎是一种常见的模式,必须有一种方法可以在Swift中实现.我错过了什么吗?
编辑:现在我考虑一下,这似乎与if let语句的范围规则相冲突,这些规则只将变量范围限定在内部块中.
考虑到这一点,我想稍微扩大一下这个问题:人们如何在Swift中普遍应用这种模式?
在Python中,您可以将类的名称作为参数map,以便创建该类的实例:
class Point(object):
def __init__(self, (x, y)):
self.x = x
self.y = y
coords = [(1., 2.), (3., 4.)]
pts = map(Point, coords)
Run Code Online (Sandbox Code Playgroud)
这经常被证明是一个方便的模式,所以我想在Swift中尝试相同的东西.
首先,我们建立了我们的Point课程:
import Cocoa
class Point
{
var x: Float
var y: Float
init(x: Float, y: Float) {
self.x = x
self.y = y
}
}
var pt = Point(x: 1, y: 2) // works fine
Run Code Online (Sandbox Code Playgroud)
但是当我们尝试使用.map创建实例时,我们会收到错误:
let coords: (Float,Float)[] = [(1, 2), (3, 4)]
// (Point).Type is not convertible to …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用NSLayoutConstraints 设置视图的布局.
我可以在视图中正确设置,但是如果约束需要,我还需要能够调整当前视图(我正在设置约束的视图).换句话说,我想用灵活的窗口设置固定的内容大小,而不是反过来.
基本上,我有:
NSDictionary *views = [NSDictionary dictionaryWithObjectsAndKeys:self.v1, @"v1",
self.v2, @"v2",
nil];
// Set horizontal constraints
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[v1]-|"
options:0
metrics:nil
views:views]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[v2]-|"
options:0
metrics:nil
views:views]];
// Set vertical constraints
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[v1]-[v2]-|"
options:0
metrics:nil
views:views]];
// Initialise height constraint for v1
self.v1Height = [NSLayoutConstraint constraintWithItem:self.v1
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1
constant:50];
Run Code Online (Sandbox Code Playgroud)
如果我稍后更改self.v1Height(通过删除它,重新创建它,然后读取它),我希望框架self扩展(或收缩)以适应更改的高度.
我不确定它是否相关(因为我比iOS更熟悉iOS),但这是一个内容视图NSPopover.
为实现这一目标,我需要添加什么约束?