标签: wrapper

在python中包装一个函数,提供一个额外的布尔值

我正在将一些代码从Perl移植到Python,我正在移动的一个函数执行以下操作:

sub _Run($verbose, $cmd, $other_stuff...)
{
  ...
}

sub Run
{
  _Run(1, @_);
}

sub RunSilent
{
  _Run(0, @_);
}
Run Code Online (Sandbox Code Playgroud)

所以要做Python,我天真地认为我可以做到以下几点:

def _Run(verbose, cmd, other_stuff...)
  ...

def Run(*args)
  return _Run(True, args);

def RunSilent
  return _Run(False, args);
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为args作为数组/元组传递.为了使它工作,我做了以下事情:

def _Run(verbose, cmd, other_stuff...)
  ...

def Run(*args)
  return _Run(True, ','.join(args));

def RunSilent
  return _Run(False, ','.join(args));
Run Code Online (Sandbox Code Playgroud)

但那看起来很丑陋.有没有更好的办法?

python wrapper

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

如何获取包含其他元素中某个元素的最后一个的包装集

在jQuery中,我想获取一组元素中的某个元素的最后一个.例如,我有这些带孩子的DIV:

<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想在每个具有"test"类的div中选择带有"inside"类的最后一个div.像这样的东西:

var customWrappedSet;
$('.test').each(function()
{
    customWrappedSet.add($(this).find('.inside').last());
});
customWrappedSet.text('hello');
Run Code Online (Sandbox Code Playgroud)

理想情况下,这将是三个元素(每个.test中的最后一个.inside).结果如下所示:

<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
        hello
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div>
    <div class="inside">
        hello
    </div>
</div>
<div class="test">
    <div class="inside">
    </div>
    <div class="inside">
    </div> …
Run Code Online (Sandbox Code Playgroud)

html jquery wrapper jquery-selectors

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

C#DB Wrapper支持多个数据库

我目前正在创建一个支持MySQL和MSSQL数据库的C#应用​​程序.我遇到的问题是我的包装器.我的代码适用于MySQL,但我在修改它以支持多个数据库时遇到问题.

如果你看一下我的代码的精简版本,你会看到我有一个DBMySQL类型的dbConn对象,如果我只想要MySQL支持,这很好.我需要修改DBMySQL是通用的,这样我就可以运行dbConn = new DBMySQL(...)和dbConn = DBMSSQL(...)然后我可以简单地调用dbConn.SomeMethod()并让它在相应的数据库上运行.我希望尽可能保持相同的设置,因为我在DBMySQL和DBMSSQL类中有其他东西用于批量插入数据库和特定的错误检查.

我在想/尝试声明像对象dbConn之类的东西,然后操纵它,但这并不是那么顺利.然后我尝试使用enum类的对象类型,但我也遇到了问题.我知道有很多第三方库可以完成所有这些,但我更喜欢使用自己的代码.

有没有人有任何建议我如何修改我的DBWrapper来解决这个问题?

//WRAPPER CLASS THAT CALLS DBMySQL, ISSUE IS I NOW NEED TO SUPPORT 
//DBMSSQL as well, not just DBMySQL
class DBWrapper
{
    DBMySQL dbConn;

    public DBWrapper(...,string type)
    {
        if(type.Equals("MySQL")
        {
            dbConn = new DBMySQL(...);
        }
        //NEED TO REWORK TO SUPPORT THIS BELOW!!
        else if(type.Equals("MSSQL")
        {
            //NEED TO MODIFY TO SUPPORT MSSQL
            //ISSUE IS DbConn is of type DBMySQL
            //SO I CANNOT GO
            // DbConn = new DBMSSQL(...);
            // any ideas?
        }   
    } …
Run Code Online (Sandbox Code Playgroud)

c# mysql wrapper

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

存储任意引用的 C++ 包装类,但本身不是类模板

是否可以定义一个类,它不是类模板,并且可以存储(例如在构造时)对任何特定类型的引用并稍后通过 getter 方法检索它?

struct Wrapper {
  template<typename T> Wrapper(const T& t): t_(t);

  // How to store the reference??
};
Run Code Online (Sandbox Code Playgroud)

Boost::variant当然不是解决方案,因为它是作为类模板实现的。而且我没有 RTTI。(在HPC环境下,性能就是一切!)

getter()应能记住的类型。这样auto以后就可以使用了。

c++ wrapper c++11

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

什么是接口和包装器?

我知道为什么要使用接口和包装器。

但是我混淆了命名包装器类......(“谁是包装器?”我看我不太了解......)

public Interface A {
    void method();
}

public Class B implements A {
    void method() {
        doSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)

我对两件事感到困惑......

  1. Wrapper Class是 class ,所以 B 是包装器。

  2. 我们通常看到(或想到?)a.method() 而不是 b.method(),所以 A 是包装器。

什么是包装器?

一种?乙?

和...

如何使用“Wrapper”或“W”命名 A、B 好?

A、包装器?或B,BWrapper?还是其他人……?

java design-patterns interface wrapper

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

为什么布尔包装类实现了 Serializable 接口和 Comparable 接口?它有什么用?

为什么 Boolean 和 Character 包装类正在实现 Serializable 接口和 Comparable 接口?它有什么用?

java boolean class wrapper

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

lexical cast c ++

我们如何编写一个包装器词法转换函数来实现如下行:

int value = lexical_cast<int> (string)
Run Code Online (Sandbox Code Playgroud)

我对编程很陌生,并且想知道我们如何编写函数.我不知道如何找出一个模板.我们也可以为double编写一个包装函数吗?喜欢

double value = lexical_cast2<double> (string)
Run Code Online (Sandbox Code Playgroud)

??

c++ wrapper lexical-cast

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

实现接口的通用还是双重?

说我有这个通用类:

abstract class Foo<T> where T : IBar
Run Code Online (Sandbox Code Playgroud)

这在这里很好,但我也希望能够通过double.现在我被告知这是一个坏主意,解决这个问题的唯一方法是编写一个处理双重案例的重复类.我也被告知,玩这种原始类型并不是一个好主意.

我想做的是包装double在一个实现的类中IBar.这将允许我使用包裹的双.我可以看到使用该类的一些问题,我再次被告知,为这些目的包装原始类型是一个坏主意.

  • 什么是解决这个问题的好方法?
  • 是时候重新考虑使用双打吗?
  • 我应该去创建一个单独的复制类来处理双打吗?(在我看来,这听起来好像我没有重复使用).
  • 当必须以通用方式处理基元时,经验法则(如果有的话)是什么?

catagorised的结构是double我们所知道的BigRational结构.这是两个System.Numerics.BigInteger成员之间的商的表示.算术是在这个结构上完全定义的Foo,T应该为double和定义做什么BigRational.

现在恰当的原因是这些是不相关的,因此创建一个界面来联合它们是不好的做法(更不用说首先包装原语).

我对IBar界面的想法是将算术作为一项要求.现在将来,如果我尝试使用Foo其他类/结构来实现IBar它应该没问题.但我也想double工作.所以现在我正在寻找的是一个很好的理由,甚至double首先包装,以及这将如何与良好的实践相吻合.

c# generics primitive wrapper

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

如何从源代码生成QuickFix的c#包装器?

我从这里克隆了项目:https://github.com/quickfix/quickfix/tree/master/src

并尝试执行脚本spec/generate.bat或GeneratorNET.rb,但我无法获取整个.cs文件,以便正确构建quickfix_net.dll c#包装器.

谁知道怎么做?

谢谢

c# wrapper quickfix

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

展开std :: reference_wrapper的成本

鉴于:

#include <iostream>
#include <functional>

template<class T> // Just for overloading purposes
struct behaviour1 : std::reference_wrapper<T const>
{
    using base_t = std::reference_wrapper<T const>;
    using base_t::base_t;

    // This wrapper will never outlive the temporary
    // if used correctly
    behaviour1(T&& t) : base_t(t) {}
};

template<class T>
behaviour1(T&&) -> behaviour1<std::decay_t<T> >;

struct os_wrapper : std::reference_wrapper<std::ostream>
{
    using std::reference_wrapper<std::ostream>::reference_wrapper;

    template<class T>
    os_wrapper& operator<<(behaviour1<T> const& v)
    {
        *this << v.get(); // #1
        return *this;
    }

    template<class U>
    os_wrapper& operator<<(U&& t)
    { this->get() << t; …
Run Code Online (Sandbox Code Playgroud)

c++ performance wrapper indirection

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