公共命名空间:上下文容器

公共命名空间,是供程序员讨论的空间,大家在这里讨论计算机语言应该是什么样子的,然后,由语言的制作者实现计算机语言。
准确地说,上下文容器不属于公共命名空间,它更像是公共命名空间中的某个方言的特性。
上下文容器的想法来自于Perl语言的“老地方变量”。

$_="hello";
print;

这句不带任何参数的print使用了老地方变量,用上下文容器实现同样的效果:

输入一个整数
输出

第一行的一般格式为:输入整数至[n]。这里没写至哪里,就至上下文容器。第一行执行完毕后,上下文容器里有了一个整数。第二行执行时,还缺一个参数,从上下文容器中找,找到了这个整数。

上下文容器有可能会“亏欠”:

输出
输入一个整数

执行第一行时,亏欠一个,就提前执行下文。第二行贡献一个,补上了亏欠。
在IDE(集成开发环境)中,应该有上下文容器的显示。
语言中,还应该有清空、推送、提取、备份、恢复上下文容器的句子。

清空上下文容器
推送[x]至上下文容器
从上下文容器提取至[x]
备份上下文容器为[x],并清空
从[x]恢复上下文容器

使用上下文容器,是为了简化源代码,但不要以增加错误为代价。
另一个例子:

[i]从[1]到[n]
获取整数[n]
循环:显示[i]

第一行向上下文容器中推入一个迭代器i,并亏欠一个整数n。
第二行弥补整数n。
第三行使用迭代器i。
至此,上下文容器为空,不推送,也不亏欠。
具体来说,"输入一个整数"和"输入一个整数至[n]"是两个函数,这两个函数很像,唯一的区别在于是否向上下文容器推送变量。

重复[6]次:
    输入一个整数
输出它们[6]个

上述程序若能运行,需要哪些条件?其中,第二行向上下文容器推送了6个变量。
另外,“重复[6]次”、“重复[6]遍”,意思是一样的,在公共命名空间中,这是一组冗余项。
现在看来,上下文容器是一个先入先出的队列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值