标签: scalar

Perl Split with array导致未初始化的值

我在两台不同的机器上运行相同的Perl脚本(Redhat和SUSE).在SUSE上,脚本运行正常,但在Redhat上没有.这是我正在运行的整个脚本:

#!/usr/bin/perl
$str = "Cat|Dog|Bird"; 
$number = split /\|/, $str;
$type = @_[0];
print "number of args: $number and type is: $type \n";
Run Code Online (Sandbox Code Playgroud)

我得到2个不同的输出

SUSE:

number of args: 3 and type is: Cat
Run Code Online (Sandbox Code Playgroud)

红帽:

number of args: 3 and type is: 
Run Code Online (Sandbox Code Playgroud)

我想知道是什么原因导致这个??? 在第一个$type以某种方式初始化

注意:我忽略了警告"标量值@_ [0]更好地写为$ _ [0]",因为如果我改变它没有任何区别.输出将是相同的.

perl scalar split

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

有没有更好的方法来为 numpy 数组标量分配一个新值?

我正在对来自 numpy 数组的标量值进行一些快速计算。正如文档中所说,

使用数组标量的主要优点是它们保留了数组类型(Python 可能没有可用的匹配标量类型,例如 int16)...

但是有没有比这更好(更快,更简洁)的方法来为现有数组标量分配一个新值:

>>> x = np.array(2.0, dtype='float32')
Run Code Online (Sandbox Code Playgroud)

这有效但不是那么方便(我正在做其他算术并希望始终保留该类型)。

由于明显的原因,这不起作用:

>>> x = np.array(1.0, dtype='float32')
>>> print(x, type(x))
1.0 <class 'numpy.ndarray'>
>>> x = 2.0
>>> print(x, type(x))
2.0 <class 'float'>
Run Code Online (Sandbox Code Playgroud)

这也不行:

>>> x = np.array(1.0, dtype='float32')
>>> x[] = 2.0
  File "<ipython-input-319-7f36071ff81d>", line 2
    x[] = 2.0
      ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

也不是这个:

>>> x = np.array(1.0, dtype='float32')
>>> x[:] = 2.0
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-24-62cd4ca238ce> in <module>()
      1 x …
Run Code Online (Sandbox Code Playgroud)

python arrays scalar numpy copy-assignment

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

Perl中`$ array [x,y]`的含义是什么?

我知道@array[0,2,6]是一个具有多个值的数组.

而且我认为这$scalar=3是一个具有单个标量值的变量.

但是,是什么$array[3, 4]?它是带有两个值的标量变量吗?

arrays perl scalar

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

使用\前面的数字打印垃圾值

前面带有转义字符'\'的数字会产生垃圾值Ex:

$a = \12;
print $a;
Run Code Online (Sandbox Code Playgroud)

此代码给出了以下输出

SCALAR(0x2001ea8)
Run Code Online (Sandbox Code Playgroud)

当我再次执行程序时输出会改变.

如果我在用户给出任何以零开头的输入时从用户获取值(数字),我不希望它将其解释为八进制数.所以如果数字从零开始,我想逃避零.

variables perl scalar

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

C++返回一个向量(int转换为非标量类型)

我试图填充一个以-1开头的整数向量,直到我的size参数的负数.例如:如果参数是6,那么我希望向量有6个项目,从-1到-6.哦,如果size参数小于1,我想返回一个空参数.

我得到一个"从'int'转换为非标量类型"错误消息.据我所知,这是很好的代码,但显然我无法弄明白.任何帮助表示赞赏.

#include <iostream>
#include <vector>

int negativity(int size) {
    std::vector<int> vect;
    if (size < 1) {
        return vect;
    }
    for (int i=-1; i > size; i--) {
        vect.push_back(i);
    }
    return vect;
}
Run Code Online (Sandbox Code Playgroud)

c++ int scalar types vector

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

标签 统计

scalar ×5

perl ×3

arrays ×2

c++ ×1

copy-assignment ×1

int ×1

numpy ×1

python ×1

split ×1

types ×1

variables ×1

vector ×1