设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
常看见“名字空间” ,这个术语是什么意思? ...
返回列表
查看:
1012
|
回复:
6
常看见“名字空间” ,这个术语是什么意思?
[复制链接]
devel
devel
当前离线
积分
1472
IP卡
狗仔卡
发表于 2003-10-25 23:31:37
|
显示全部楼层
|
阅读模式
thanks in advance.!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
angelp_9312
angelp_9312
当前离线
积分
160
IP卡
狗仔卡
发表于 2003-10-27 20:27:17
|
显示全部楼层
我的理解,在perl中的,
名字空间主要是指在某一个包中或者子程序中定义的局域变量了只有在这里面才有起作用,其不会传递到其调用程序中,那么这个子程序中就是指这些变量的名字空间,
书上讲的
sub subname{
}
subname代表自己定义函数的名称,它的命名规则和标量变量,散列,数组,函数名称有自己的命名空间,所以$name ,%name,@name和函数name彼此之间没有什么关系,从而也不会造成混淆
这里的命名空间就是名字空间了,指在子程序内部定义的变量
回复
支持
反对
使用道具
举报
显身卡
devel
devel
当前离线
积分
1472
IP卡
狗仔卡
楼主
|
发表于 2003-10-27 21:32:39
|
显示全部楼层
谢谢,那 我看见perl的子程序里有my ,有什么用,是定义变量只能在子程序里用吗?
回复
支持
反对
使用道具
举报
显身卡
angelp_9312
angelp_9312
当前离线
积分
160
IP卡
狗仔卡
发表于 2003-10-27 21:43:58
|
显示全部楼层
是的,子程序中局部变量定义有两种方式my和local
它们的区别在于 my定义的变量只能在该子程序中存在;而local定义的变量不存在于主程序,但存在于该子程序和该子程序调用的子程序中。
定义时可以给其赋值,如
my ($a) = 1;
local ($b) = 2;
但在子程序中大部分都使用my定义变量,以该变量混淆,除非你想让你的子程序中的变量能上一级子程序中可以使用才利用local定义
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2003-10-27 23:01:49
|
显示全部楼层
local 是比较老的调用子例程中才可以见到的,
local实际上会保存给定的全局变量,并在以后恢复它."保存-恢复"
my变量(词法变量)要比local(全局变量)要快,他们的机制很容易混肴,千万不可以把local任意改成my.
回复
支持
反对
使用道具
举报
显身卡
devel
devel
当前离线
积分
1472
IP卡
狗仔卡
楼主
|
发表于 2003-10-27 23:26:54
|
显示全部楼层
谢谢angelp_9312 AND javalee的热心帮助,
用的时候就用my吧,容易看,不会混乱。
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2003-10-27 23:34:58
|
显示全部楼层
写脚本的时候还是建议看看他的手册,最好用新的一些东西,如用my来代替陈旧的local,用chomp替换chop等...
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
小企鹅新闻图书馆
Redhat/Fedora/CentOS Linux
网络技术\网络安全讨论
Gentoo Linux
Slackware Linux
MySQL
红旗 REDFLAG Linux
LFS(LinuxfromScratch)
Java 程序设计开发讨论
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表