BeanShell特殊变量和值

BeanShell系统变量详解
本文详细介绍了BeanShell中系统预定义的变量,如$_、$_e等特殊值,及bsh、bsh.args等用于不同场景下的变量。这些变量帮助开发者在BeanShell环境中更好地进行调试和管理。

除了作用与修饰符:“this”、“super”、“global”之外,BeanShell 支持大量系统预定义的变量,“不可思议的”值和方法。
特殊的值

  • $_ —— 最后一个表达式评估的值。这种奇怪的构造沿用自 Perl 语言,但是这种想法存在于许多脚本语言中。在交互地工作中方便你取得最后的结果。
  • $_e —— 抛出最后一个未捕捉的异常对象。这方便你在交互的使用中取回最后一个异常来检查它的细节。
  • bsh —— BeanShell 系统的根对象,包含系统信息和变量。
  • bsh.args —— 对 BeanShell interpreter 作为命令行参数传递的字符串数组。
  • bsh.shared —— 对所有 interpreter 实例进行共享的一个特殊的静态空间。通常每个 bsh.Interpreter 实例全局上是独立的;有自己的唯一的全局的命名空间和设置。bsh.shared 在 bsh.Interpreter 类中作为一个静态地命名空间被实现出来。它的增加主要为 GUI 桌面实例中的通信提供支持。
  • bsh.console —— 如果 BeanShell 在它自己的 GUI 桌面模式中运行,只要它有变量,那么这个变量就持有一个对当前 interpreter 的控制台的引用。
  • bsh.appletcontext —— 如果 BeanShell 在一个 Applet 中运行,存在的话,指的是当前 applet 的上下文。
  • bsh.cwd —— 一个代表 BeanShell interpreter 当前工作目录的 String 字符串。它被 cd()、dir()、pwd()、pathToFile()命令使用或控制。
  • bsh.show —— show() 命令使用的一个 boolean 值。它表明了在交互使用中结果是否被打印。
  • bsh.interactive —— 一个表明是否这个 interpreter 运行在一个交互的模式中的 boolean 值。
  • bsh.evalOnly —— 一个表明这个 interpreter 是否拥有输入流或者它是否只作为 eval() 操作(比如:嵌入式使用)的一个引擎服务。

注意:

使用“bsh”作为系统根对象名称的选择多少有点不太适宜,因为它和当前 BeanShell(以及 bsh 的包名冲突。这意味着如果

你想显示地从 BeanShell 脚本(例如:bsh.Interpreter)中使用 BeanShell 类,你必须先导入他们。比如:

import bsh.Interpreter;
i=new Interpreter();

运行效果
$_

使用的例子



$_e

使用的例子



bsh

使用的例子



本文转自 tongqiuyan  51CTO博客,原文链接:http://blog.51cto.com/tongqiuyan/766837

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值