小编Cod*_*key的帖子

如何在javascript中循环访问子对象?

我在函数中有这个代码:

tableFields = tableFields.children;
for (item in tableFields) {
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

根据tableFields的console.log,我得到一个数组,因为我认为我需要做.循环中的console.log项返回undefined.我需要做什么来遍历tableFields并将每个对象插入表中?

tableFields的控制台日志:

HTMLCollection[label, input, label, input 25, label, input, input, input Remove]


0
label

1
input

2
label

3
input 25

4
label

5
input

6
input

7 
input Remove

description[]
input

hours[]
input

invoice_number
input

getlength
8

rate[]
input 25

item
item()

iterator
iterator()

namedItem
namedItem()

__proto__
HTMLCollectionPrototype { item=item(), namedItem=namedItem(), iterator=iterator()}
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的整个代码部分:

$this->title("Test");
    $this->defaultMenu();
    $select = "";
    $names = Customer::getNames();
    foreach ($names as $id => …
Run Code Online (Sandbox Code Playgroud)

javascript

35
推荐指数
5
解决办法
7万
查看次数

排除Exuberant CTags中的目录

我正在使用一个非常大的代码库,我发现选择包含哪些目录用于Exuberant Ctags是有用的.

--exclude选项适用于消除单个文件和目录名称(使用全局通配符),但我无法弄清楚如何排除包含多个目录的路径模式.

例如,我可能想要排除目录tests,但仅在处理时thirdparty\tests(在Windows下).问题是如果我只是使用--exclude=tests我排除太多目录,包括我正在积极处理的代码中的测试目录.

以下是我尝试过的一些事情:

--exclude=thirdparty\tests
--exclude=thirdparty\\tests
--exclude=*\thirdparty\tests
--exclude=*\\thirdparty\\tests
--exclude=thirdparty/tests
Run Code Online (Sandbox Code Playgroud)

Ctags默默地忽略了所有这些,如检查标签文件所证明的那样.

如何仅在目录父目录之前排除目录?

添加:

这是我的ctags --version输出:

Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Jul  9 2009, 17:05:35
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +win32, +regex, +internal-sort
Run Code Online (Sandbox Code Playgroud)

exuberant-ctags

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

在从`object`派生的类中调用super().__ init __()?

Python 文档__init__每个类的方法负责初始化它的超类.但对于新式课程,最终的基础是object.做dir(object)一些object自己有__init__方法并可能被初始化的节目.有什么理由这样做吗?

我倾向于这样做以保持一致性和(略微)更容易重构类heirarchy,但我想知道它是否是严格必要的或被认为是最佳实践.

python

10
推荐指数
3
解决办法
1691
查看次数

使用clang解析命名空间:在另一个源文件中包含标头或直接解析时,AST存在差异

对于冗长的问题感到抱歉,但我看不出任何其他方法可以说明问题.我正在编写一个工具,将C++头文件转换为SWIG接口文件,作为进一步微调的启动器.

在这样做的过程中,我注意到了clang(v3.0)的一些奇怪行为.如果我解析头文件,我会得到一个与我解析包含头文件的源文件截然不同的AST.

为了便于说明,以下是一些示例源文件:

源文件:

// example.cpp: Test case for nsbug.py
//
#include "example.h"
Run Code Online (Sandbox Code Playgroud)

标题:

// example.h: Test case for nsbug.py
//
namespace Geom {

struct Location
{
    double x, y;
};

class Shape
{
public:
    Shape();

    void set_location(const Location &where)
    {
        m_pos = where;
    };

    const Location &get_location() const

    // Draw it...
    virtual void draw() const = 0;

protected:
    Location m_pos;
};

class Circle : public Shape
{
    Circle();

    virtual void draw() const;
};
} // namespace Geom
Run Code Online (Sandbox Code Playgroud)

我使用以下Python代码来解析它并转储AST:

# …
Run Code Online (Sandbox Code Playgroud)

c++ python parsing clang

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

混合模式程序集不加载本机C++ pdbs的符号

我正在使用C++/CLI中的混合模式程序集.在混合模式程序集中成功加载所有托管模式组装的pdb后,即使本机pdb的信息显示在模块窗格中(即在VS Debug-> Windows-> Modules中),也不会加载本机dll和pdb.

我使用本机DLL并在C++/CLI代码中混合程序集中调用其导出的函数.这里,函数被成功调用,但本机pdb符号未加载,本机代码中的所有断点都显示为空心圆,工具提示表示没有为此加载符号.

我已经完成了所有工作,pdb放在当前目录中以启动托管进程; 删除所有obj和debug文件夹并同时重新编译每个项目; 我甚至使用了ChkMatch实用程序,它显示了Exe中的符号和相应的pdb匹配.

有没有办法在从托管(C++/LCI混合模式)代码调用时启用本机代码的断点?

问候,

乌斯曼

mixed-mode c++-cli breakpoints visual-c++

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

打破Python调试器中的成员函数

这应该是一个微不足道的问题,但到目前为止我的搜索没有结果:

我第一次使用Python调试器(pdb),并且非常高兴地发现使用gdb时熟悉的大多数命令.

但是,当我在类JamParserparse()成员中使用以下语句设置断点时:

(Pdb) b JamParser.parse
*** The specified object 'JamParser.parse' is not a function
or was not found along sys.path.
Run Code Online (Sandbox Code Playgroud)

我尝试了几种变体,包括:

(Pdb) b jam2dot.py:JamParser.parse
Run Code Online (Sandbox Code Playgroud)

我假设因为我从命令行调用了调试器,它知道文件中的实体.这是一个错误的假设吗?

文件说,休息可以采取一个函数作为参数,但不提供任何语法帮助.那么如何按名称为成员函数设置断点呢?

python debugging

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

c ++,cscope,ctags和vim:查找从这个继承的类

在具有几个层的相当大的代码库中,是否有一种方法可以在vim中或从命令行中找到从基类派生的所有类?grep是一个选项但可能很慢,因为grep没有索引.

c++ vim ctags cscope

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

为什么不能声明的朋友函数有默认参数?

我已经了解到,除非友元声明是一个定义,否则C++ 11标准不允许友元函数具有默认参数.所以这是不允许的:

class bar
{
    friend int foo(int seed = 0);
};

inline int foo(int seed) { return seed; }
Run Code Online (Sandbox Code Playgroud)

但这是:

class bar
{
    friend int foo(int seed = 0)
    {
        return seed;
    }
};
Run Code Online (Sandbox Code Playgroud)

(示例礼貌http://clang-developers.42468.n3.nabble.com/Clang-compile-error-td4033809.html)

这个决定背后的理性是什么?具有默认参数的Friend函数很有用,例如,如果函数太复杂而无法就地声明,为什么它们现在被禁止?

c++11

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