Coldfusionの動的型付けっぽいトコロ。
知らなかったのですが、試してみたら出来たのでメモ。
以下のようなコンポーネントを定義します。
[TestModule1.cfc]
<cfcomponent output="false"> <cffunction name="add" access="public" output="false" returntype="numeric"> <cfargument name="p1" type="numeric" required="true" /> <cfargument name="p2" type="numeric" required="true" /> <cfreturn ARGUMENTS.p1 + ARGUMENTS.p2 /> </cffunction> </cfcomponent>
[TestModule2.cfc]
<cfcomponent output="false"> </cfcomponent>
Module2は空っぽです。
しかし、これらを利用するコンポーネントの方で以下のようなことをしてあげると。。。
<html> <cfoutput> <head> <title>Test of cffunction</title> </head> <body> <cfset VARIABLES.module1=CreateObject("component", "examples.functest1.TestModule1") /> <cfset VARIABLES.a=module1.add(1, 2) /> Result@Module1=[#VARIABLES.a#] <br /> <cfset VARIABLES.module2=CreateObject("component", "examples.functest1.TestModule2") /> <cfset VARIABLES.module2.add=VARIABLES.module1.add /> <cfset VARIABLES.b=module2.add(3, 4) /> Result@Module2=[#VARIABLES.b#] </body> </cfoutput> </html>
結果はこのように。
Result@Module1=[3]
Result@Module2=[7]
へー。