我的变量的值为0,但是我没有将其设置为0

笑脸

今天,我注意到我的zsh函数之一无法正常工作。我调查了这个问题,罪魁祸首是:

for i in a b
do
echo "$i"
done
0
0

然后,我打开了一个新的zsh,在此过程中,一切工作正常:

for i in a b
do
echo "$i"
done
a
b

谁能解释第一个对我奇怪的表演背后的原因?

% typeset -i i
% for i in a b; print $i
0
0

zsh可以为in中的变量分配各种类型,以上-i为“在内部表示为整数”,这将导致变量被表示为整数。也可以通过来完成此操作integer i有多种检查变量是什么的方法:

% print ${(t)i}
integer
% typeset -p i
typeset -i i=0

和通常的+禁用它的外壳程序(另请参见set -xset +x):

% typeset +i i
% for i in a b; print $i
a
b

找出更改了该变量类型的变量并将其限制在局部范围内(在函数内)可能是有益的,这样全局名称空间就不会受到随机类型的污染,尤其是在经常使用的一次性变量名(例如)上i污染全局名称空间非常容易,因为只需要分配一个未声明的变量即可:

% () { local l=42; g=43 }
% print $l

% print $g
43

或者有人可以不必要地将-g标志添加到,typeset从而使变量成为全局变量:

% () { typeset -g -i h=42 }
% for h in a b; print $h
0
0

导出的变量可以保留到新进程中(通过可以是非子shell子级fork,或者可以通过来替代exec),但不能类型:

% export -i h=42
% print $h ${(t)h}
42 integer-export

% ( print ${(t)h} )
integer-export

% exec zsh -l
% print $h ${(t)h}
42 scalar-export

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的@lazy属性崩溃了,但是如果我将其设置为非惰性,它会起作用吗?

来自分类Dev

Integrated.ode将t0值设置为我的数据范围之外

来自分类Dev

我可以将ultraChart轴的最小值设置为0并仍然具有自动最大值吗?

来自分类Dev

Ampl在0次迭代中找到最优解,但是变量被错误地设置为0

来自分类Dev

我已经为UITableView的单元格设置了值,但是为什么它没有显示?

来自分类Dev

C ++:int array [a] [b] [c] = {0}; 不能将所有值都设置为0。那条指令是错误的还是我的输出函数有问题?

来自分类Dev

始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器没有将其设置为默认值?

来自分类Dev

我有一个返回字符串的方法,但是该变量的类型为可为空的布尔值

来自分类Dev

我将其设置为“没有'Access-Control-Allow-Origin'标头错误”

来自分类Dev

AVAudioRecorder!我需要将振幅的分贝值设置为0到120 ios迅速吗?

来自分类Dev

我的变量更改了设置为的变量的值

来自分类Dev

我为什么得到“ ValueError:没有为任何变量提供渐变:['Variable:0']。” 错误?

来自分类Dev

Python:当请求中没有值时,如何将变量设置为“ None”或“ 0”之类的值

来自分类Dev

我为我的<th>留出了余量...但是它没有用

来自分类Dev

我可以在整个PHP脚本中将“”(什么都没有)定义为“ 0”吗?

来自分类Dev

如果没有值,则将变量设置为null

来自分类Dev

为什么没有为我设置OnTouchListener?

来自分类Dev

MySQL翻转布尔值仅将其设置为“ 0”

来自分类Dev

我有一个返回字符串的方法,但是该变量的类型为可为空的布尔值

来自分类Dev

我的应用可以免费下载,但是具有IAP,我应该将其设置为免费还是在Google Developer Console上付费?

来自分类Dev

为什么当我将它设置为 0 时我仍然有右边距?

来自分类Dev

为什么我需要将 DISPLAY 变量设置为 10:0?

来自分类Dev

我想在宽度不为 0 时为 div 设置动画

来自分类Dev

为什么我的浮点值总是为 postgres 查询中的所有条目返回 0?

来自分类Dev

CLion 没有调试我的目标之一 - 立即“进程完成,退出代码为 0”

来自分类Dev

为什么我的布尔变量没有设置为 True?

来自分类Dev

我将“状态”设置为“0”。但是,“状态”中没有任何内容

来自分类Dev

我有一个 JSON 数组,其中 4 个元素的角度为 7,但是当我要求它的长度时它显示为 0

来自分类Dev

为什么我们必须定义变量 dp = [0] * (n+1) 只是为了将其变量设置为等于 0(在动态规划中)

Related 相关文章

  1. 1

    为什么我的@lazy属性崩溃了,但是如果我将其设置为非惰性,它会起作用吗?

  2. 2

    Integrated.ode将t0值设置为我的数据范围之外

  3. 3

    我可以将ultraChart轴的最小值设置为0并仍然具有自动最大值吗?

  4. 4

    Ampl在0次迭代中找到最优解,但是变量被错误地设置为0

  5. 5

    我已经为UITableView的单元格设置了值,但是为什么它没有显示?

  6. 6

    C ++:int array [a] [b] [c] = {0}; 不能将所有值都设置为0。那条指令是错误的还是我的输出函数有问题?

  7. 7

    始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器没有将其设置为默认值?

  8. 8

    我有一个返回字符串的方法,但是该变量的类型为可为空的布尔值

  9. 9

    我将其设置为“没有'Access-Control-Allow-Origin'标头错误”

  10. 10

    AVAudioRecorder!我需要将振幅的分贝值设置为0到120 ios迅速吗?

  11. 11

    我的变量更改了设置为的变量的值

  12. 12

    我为什么得到“ ValueError:没有为任何变量提供渐变:['Variable:0']。” 错误?

  13. 13

    Python:当请求中没有值时,如何将变量设置为“ None”或“ 0”之类的值

  14. 14

    我为我的<th>留出了余量...但是它没有用

  15. 15

    我可以在整个PHP脚本中将“”(什么都没有)定义为“ 0”吗?

  16. 16

    如果没有值,则将变量设置为null

  17. 17

    为什么没有为我设置OnTouchListener?

  18. 18

    MySQL翻转布尔值仅将其设置为“ 0”

  19. 19

    我有一个返回字符串的方法,但是该变量的类型为可为空的布尔值

  20. 20

    我的应用可以免费下载,但是具有IAP,我应该将其设置为免费还是在Google Developer Console上付费?

  21. 21

    为什么当我将它设置为 0 时我仍然有右边距?

  22. 22

    为什么我需要将 DISPLAY 变量设置为 10:0?

  23. 23

    我想在宽度不为 0 时为 div 设置动画

  24. 24

    为什么我的浮点值总是为 postgres 查询中的所有条目返回 0?

  25. 25

    CLion 没有调试我的目标之一 - 立即“进程完成,退出代码为 0”

  26. 26

    为什么我的布尔变量没有设置为 True?

  27. 27

    我将“状态”设置为“0”。但是,“状态”中没有任何内容

  28. 28

    我有一个 JSON 数组,其中 4 个元素的角度为 7,但是当我要求它的长度时它显示为 0

  29. 29

    为什么我们必须定义变量 dp = [0] * (n+1) 只是为了将其变量设置为等于 0(在动态规划中)

热门标签

归档