返回指定的类参数的值。
$PARAMETER(class,parameter)
$PARAMETER
返回指定的类参数的值。 $PARAMETER
可以在当前类上下文或指定的类上下文中查找此参数。可以将类名指定为带引号的字符串,指定OREF或忽略类参数,并默认使用当前实例(请参见$THIS
)。指定类是可选的;必须指定逗号分隔符。
DHC-APP> WRITE $PARAMETER("%Library.Boolean","XSDTYPE")
boolean
有多种使用对象语法返回参数值的方法,如以下示例所示:
/// d ##class(PHA.TEST.Function).PARAMETER()
ClassMethod PARAMETER()
{
ZNSPACE "Samples"
WRITE "ObjectScript function:",!
WRITE $PARAMETER("Sample.Person","EXTENTQUERYSPEC")
WRITE !,"class parameter:",!
WRITE ##class(Sample.Person).#EXTENTQUERYSPEC
WRITE !,"instance parameter:",!
SET myinst=##class(Sample.Person).%New()
WRITE myinst.%GetParameter("EXTENTQUERYSPEC")
WRITE !,"instance parameter:",!
WRITE myinst.#EXTENTQUERYSPEC
}
DHC-APP>d ##class(PHA.TEST.Function).PARAMETER()
ObjectScript function:
Name,SSN,Home.City,Home.State
class parameter:
Name,SSN,Home.City,Home.State
instance parameter:
Name,SSN,Home.City,Home.State
instance parameter:
Name,SSN,Home.City,Home.State
$PARAMETER("","XMLTYPE")
:尝试调用无效的OREF(例如空字符串,整数或小数)将导致
错误。$PARAMETER("bogus","XMLTYPE")
:尝试调用不存在的类会导致
错误,后跟指定的类名。如果未指定软件包名称,则Caché将采用默认名称。例如,尝试调用不存在的类“bogus”
将导致
错误 * User.bogus
。$PARAMETER(,"XMLTYPE")
:尝试在未建立任何对象实例时默认使用默认对象导致
错误。$PARAMETER("%SYSTEM.Task","")
:尝试引用无效的参数名称(例如,空字符串)或通过数字引用参数会生成
错误。$PARAMETER("%SYSTEM.Task","MakeCoffee")
:尝试引用不存在的参数名称将返回空字符串(“”
)。以下示例指定类名,并返回XMLTYPE和XSDTYPE参数的类默认值:
SAMPLES>WRITE $PARAMETER("%SYSTEM.Task","XMLTYPE")
SYSTEMTask
SAMPLES>WRITE $PARAMETER("%Date","XSDTYPE")
date
下面的示例指定一个OREF并为此实例返回XMLTYPE参数的值:
SAMPLES>SET oref=##class(%SYSTEM.Task).%New()
SAMPLES>WRITE $PARAMETER(oref,"XMLTYPE")
SYSTEMTask
以下示例使用$PARAMETER
语法和类语法返回系统参数:
SAMPLES>WRITE $PARAMETER("%SYSTEM.SQL","%RandomSig")
N74U7m1MbDMBIA
SAMPLES>WRITE ##class(%SYSTEM.SQL).#%RandomSig
N74U7m1MbDMBIA