这种语言的新功能很新,本周开始使用它。
所以我的问题是,我创办的新公司使用CF11,并且它们主要仅使用标签进行编码。我想知道是否可以在没有变量声明的情况下调用@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder routeBuilder) {
return routeBuilder.routes()
.route(r -> r.path("/api/v1/**")
.setRequestHeader("testKey", "testValue")
.uri("URL"))
.build();
}
。
如果不是,用标签调用没有返回值的函数的更好方法是什么?
cfset
我通常在cfset上调用我的启动函数,但是它们都有返回值。
<cfset myFunction()>
答案 0 :(得分:7)
是的,在不捕获结果的情况下调用函数是完全可以的。可悲的是,在旧的CF文档中曾经有很多这样的语法。它给您一定的错误印象,您必须捕获函数的结果(并在所有位置使用额外的井号)。都不是真的。即使函数确实返回了某些内容,也不需要捕获结果。仅当您希望以后将其用于某些用途时。您始终可以随意调用函数,而完全忽略结果。所以这两个都是有效的:
<!--- 1. capture result --->
<cfset result = getTimeNow()>
<!--- 2. ignore result --->
<cfset getTimeNow()>
<!--- sample function --->
<cffunction name="getTimeNow" return="date">
<cfreturn now()>
</cffunction>
从技术上讲,没有什么可以阻止您捕获不返回任何内容的函数的结果。但是,“结果”变量将是未定义的,因此它实际上没有任何作用。
<cfset result = doNothing()>
<!--- this will error --->
<cfoutput>#result#</cfoutput>
<!--- sample function --->
<cffunction name="doNothing" return="void">
<!--- function that returns nothing --->
</cffunction>