小编pat*_*ryk的帖子

将某些observableArray对象属性转换为可观察对象

假设我有这个相同类型的对象数组:

var people = [
    { status: 0, name: "name1"},
    { status: 1, name: "name2"}
];
Run Code Online (Sandbox Code Playgroud)

我希望它不仅是observableArray,而且我想要观察每个对象的状态属性.

想象一下,可能会添加或删除对象本身.任何这些对象的name属性都不会改变,因此我不需要观察名称,但每个对象的状态可能会发生变化,因此让它可观察是很酷的.

是否可以使用一些很酷的黑客语法将其与knockout实用程序一起映射,或者我是否必须迭代每个对象并将其status属性映射到observable,或者让整个数组及其对象属性可观察?

javascript knockout-mapping-plugin knockout.js

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

创建复杂功能的响应版本

我正在做一个小项目.我需要实现某种算法,在大多数情况下会占用大量的CPU资源,因此需要一些时间来执行和返回.我希望这种方法能够响应并通知任何进展.我可能还想在进行这些计算时执行其他一些过程.

考虑这个具有复杂方法的类

class Engine
{
    public int ComplexMethod(int arg)
    {
        int result = 0;

        for (int i = 0; i < 100000; i++)
        {
            for (int j = 0; j < 10000; j++)
            {
                // some complex and time-consuming computations
            }

            // it would be nice to get notified on arriving this point for example
        }

        return result; 
    }
}
Run Code Online (Sandbox Code Playgroud)

这种情况的最佳方法是什么?

编辑:我应该提到它是一个带有UI(WPF应用程序)的应用程序.

c# wpf multithreading asynchronous

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

CodeMirror - 从编辑器外部获取linting结果

我正在使用很棒的CodeMirror库.我正在实现的代码编辑器是表单的一部分,因此我想用linting进行基本检查,看看用户的输入是否有效.除非代码没问题,否则我不想处理表单.

所以问题是:CodeMirror编辑器实例上是否有一个方法可以让我检索linting的结果?我正在查看文档和Google,但未能找到任何有用的信息.这种performLint方法被添加到编辑器中,但它不会返回linting的结果.

javascript forms validation lint codemirror

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

将ifstream对象传递给需要istream类型的函数

我有这个功能

void StrType::saveString(bool skip, InType charsAllowed, std::istream& inStream)
{ //something cool 
};
Run Code Online (Sandbox Code Playgroud)

而这两个

void StrType::getString(bool skip, InType charsAllowed)
{
    saveString(skip, charsAllowed, std::cin);
}
void StrType::getStringFile(bool skip, InType charsAllowed,  std::ifstream& inFile)
{
    saveString(skip, charsAllowed, inFile);
}
Run Code Online (Sandbox Code Playgroud)

你能告诉我为什么编译器抱怨这个

strtype.cpp: In member function ‘void StrType::getStringFile(bool, InType, std::ifstream&)’:
strtype.cpp:42:39: error: no matching function for call to ‘StrType::saveString(bool&, InType&, std::ifstream&)’
strtype.cpp:42:39: note: candidate is:
strtype.cpp:9:6: note: void StrType::saveString(bool, InType, std::istream&)
strtype.cpp:9:6: note:   no known conversion for argument 3 from ‘std::ifstream {aka std::basic_ifstream<char>}’ to ‘std::istream& {aka …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance istream ifstream

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

用另一个角色逃脱一组角色

我想做一些自定义字符转义,这意味着我希望某些字符前面有一些特殊字符,只要它们之前没有该特殊字符.我假设我需要一个正则表达式替换.实现这一目标的最简单方法是什么?我尝试了一些带有负面观察断言的东西,结果却什么都没有.

编辑:想象一下,我想任何的abc字符与被转义\,所以给debby我应该得到de\b\by而离开da\bby我要打d\a\b\by.我想这个例子不是那么有创意,但我相信它解释了我的意思(逃避尚未转义的字符)

编辑2:嗯,我实际上要做的是转一串

([A-Za-z]+)/([A-Za-z]+)/([A-Za-z]+)

([A-Za-z]+)\/([A-Za-z]+)\/([A-Za-z]+)

在串号一个斜杠是,比如说,某种分隔符(我希望能有更多的人后来,我也想逃跑.,,在同一时间),我需要逃避\使用它作为另一种(更简单的)模式.我试过(不确定第二个参数,但这不是我认为的问题)

preg_replace("/(?<!\\)([\/])/", "\\$0", $string);

哪里$string([A-Za-z]+)/([A-Za-z]+)/([A-Za-z]+).没运气.

希望我现在明白了

解:

preg_replace("/(?<!\\\\)[\/]/", "\\\\$0", $string); 在方括号中我把字符转出来.

php regex

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