Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
case 0:
// Нет параметров - возвращаем список всех
// переменных в контексте выполнения.
StringBuffer sb = new StringBuffer();
Enumeration names = context.propertyNames();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
String val = context.getProperty(name);
sb.append(name + "=" + val);
if (names.hasMoreElements()) {
sb.append(CRLF);
}
}
if (sb.length() > 0) {
return sb.toString();
} else {
return null;
}
case 1:
// Один параметр - удаляем из контекста выполнения
// переменную, указанную в качестве параметра.
context.remove((String) parameters.get(0));
return null;
case 2:
// Два параметра - устанавливаем в контексте
// выполнения переменную, указанную в качестве
// первого параметра, в значение, указанное
// в качестве второго параметра.
context.setProperty((String) parameters.get(0),
(String) parameters.get(1));
return null;
default:
throw new SyntaxError();
}
}
public String getDescription(String name) {
return "Manages environment variables.";
}
public String getHelp(String name) {
return "Manages environment variables."
+ CRLF + "Syntax: " + name + " [variable [value]]";
}
private final static String CRLF =
System.getProperty("line.separator");
}
Побочным эффектом изменения контекста может быть влияние на процесс интерпретации. Например, описанная выше команда завершения интерпретации может быть реализована непосредственно на целевом языке:
set $QUIT true
Система помощи
Интерфейс Command предоставляет возможности для создания справочной системы. На основе этих возможностей мы и запрограммируем команду HelpCommand. Вызов команды HelpCommand без параметров возвратит список всех зарегистрированных команд с кратким описанием каждой из них, а вызов с одним параметром выдаст подробную справку по команде, имя которой задано параметром.