标签: operator-keyword

Python中的新运算符

为表示我们可以定义的Python的内在运营商这里.只是为了好奇,我们可以定义像$或的新运算符***吗?(如果是这样,那么我们可以定义三元条件运算符或旋转运算符.)

python operators operator-keyword

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

大查询 - 与/或运算符

我尝试获取一个答案数据库,该数据库为我提供目的地美国和不同原籍国的所有数据。然而,在一行中可能会写成 CN、HK、JP - 含义很多。因此,我编写的查询如下,但答案仅包含来源 CN 或 HK,但不包含“CN,JP,HK”。
什么是正确的代码?

SELECT destination_country,origin_country, createDate FROM [DataWarehouse.Draft] 
Where destination_country contains "US"
And originCountries In ("CN", "HK")
Run Code Online (Sandbox Code Playgroud)

行 来源国家/地区 目的地国家/地区 创建周
1 CN US 2014W30
2 CN US 2014W30
3 CN US 2014W30
4 CN US 2014W30
5 HK US 2014W30
6 HK US 2014W30

selection operator-keyword google-bigquery

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

R中%o%的含义

我在R中遇到以下情况:

x=x+y%o%c(1.5,1.5)
Run Code Online (Sandbox Code Playgroud)

我想知道%o%这里的含义是什么.我尝试谷歌搜索,但没有太多运气

r operator-keyword

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

替代 - > operator()

有没有更好的语法比调用objp->operator()(x, y, z),如果objp是一个指针?&objp(x, y, z)不起作用.由于所有符号,这对谷歌来说很难.对不起,这很傻.

c++ pointers overloading operator-keyword

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

Ruby:仅在某些情况下重载运算符行为

我的问题是:如何在内置类(例如 Integer.new.+)上重载运算符,但仅限于某些情况,具体取决于第二个操作数的类

这是我正在寻找的行为:

myObject = myClass.new
1 + myObject #=> special behaviour
1 + 2        #=> default behaviour (3)
Run Code Online (Sandbox Code Playgroud)

例如,在 Python 中,我会__radd__在 myClass 上定义一个方法来覆盖情况 1。

我尝试过使用super但显然Numeric没有操作员方法。

理想情况下,我正在寻找一种提取+方法并重命名它的方法。

像这样:

class Integer
  self.plus = self.+  # you know what i mean, I don't know how else to express this.
                      # I also know that methods don't work like this, this is just to
                      # illustrate a point.
  def + other
    other.class == myClass ? …
Run Code Online (Sandbox Code Playgroud)

ruby methods operator-overloading operator-keyword

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

下标运算符的 C++ 继承规则

我有一个关于 C++ 中的下标运算符、重载和继承的问题。我很确定,如果您有一个具有多个函数重载的父类,那么子类可能只覆盖其中一个函数并继承其余函数。这似乎不适用于下标运算符。(我做了一个错误的假设。它确实与任何其他函数没有什么不同。)考虑以下代码:

struct A {};
struct B {};

struct Parent
{
   virtual ~Parent() {}
   virtual int operator[](A index) { return -1; }
   virtual int operator[](B index) { return -2; }
};

struct Child : public Parent
{
   virtual int operator[](B index) override { return -3; }
};

int main()
{
   // error: no match for 'operator[]' (operand types are 'Child' and 'A')
   return Child()[A()]; 
}
Run Code Online (Sandbox Code Playgroud)

我希望它使用来自父级的下标运算符而不是导致错误。是否可以从父级继承一些重载的下标运算符并覆盖其他下标运算符?如果没有,有没有比这样做更好的解决方案:

struct Child : public Parent
{
    virtual int operator[](B index) override …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance overloading subscript operator-keyword

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

在Python中使用__add__运算符和多个参数

我正在尝试添加一个带有数字的类对象,但我对如何添加带有两个数字的类对象感到困惑.例如,这是我假设的添加类方法:

class A:
    def __add__(self, b):
        return something
Run Code Online (Sandbox Code Playgroud)

我知道如何添加到目前为止:

object = A()
print(object + 1)
Run Code Online (Sandbox Code Playgroud)

但是,如果我想像这样添加它怎么办?

object = A()
print(object + 1 + 2)
Run Code Online (Sandbox Code Playgroud)

我应该使用*args作为add class方法吗?

python overloading class add operator-keyword

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

C# 自定义迭代器实现

我有一个类,比如 Myclass,有一个列表变量,比如字符串列表,我想从 Myclass 对象实例外部调用它,在一个循环中,简洁地像:

Myclass myclass = new Myclass();

foreach (string s in myclass)
{
}
Run Code Online (Sandbox Code Playgroud)

我怀疑它在属性的 Myclass 中使用了隐式运算符关键字。语法 grrr..!有什么帮助吗?

(不确定这是否是好的做法,但有时它会派上用场)。

keyword operator-keyword c#-2.0

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

为什么要避免使用递增赋值运算符 (+=) 来创建集合

StackOverflow 站点的问答中+=经常使用递增赋值运算符 ( )[PowerShell]来构造集合对象,例如:

$Collection = @()
1..$Size | ForEach-Object {
    $Collection += [PSCustomObject]@{Index = $_; Name = "Name$_"}
}
Run Code Online (Sandbox Code Playgroud)

然而,它似乎是一种非常低效的操作。

一般情况下,+=在 PowerShell 中构建对象集合时应该避免使用递增赋值运算符 ( ) 是否可以?

collections powershell variable-assignment operator-keyword

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

列表推导式中的海象运算符 (python)

因此,在编码时,我真的很喜欢使用列表推导式来转换数据,并且我尽量避免使用 for 循环。现在我发现 walrus 运算符在这方面真的很方便,但是当我尝试在我的代码中使用它时,它似乎不起作用。我有以下代码,并希望在一个简单的行中将包含有关时间戳的数据的字符串转换为 datetime 对象,但出现语法错误,我不确定正确的语法是什么,有人知道我做了什么吗错误的?

from datetime import datetime

timestamps = ['30:02:17:36',
              '26:07:44:25','25:19:30:38','25:07:40:47','24:18:29:05','24:06:13:15','23:17:36:39',
              '23:00:14:52','22:07:04:33','21:15:42:20','21:04:27:53',
              '20:12:09:22','19:21:46:25']

timestamps_dt = [
    datetime(days=day,hours=hour,minutes=mins,seconds=sec) 
    for i in timestamps
    day,hour,mins,sec := i.split(':')
] 

Run Code Online (Sandbox Code Playgroud)

python list-comprehension list operator-keyword walrus

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