Questions tagged «variable-assignment»

设置或重新设置存储在以变量名表示的存储位置中的值的过程。


2
我如何处理移出的物体?
该标准是否精确定义了对象从对象移出后可以做什么?我曾经认为,对移出的对象可以做的只是破坏它,但这还不够。 例如,采用swap标准库中定义的功能模板: template <typename T> void swap(T& a, T& b) { T c = std::move(a); // line 1 a = std::move(b); // line 2: assignment to moved-from object! b = std::move(c); // line 3: assignment to moved-from object! } 显然,必须可以将其分配给移出的对象,否则第2行和第3行将失败。那么我还能对移出的对象做什么呢?我在哪里可以在标准中找到这些详细信息? (顺便说一句,为什么T c = std::move(a);不是T c(std::move(a));第1行呢?)

2
按组在data.table中使用:=分配多列
使用分配给多列的最佳方法是什么data.table?例如: f <- function(x) {c("hi", "hello")} x <- data.table(id = 1:10) 我想做这样的事情(当然这个语法是不正确的): x[ , (col1, col2) := f(), by = "id"] 为了扩展这一点,我可能有很多列,它们的名称存储在变量中(例如col_names),我想这样做: x[ , col_names := another_f(), by = "id", with = FALSE] 做这样的事情的正确方法是什么?

5
Linux bash:多变量分配
Linux bash中确实存在类似于PHP中以下代码的内容: list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ; 也就是说,您在一个句子中为3个不同的变量分配了一个对应的值。 假设我有bash函数myBashFuntion,该函数会写入标准输出字符串“ qwert asdfg zxcvb”。是否可以做类似的事情: (var1 var2 var3) = ( `myBashFuntion param1 param2` ) 等号左边的部分当然不是有效的语法。我只是想解释我的要求。 但是,有效的方法如下: array = ( `myBashFuntion param1 param2` ) echo ${array[0]} ${array[1]} ${array[2]} 但是索引数组的描述性不如普通变量名。 但是,我可以这样做: var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]} 但是,我还是希望避免另外3条语句。 我只是在寻找一种快捷方式语法。可能吗?

7
Javascript三元运算符的运算符优先级
我似乎无法与三元运算符结合使用此代码的第一部分(+ =)。 h.className += h.className ? ' error' : 'error' 我认为这段代码的工作方式如下: h.className = h.className + h.className ? ' error' : 'error' 但这是不正确的,因为这会导致控制台出现错误。 所以我的问题是我应该如何正确插入此代码?

2
一次将相同的值分配给多个变量?
如何一次为PHP中的多个变量分配相同的值? 我有类似的东西: $var_a = 'A'; $var_b = 'A'; $same_var = 'A'; $var_d = 'A'; $some_var ='A'; 就我而言,我不能将所有变量重命名为相同的名称(这会使事情变得更容易),那么有没有办法以更加紧凑的方式为所有变量分配相同的值?


13
Python中Lambda表达式内的赋值
我有一个对象列表,我想使用filter和lambda表达式删除除一个以外的所有空对象。 例如,如果输入是: [Object(name=""), Object(name="fake_name"), Object(name="")] ...那么输出应为: [Object(name=""), Object(name="fake_name")] 有没有一种方法可以向lambda表达式添加赋值?例如: flag = True input = [Object(name=""), Object(name="fake_name"), Object(name="")] output = filter( (lambda o: [flag or bool(o.name), flag = flag and bool(o.name)][0]), input )

10
为什么我=我+我给我0?
我有一个简单的程序: public class Mathz { static int i = 1; public static void main(String[] args) { while (true){ i = i + i; System.out.println(i); } } } 当我运行该程序时,我看到的只是0用于i输出。我原本希望我们会遇到第一轮i = 1 + 1,然后是i = 2 + 2,然后是i = 4 + 4etc。 这是由于这样的事实,我们尝试i在左侧重新声明时,其值会重置为0? 如果有人可以指出我的详细情况,那将很棒。 更改int为long,似乎正在按预期方式打印数字。我对它达到最大32位值的速度感到惊讶!

3
Python中a-= b和a = a-b之间的区别
我最近将这种解决方案应用于平均每N行矩阵。尽管该解决方案总体上可行,但将其应用于7x1阵列时遇到了问题。我注意到问题出在使用-=运算符时。举一个小例子: import numpy as np a = np.array([1,2,3]) b = np.copy(a) a[1:] -= a[:-1] b[1:] = b[1:] - b[:-1] print a print b 输出: [1 1 2] [1 1 1] 因此,在数组的情况下a -= b产生的结果与有所不同a = a - b。我认为到目前为止,这两种方式是完全相同的。有什么区别? 我提到的用于对矩阵中的每N行求和的方法如何工作(例如,对于7x4矩阵而不是7x1数组)?



5
为什么C和C ++支持在结构中对数组进行成员分配,但通常不支持?
我了解不支持数组的成员分配,因此以下操作将不起作用: int num1[3] = {1,2,3}; int num2[3]; num2 = num1; // "error: invalid array assignment" 我只是接受这一事实,认为该语言的目的是提供一个开放式框架,并让用户决定如何实现某些功能,例如复制数组。 但是,以下方法确实有效: struct myStruct { int num[3]; }; struct myStruct struct1 = {{1,2,3}}; struct myStruct struct2; struct2 = struct1; 该阵列num[3]是构件明智从它的实例在分配struct1到其实例在struct2。 为什么结构支持数组的成员分配,但通常不支持? 编辑:在结构中std :: string线程中Roger Pate的注释-复制/分配问题?似乎指出了答案的总体方向,但我自己知道的还不够。 编辑2:许多出色的回应。我之所以选择Luther Blissett,是因为我主要想知道该行为背后的哲学或历史原理,但是James McNellis对相关规范文档的引用也很有用。

6
从Bash中的文本文件创建数组
脚本采用一个URL,将其解析为必填字段,然后重定向其输出以保存在文件中, file.txt中。每次找到字段时,输出将保存在新行中。 file.txt A Cat A Dog A Mouse etc... 我要拿 file.txt在新脚本中从中创建一个数组,其中每一行都将成为数组中自己的字符串变量。到目前为止,我已经尝试过: #!/bin/bash filename=file.txt declare -a myArray myArray=(`cat "$filename"`) for (( i = 0 ; i < 9 ; i++)) do echo "Element [$i]: ${myArray[$i]}" done 当我运行此脚本时,空格导致单词被拆分,而不是被获取 所需的输出 Element [0]: A Cat Element [1]: A Dog etc... 我最终得到这个: 实际产量 Element …

12
如何将一个ArrayList的内容复制到另一个?
我有一些数据结构,我想将其中一个用作临时结构,将另一个用作非临时结构。 ArrayList<Object> myObject = new ArrayList<Object>(); ArrayList<Object> myTempObject = new ArrayList<Object>(); //fill myTempObject here .... //make myObject contain the same values as myTempObject myObject = myTempObject; //free up memory by clearing myTempObject myTempObject.clear(); 现在的问题当然是myObject实际上只是指向myTempObject,因此一旦myTempObject清除,也是如此myObject。 如何myTempObject在myObject使用Java时保留值?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.