问题列表 - 第45575页

正则表达式匹配双下划线?

我正在尝试扩展该python.lang文件,以便它可以使方法突出__init__显示。我一直在尝试想出一个能够匹配所有__privateMethods().

python.lang是一个 XML 文件,包含 python 文件的所有突出显示规则。前任:

<context id="special-variables" style-ref="special-variable">
   <prefix>(?&lt;![\w\.])</prefix>
   <keyword>self</keyword>
   <keyword>__name__</keyword>
   <keyword>__debug__</keyword>
</context>
Run Code Online (Sandbox Code Playgroud)

我如何扩展它以使其匹配双下划线?


[解决方案]:我添加到我的python.lang文件中的内容(如果有人感兴趣):

首先,您需要在定义样式的顶部附近添加此行。

<style id="private-methods" _name="Private Methods" map-to="def:special-constant"/>
Run Code Online (Sandbox Code Playgroud)

然后您将添加卡尔斯在他的答案中提供的正则表达式:

<context id="private-methods" style-ref="private-methods">
    <match>(__[a-zA-Z_]*(__)?)</match>
</context>
Run Code Online (Sandbox Code Playgroud)

这是完成后的样子!

在此输入图像描述

python regex xml gedit

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

如何使用Python获取重定向的URL

在Python中,我使用urllib2打开一个url.此网址重定向到另一个网址,该网址会重定向到另一个网址.

我希望在每次重定向后打印出url.

例如

- > =重定向到

A - > B - > C - > D.

我想打印B,C和D的URL(A已经知道,因为它是起始URL).

python redirect urllib2

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

不同Objective-C类型的条件表达缺乏演员?

我收到这个错误:

条件表达不同的Objective-C类型'struct NSNull*'和'struct NSNMutableArray*'缺少一个强制转换

在这行代码上:

( (tempArray != nil) ? tempArray : [NSNull null] )

为什么?

iphone objective-c

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

WinForms中的水印TextBox

任何人都可以指向一个基本的Windows窗体TextBox的良好实现,它最初会显示水印文本,当光标进入时它会消失吗?我想我可以通过创造性地使用Enter和Leave事件来创建我自己的东西,但我确信在某个地方有一个完全可用的实现.我看到了WPF实现,如果有必要,我可以嵌套它,但原生的WinForms TextBox派生会更好.

到目前为止,我有这个; 尚未尝试过,但有没有人看到任何明显的问题?

public class WatermarkTextBox:TextBox
{
    public string WatermarkText { get; set; }

    public Color WatermarkColor { get; set; }

    private Color TextColor { get; set; }

    private bool isInTransition;

    public WatermarkTextBox()
    {
        WatermarkColor = SystemColors.GrayText;
    }

    private bool HasText { get { return Text.IsNotNullOrBlankOr(WatermarkText); }}

    protected override void OnEnter(EventArgs e)
    {
        base.OnEnter(e);

        if (HasText) return;

        isInTransition = true;
        ForeColor = TextColor;
        Text = String.Empty;
        isInTransition = false;
    }

    protected override void OnForeColorChanged(EventArgs e)
    {
        base.OnForeColorChanged(e);
        if (!isInTransition) …
Run Code Online (Sandbox Code Playgroud)

.net textbox watermark winforms

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

如何在UITableView的switch语句中创建变量?

在此输入图像描述

我正在构建一个包含三个部分的tableView.我有前两个工作,但最后一个有点抵抗.我的问题似乎涉及尝试在switch语句中声明一个变量,实际上是一个嵌套的switch语句.从我所读到的,这不是一个好主意,但在这种情况下,它似乎是唯一的选择.

有问题的部分动态地容纳与特定设备相关联的Alert对象的数量.警报来自核心数据,代替"日期"和"警报消息"我想显示警报中的信息.我正在使用NSFetchRequest检索相关警报.返回一个Alert对象数组,按照我想要的方式排序.要在cellForRowAtIndexPath中显示正确的信息,我一直试图使用该行恢复正确的警报

Alert *alert = [allAlerts objectAtIndex:indexPath.row];
Run Code Online (Sandbox Code Playgroud)

似乎我不允许在switch语句中声明变量.我有什么想法可以解决这个问题吗?我将不得不在didSelectRowForIndexPath中做类似的事情,因为我需要在选择单元格时推送详细视图.

我已经尝试在switch语句之外声明变量,但这不会起作用,因为index.row可以在Alert数组中不存在的索引中请求一个对象,并且会导致程序崩溃.

有问题的代码位于此方法的底部:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

//Cell Identifiers
static NSString *attributeCellIdentifier = @"attributeCellIdentifier";
static NSString *operatingInfoCellIdentifier = @"operatingInfoCellIdentifier";
static NSString *alertCellIdentifier = @"alertCellIdentifier";

//Create Attribute Cell If Required
UITableViewCell *attributeCell = [tableView dequeueReusableCellWithIdentifier:attributeCellIdentifier];
if (attributeCell == nil) {
    attributeCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:attributeCellIdentifier] autorelease];
    attributeCell.selectionStyle = UITableViewCellSelectionStyleNone;
}

//Create Operating Info Cell If Required
UITableViewCell *operatingInfoCell = [tableView dequeueReusableCellWithIdentifier:operatingInfoCellIdentifier];
if (operatingInfoCell == nil) {
    operatingInfoCell = [[[UITableViewCell alloc] …
Run Code Online (Sandbox Code Playgroud)

core-data uitableview ios

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

node.js mongodb通过_id node-mongodb-native选择文档

我正在尝试通过id选择一个文档

我试过了:

collection.update({ "_id": { "$oid": + theidID } }

collection.update({ "_id": theidID }

collection.update({ "_id.$oid": theidID }}
Run Code Online (Sandbox Code Playgroud)

还尝试过:

collection.update({ _id: new ObjectID(theidID ) }
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误500 ...

var mongo = require('mongodb')
var BSON = mongo.BSONPure;
var o_id = new BSON.ObjectID(theidID );

collection.update({ _id: o_id }
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.如何通过_id选择?

javascript mongodb node.js

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

Java中的隐式对象类型?

这不完全是隐式类型转换的定义,但我很好奇有多少标准我打破了这个......

我在Java中创建一个抽象类,它基本上根据传递给构造函数的字符串来转换变量.

例如:

public abstract class MyClass {

    Object that;

    public MyClass(String input){
        if("test1".equals(input){
            that = new Test1();
        }
        else{
            that = new Test();
        }
    }

    public void doSomething(){
        if(that instanceof Test1){
            //specific test1 method or variable
        } else if(that instanceof Test2)}
            //specific test2 method or variable
        } else {
            //something horrible happened
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

你看到我得到了什么?现在我遇到的问题是我的编译器要求我显式地that转换到Test1或者Test2doSomething方法中 - 我理解,因为编译器不会假设它是某个对象类型,即使if语句几乎保证了类型.

我想我得到的是,这是一个有效的解决方案吗?

我有其他类基本上都做同样的事情,但使用两个不同的库,取决于一个简单的差异和图,这个类可以帮助我轻松跟踪和更改所有其他对象.

java polymorphism casting

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

C++类重定义错误

我正在编译一个日志记录程序,但是我收到了这个错误,并且无法解决我的生活...

logger.cpp:15: error: redefinition of ‘class Logger’
logger.h:20: error: previous definition of ‘class Logger’
Run Code Online (Sandbox Code Playgroud)

用gcc编译时

g++ -Wall logger.cpp -o log
Run Code Online (Sandbox Code Playgroud)

logger.h:

#ifndef LOGGER_H
#define LOGGER_H

#include <fstream>
#include <iostream>
#include <string>
using std::string;

class Logger
{

static Logger* m_pInstance;

public:
static Logger* Instance() { return m_pInstance; }
void writeLog(string message);
void openLogFile(string fileName);
void closeLogFile();
void deleteLogger();

};
#endif
Run Code Online (Sandbox Code Playgroud)

logger.cpp

#include "logger.h"

#include <fstream>
#include <iostream>

class Logger
{
static Logger* m_pInstance;
std::ofstream m_pOutputFile;
Logger()
{
}
~Logger()
{
} …
Run Code Online (Sandbox Code Playgroud)

c++ header class redefine redefinition

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

在显示之前修改DBGrid单元格内容

我想在加载数据库时修改dbgrid控件中特定单元格的内容.例如,假设我不希望dbgrid中的任何数据库字段等于"forbidden".有什么方法可以做到吗?

delphi dbgrid

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

java.util.Date:七天前

我在Jasper Reports中创建了一个报告,它只识别java.util.Date(不是Calendar或Gregorian等).

有没有办法在当前日期前7天创建日期?

理想情况下,它看起来像这样:

new Date(New Date() - 7)
Run Code Online (Sandbox Code Playgroud)

更新:我不能强调这一点:JasperReports不能识别Java Calendar对象.

java jasper-reports java.util.date

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