XScript ¶õ?

XScript´Â eXERD ÆÄÀÏ¿¡ ´ëÇØ »ç¿ëÀÚ°¡ Á÷Á¢ ´ÙÀ̾î±×·¥, Å×À̺í, Ä÷³ µîÀ» ã°Å³ª ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â ¾ð¾îÀÔ´Ï´Ù.

±âº» Àü·«

XScript´Â ´ëºÎºÐÀÇ µ¿ÀÛÀÌ ´ÙÀ½°ú °°Àº µÎ °úÁ¤À» °®´Â´Ù°í °¡Á¤ÇÏ°í ¼³°èµÇ¾ú½À´Ï´Ù:
  1. ÁÖ¾î ¼±ÅÃ: Á¶ÀÛÇÒ ¸ðµ¨µéÀ» ¼±ÅÃ
  2. µ¿»ç ±â¼ú: ¼±ÅÃµÈ ¸ðµ¨µé¿¡ ´ëÇØ µ¿ÀÛÀ» ±â¼ú

ÁÖ¾îÀÇ ¼±ÅÃ

Á־ ¼±ÅÃÇÒ ¶§´Â select() ¹®À» ÀÌ¿ëÇϸç, ÀÎÀڷΠŬ·ÎÁ®°¡ Àü´ÞµË´Ï´Ù. Ŭ·ÎÁ®´Â ÇϳªÀÇ ÀÎÀÚ¸¦ °®°í true ¶Ç´Â false ¸¦ ¸®ÅÏÇÏ´Â function ÇüÅÂÀ̾î¾ß ÇÕ´Ï´Ù. ÀÌ Å¬·ÎÁ®ÀÇ ±¸Á¶´Â ´ÙÀ½°ú °°½À´Ï´Ù:
function(it){
	return true ¶Ç´Â false;
}
eXERD ¹®¼­¸¦ ±¸¼ºÇÏ´Â ¸ðµç ¸ðµ¨Àº °¢°¢ Ŭ·ÎÁ®ÀÇ ÀÎÀÚÀÎ it À¸·Î Àü´Þ µÇ¾î Ŭ·ÎÁ®°¡ true ¸¦ ¸®ÅÏÇÏ¸é ±× ¸ðµ¨ÀÌ ¼±Åõ˴ϴÙ. ¿¹¸¦ µé¾î ¸ðµç Ä÷³À» ¼±ÅÃÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù:
select(function(it){
	return it.get("type") == "column";
})
À§ÀÇ ÄÚµå´Â type ¼Ó¼ºÀÌ "column" ÀÎ ¸ðµç ¸ðµ¨À» ¼±ÅÃÇÏ°Ô µË´Ï´Ù. ÀÌ·¸°Ô ¸ðµ¨ ¼±ÅÃÇÔ¼ö select(Á¶°ÇÇÔ¼ö())¸¦ ÀÌ¿ëÇØ ¼±ÅÃµÈ ¸ðµ¨µéÀ» ¸ðµ¨ ÄÁÅؽºÆ® ¶ó°í ÇÕ´Ï´Ù.
Ŭ·ÎÁ®ÀÇ ÀÎÀÚ·Î it ÀÌ »ç¿ëµÇ´Â °ÍÀº ±ÇÀå »çÇ×ÀÏ »Ó °­Á¦ »çÇ×Àº ¾Æ´Õ´Ï´Ù. ¿øÇÏ´Â ´Ù¸¥ º¯¼ö¸íÀ» »ç¿ëÇϼŵµ ¹«¹æÇÕ´Ï´Ù.

µ¿»çÀÇ ±â¼ú

ÀÛ¾÷À» ¼öÇàÇÒ ¸ðµ¨µéÀ» ¼±ÅÃÇß´Ù¸é, ÀÌÁ¦ µ¿ÀÛÀ» ±â¼úÇØ º¾½Ã´Ù. ¸ðµç Ä÷³ÀÇ À̸§À» È­¸é¿¡ Ãâ·ÂÇÏ´Â °£´ÜÇÑ ¿¹Á¦·Î ½ÃÀÛÇÏ°Ú½À´Ï´Ù:
select(function(it){
	return it.get("type") == "column";
}).each(function(it){
	log(it.get("logical-name"));
});

each(Ŭ·ÎÁ®) ÇÔ¼ö´Â ¸ðµ¨ ÄÁÅؽºÆ®¿¡ ¼ÓÇÑ ¸ðµç ¿ä¼ÒµéÀÌ ÁÖ¾îÁø Ŭ·ÎÁ® µ¿ÀÛÀ» Â÷·Ê·Î ¼öÇàÇÏ°Ô ÇÕ´Ï´Ù. (ºñÁöÅÍ ÆÐÅÏÀ» ¿¬»óÇϸé ÀÌÇØ°¡ ½±½À´Ï´Ù.)