小编mgf*_*nan的帖子

返回不同类型/类的方法的设计模式

这是对象设计模式专家的问题.

假设我有一个Parser负责读取/解析数据流(携带不同类型的信息)的类.每个数据包携带不同类型的信息,所以最好我想有一个类为每种类型的数据包(PacketTypeA,PacketTypeB,...每个人都有自己的接口).

class Parser {

public:

    /* ctor */
    /* dtor */


   void read_packet(/* arguments */);

   // methods...
private:
   // more methods...
}
Run Code Online (Sandbox Code Playgroud)

Parser::read_packet然后,该方法将遍历流并将类(或指针或对类的引用)返回到适当的数据包类型.

你会使用void指针吗?通用类(PacketBasicInterface)如何提供一个公共(部分)接口来查询数据包的类型(以便随后可以在运行时做出任何决定)?

// Pure virtual (abstract) class to provide a common (and partial) interface
class PacketBasicInterface {
public:

    std::string whoAmI() const = 0;
    bool amIofType(const std::string& type) const = 0;

}

// Class to access data of type A packet
class PacketTypeA : public …
Run Code Online (Sandbox Code Playgroud)

c++ oop design-patterns

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

如何以不区分大小写的方式使用 CTAGS 和 VIM?

我将 ctags 与 VIM 结合使用,这是一个非常强大的组合,可以加快编码速度。为了为一组 IDL 例程启用自动完成,我生成了 CTAGS 文件,其中包含我想要使用的 IDL 源代码的内容。到现在为止还挺好。

我现在面临的问题是,当我开始在 VIM 中键入一个 IDL 库函数的名称时,该名称与用于定义库的名称不同,VIM 将无法找到它。那么问题是,有什么方法可以使用 VIM 和 CTAGS 在自动完成中折叠案例吗?

非常感谢!

vim ctags exuberant-ctags

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

Ruby中"each"循环的动态变化

我是Ruby的新手,我面临着关于"每个"类似循环的问题.假设代码如下

startIndex = 1
endIndex = 200

(startIndex..endIndex).each do |value|
   p value
   if value>150 then endIndex=100
end
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,它将运行到200,直到150.有没有办法在Ruby中动态更改循环范围的限制?

在此先感谢您的帮助

Tryskele

ruby loops

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

如何使用Ruby和Builder :: XMLMarkup模板生成XML文件?

众所周知,使用Rails可以使用Builder :: XMLMarkup模板以XML格式而不是HTML(使用respond_to命令)提供http响应.我的问题是我想使用Builder :: XMLMarkup模板系统而不是Rails,而只使用Ruby(即一个从XML模板生成/输出XML文件的独立程序).问题是双重的:

  1. 如何告诉Ruby程序我想要使用哪个模板?和
  2. 如何告诉Builder类哪个是输出XML文件?

在Stackoverflow中已经有类似的答案(如何使用.xml.builder文件从XMLBuilder生成XML?),但我担心它只对Rails有效.

ruby xml templates

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

根据从另一个DataFrame构建的条件列表,选择Pandas DataFrame的子集

假设我们有以下DataFrame

>>> import pandas as pd

>>> df_org = pd.DataFrame({'A' : [1,2,3,4,5,6], 
                           'B' : [1,1,1,1,2,2],
                           'C' : [1,2,3,4,1,2]})
   A  B  C
0  1  1  1
1  2  1  2
2  3  1  3
3  4  1  4
4  5  2  1
5  6  2  2
Run Code Online (Sandbox Code Playgroud)

另外一个,df_criteria它有一些列df_org,我们将从中构建我们的标准.例如:

>>> df_criteria = pd.DataFrame({'B' : [1,2], 
                                'C' : [1,1]}) 

   B  C
0  1  1
1  2  1
Run Code Online (Sandbox Code Playgroud)

我希望能够获取的值Adf_org数据帧为其中的相应值B,并C匹配在列出的df_criteria数据帧.在这个例子中,我想有一个df_org包含其行'0'和'4' …

python dataframe pandas

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

标签 统计

ruby ×2

c++ ×1

ctags ×1

dataframe ×1

design-patterns ×1

exuberant-ctags ×1

loops ×1

oop ×1

pandas ×1

python ×1

templates ×1

vim ×1

xml ×1