Func Object [v1.1.00+]

½ºÅ©¸³Æ®°¡ È£ÃâÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ-Á¤ÀÇ ÇÔ¼ö³ª ³»Àå ÇÔ¼ö¸¦ °¡¸®Åµ´Ï´Ù.

ÇÔ¼öó·³ È£ÃâÇÒ ¼ö ÀÖ´Â ´Ù¸¥ °´Ã¼¿¡ °üÇÑ Á¤º¸´Â ÇÔ¼ö °´Ã¼¸¦ ÂüÁ¶ÇÕ´Ï´Ù.

ÇÔ¼ö °´Ã¼¸¦ °¡¸®Å°´Â ÂüÁ¶´Â ÇÔ¼ö ÂüÁ¶·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. ÇÔ¼ö ÂüÁ¶¸¦ ¿­¶÷ÇÏ·Á¸é, ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ÇÔ¼ö °´Ã¼¸¦ »ç¿ëÇϽʽÿÀ:

; "StrLen"À̶ó´Â À̸§ÀÇ ÇÔ¼ö¸¦ °¡¸®Å°´Â ÂüÁ¶¸¦ ¿­¶÷ÇÕ´Ï´Ù.
fn := Func("StrLen")

; ÇÔ¼ö¿¡ °üÇÑ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù.
MsgBox % fn.Name "() is " (fn.IsBuiltIn ? "built-in." : "user-defined.")

Call

ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.

Func.Call(Parameters)  ; v1.1.19+
Func.(Parameters)  ; ¿¹Àü Çü½Ä - ºñÃßõ

¸Å°³º¯¼ö¿Í ¹Ýȯ °ªÀº ÇÔ¼ö°¡ Á¤ÀÇÇÕ´Ï´Ù.

[v1.1.07+]: %Func%()¸¦ »ç¿ëÇϸé À̸§À̳ª ÂüÁ¶·Î ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç´Â __Call ¸ÞŸ-ÇÔ¼ö¸¦ ±¸ÇöÇÑ °´Ã¼¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡´ÉÇϸé Func.() ´ë½Å¿¡ ÀÌ°ÍÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

Bind [v1.1.20+]

¸Å°³º¯¼ö¸¦ ÇÔ¼ö¿¡ ¹­°í BoundFunc °´Ã¼¸¦ µ¹·ÁÁÝ´Ï´Ù.

BoundFunc := Func.Bind(Parameters)

Parameters´Â °³¼ö¿¡ »ó°üÀÌ ¾ø½À´Ï´Ù.

ÀÚ¼¼ÇÑ Á¤º¸¿Í ¿¹Á¦´Â BoundFunc °´Ã¼¸¦ ÂüÁ¶ÇϽʽÿÀ.

Name

ÇÔ¼öÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.

Func.Name

IsBuiltIn

ÇÔ¼ö°¡ ³»Àå ÇÔ¼öÀ̸é Âü(true)À» µ¹·ÁÁÖ°í ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþ(false)À» µ¹·ÁÁÝ´Ï´Ù.

Func.IsBuiltIn

IsVariadic

ÇÔ¼ö°¡ °¡º¯ ÇÔ¼öÀ̸é Âü(true)À» µ¹·ÁÁÖ°í ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþ(false)À» µ¹·ÁÁÝ´Ï´Ù.

Func.IsVariadic

MinParams

Çʼö ¸Å°³º¯¼öÀÇ °³¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.

Func.MinParams

MaxParams

»ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¿¡ °ø½ÄÀûÀ¸·Î-¼±¾ðµÈ ¸Å°³º¯¼öÀÇ °³¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù. ¶Ç´Â ³»Àå ÇÔ¼öÀÇ ÃÖ´ë ¸Å°³º¯¼ö °³¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.

Func.MaxParams

ÇÔ¼ö°¡ °¡º¯ ÇÔ¼öÀ̸é, ¹Ýȯ °ªÀº "variadic*" ¸Å°³º¯¼ö·Î Èê·¯ ³ÑÄ¡Áö ¾Ê°í ÇÔ¼ö°¡ ¹Þ¾Æ µéÀÏ ¼ö ÀÖ´Â ¸Å°³º¯¼öÀÇ ÃÖ´ë °³¼ö¸¦ ³ªÅ¸³À´Ï´Ù.

IsByRef()

¸Å°³º¯¼ö°¡ ByRefÀÎÁö °áÁ¤ÇÕ´Ï´Ù.

Func.IsByRef(ParamIndex)
ParamIndex¼±ÅÃÀûÀÔ´Ï´Ù: ¸Å°³º¯¼öÀÇ 1 ±â¹Ý-À妽º. »ý·«µÇ¸é, ¹Ýȯ °ªÀº ÇÔ¼ö¿¡ ByRef ¸Å°³º¯¼ö°¡ ÀÖ´ÂÁö ¾Ë·ÁÁÝ´Ï´Ù.
ReturnsÇÔ¼ö°¡ ³»Àå ÇÔ¼öÀ̰ųª ParamIndex°¡ À¯È¿ÇÏÁö ¾ÊÀ¸¸é ºó ¹®ÀÚ¿­À» µ¹·ÁÁÝ´Ï´Ù; ±×·¸Áö ¾ÊÀ¸¸é, ¸Å°³º¯¼ö°¡ ByRefÀÎÁö ³ªÅ¸³»´Â ºÒ¸®¾ð °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

IsOptional()

¸Å°³º¯¼ö°¡ ¼±ÅÃÀûÀÎÁö °áÁ¤ÇÕ´Ï´Ù.

Func.IsOptional(ParamIndex)
ParamIndex¼±ÅÃÀû: ¸Å°³º¯¼öÀÇ 1-±â¹Ý À妽º. »ý·«µÇ¸é, ¹Ýȯ °ªÀº ÇÔ¼ö¿¡ ¼±ÅÃÀû ¸Å°³º¯¼ö°¡ ÀÖ´ÂÁö ¾Ë·ÁÁÝ´Ï´Ù.
ReturnsParamIndex°¡ À¯È¿ÇÏÁö ¾ÊÀ¸¸é ºó ¹®ÀÚ¿­À» µ¹·ÁÁÖ°í; ±×·¸Áö ¾ÊÀ¸¸é, ¸Å°³º¯¼ö°¡ ¼±ÅÃÀûÀÎÁö ¾Ë·ÁÁÖ´Â ºÒ¸®¾ð °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

°¡º¯ ÇÔ¼öÀÎ °æ¿ì ¸Å°³º¯¼ö´Â °ø½ÄÀûÀ¸·Î ¼±¾ðÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ³»Àå ÇÔ¼ö¸¦ Áö¿øÇÕ´Ï´Ù.