åã®ããŒãã§ã¯ãããŸããŸãªããã°ã©ãã³ã°èšèªã§ã®ã¿ãã«ã®å®è£
ã«ã€ããŠæ€èšããŸããïŒããã«ãéçåä»ããšå€å
žçãªCã®ãããªæ§æãåããã³ã³ãã€ã«æžã¿ã®éã¹ã¯ãªããèšèªãæ€èšããŸããã ãã®ããŒãã§ã¯ãæ¢åã®ãã®ãè¶
ããŠãåºæ¬çã«ããã°ã©ãã³ã°èšèªã®èšèšãæ±ãããšãææ¡ããŸãã åæããŒã¿ã¯åãã§ããéçåä»ããšåœä»€åãã©ãã€ã ãå«ãCã©ã€ã¯ãªæ§æãåããã³ã³ãã€ã«ãããéã¹ã¯ãªããèšèªïŒãã¡ããããã«éå®ãããŸããïŒã
ãã®ããŒãã§ã¯ã倢ãšå®éšã詊ã¿ãŸãããã¿ãã«ã§äœãã§ããã®ã§ããããïŒ ããããæå€§éã«æŽ»çšããã«ã¯ïŒ 圌ãã®å©ããåããŠããã°ã©ãã³ã°èšèªããã匷åã§è¡šçŸåè±ãã«ããæ¹æ³ãçã®ã³ãŒãããã«ãŒãžã®è³è³ãåèµ·ããæ¹æ³ããããŠåæã«æ®éã®ããã°ã©ããŒãããŸãæ··ä¹±ãããªãæ¹æ³ïŒ ããŸããŸãªæ¹åã§ã¿ãã«ã®ã»ãã³ãã£ã¯ã¹ãæ£ç¢ºãã€æ£ãã倿¿ãããšãèšèªã«ã¯ã©ã®ãããªäºæ³å€ã®å¯èœæ§ãçŸããŸããïŒ
ãã®ãããããã°ã©ãã³ã°èšèªã®èšèšã«é¢ãããããã¯ã®äžé®®æããããªããŒã奜ããªããç«ã®äžã§ãé¡ãããŸãã
æ§æãŸããæ§æã決å®ããŸãããã ã³ãŒãã§ã¿ãã«ãèšèšããããã®ããŸããŸãªãªãã·ã§ã³ãæ€èšããã®ã«é·ãæéããããå¯èœæ§ããããŸã-äžæ¬åŒ§ãäžžæ¬åŒ§ãäžè¬ã«æ¬åŒ§ãªã... ãããã£ãŠãã¿ãã«ã¯ååãŸãã¯åŒã®ã·ãŒã±ã³ã¹ã§ãããã³ã³ãã§åºåãããäžæ¬åŒ§ã§å²ãŸããŠããŸãã C ++ã®çµ±ååæåãšåæ§ã
{1,2,3} {i, j, k}
ãããã圌ãã«ã¯ååšããæš©å©ãšä»ã®éžæè¢ããããŸãããç§ãã¡ã®ç®çã«ãšã£ãŠã¯ä»ã®ãšããããã§ååã§ãããã
ãŸããç¯å²ãšç¹°ãè¿ãããã¿ãã«ãäœæãããšããç°¡åãªã¢ã€ãã¢ã«æ³šç®ããããšæããŸãã ç¯å²-åæèŠçŽ ïŒæŽæ°ããã³åæèŠçŽ ãå«ãïŒã®ã¿ãã«ãæå®ããæ¹æ³
{1..10}
ç¹°ãè¿ã-ã¢ã»ã³ãã©ãŒããååŸããã¡ãœããã§ãåãå€ã§ã¿ãã«ãåããããšãã§ããŸã
{10 dup 'A'}
ãã®èšäºã§ã¯ããããã®æ¹æ³ã¯äœ¿çšãããçŸããã¢ã€ãã¢ãšããŠãã¡ããã©ãã®ããã«èšåããŸããã
äžè¬çãªã¢ã€ãã¢æåã®éšåã§ã¯ã誀解ãåŒãèµ·ããç¹å®ã®èãã«èšåããŸãã-ã¿ãã«ã¯ããŸã£ããåã§ã¯ãããŸãããã åããŠã£ãããã£ã¢ãéããšã
æç¢ºã«èšãPythonãMLãªã©ã®äžéšã®ããã°ã©ãã³ã°èšèªã§ã¯ãã¿ãã«ã¯ç¹å¥ãªããŒã¿åã§ãã
éçåä»ãã䜿çšããããã°ã©ãã³ã°èšèªã§ã¯ãã¿ãã«ã®èŠçŽ ãç°ãªãåã«å±ããããšãã§ãããã®ãããªåã®ã»ãããã¿ãã«ã®åã«ãã£ãŠäºåå®çŸ©ããããšããç¹ã§ãã¿ãã«ã¯ãªã¹ããšç°ãªããŸããã€ãŸããã¿ãã«ã®ãµã€ãºã決å®ãããŸã äžæ¹ãã³ã¬ã¯ã·ã§ã³ïŒãªã¹ããé
åïŒã«ã¯ãä¿åãããã¢ã€ãã ã®ã¿ã€ãã«å¶éããããŸãããé·ãã®å¶éã¯ãããŸããã
ããããããŸã£ããã¿ã€ãã§ã¯ãªãããšèšã£ããšããç§ã¯ã©ãããæå³ã§ãããïŒ ã³ã³ãã€ã«æ®µéã§ä»»æã®ãªããžã§ã¯ããããŒã«ã«ã«ã°ã«ãŒãåã§ãããããª
èšèªæ§æãå¿
èŠãªå ŽåããããŸãïŒããªãé »ç¹ã«ïŒã 远å ã®ãšã³ãã£ãã£ãå°å
¥ããã«ãåã«æ§æéšåãšåçã«ãªãã°ã«ãŒããšã€ãªã¢ã¹ã å®éãããã¯ã¿ãã«ããããã«ç°ãªãèŠç¹ããèŠãããã®åãªãæ¹æ³ã§ãã ããšãã°ã颿°ããã®è€æ°ã®æ»ãã ããã¯ããã¿ãã«ãã¿ã€ãã®1ã€ã®ãªããžã§ã¯ãã®æ»ããšããŠå®å
šã«èããããšãã§ããŸãã ãããäžæ¹ã§ãè€æ°ã®æ»ãå€ã®å²ãåœãŠæäœã¯ãå€ãã®æäœã®1ã€ã«ãããŸããã Rustã®äŸã§ã¯ãã¿ãã«ã«å¯Ÿããå¥ã®æäœã®å¯èœæ§ãã€ãŸãåçæ§ã®æ¯èŒãèŠãŸããã ãããããã¹ãŠã®æäœãã¿ãã«ã§å®è¡ã§ããããã«ãããã©ãã§ããããïŒ ããŸããŸãªè³ªåãããã«çºçããŸã-ãããã¯ã©ã®ãããªçš®é¡ã®æäœã«ãªããŸããïŒé·ãã®ç°ãªãã¿ãã«ãã¿ãã«ãåäžã®å€ã«å¯ŸããŠå®è¡ã§ããŸããïŒ ã¿ãã«ã颿°ã«è»¢éããã»ãã³ãã£ã¯ã¹ãèæ
®ããããšãã§ããŸãïŒããšãã°ã颿°ã«æž¡ããšãã«ã¿ãã«ããæ¡åŒµããããã¿ãã«ã®ãã¹ãŠã®èŠçŽ ã§é¢æ°ãå®è¡ãããªã©ïŒã ãã¡ãããã¿ãã«ãäœæããã³åè§£ãã䟿å©ãªææ®µãã¿ãã«ã®èŠçŽ ãžã®ã¢ã¯ã»ã¹ãå¿
èŠã«ãªããŸãã ããããä»ã®äœãïŒ..
颿°ãšã¿ã€ãç¡å¹ããã®è€æ°ã®æ»ã倿ãåçŽãªãã®ããå§ããŸãããããã§ã«å€ãã®èšèªã§å®è£
ãããŠããŸã-颿°ããè€æ°ã®ãªã¿ãŒã³ããããŸãã 颿°ã¯è€æ°ã®å€ãè¿ãããšãã§ãã颿°ãè€æ°ã®åŒæ°ãåãããšãã§ããããã«ãããã€ãã®å€ã®ã¿ãã«ãè¿ããšåŒã³ãŸãã æ¬¡ã®äžè¬åã¯ãããèªäœã瀺åããŠããŸããåäžã®å€ãè¿ã颿°ã¯ãåäžã®å€ã®ã¿ãã«ãè¿ããŸãã å°ãªããšãã
ããå€ããã®ã¿ãã«ããããã®åãå€ã«èªç±ã«å€æããããã®éãåãã§ãããšããé¡ããšããŠãšãããããšãã§ããŸããããã«å€æ¿ãããšãvoidåã«ãªããŸãã ãåç¥ã®ããã«ãããã¯ã颿°ãçµæãè¿ããªãããšã瀺ãããã«ãã»ãšãã©ã®ããã°ã©ãã³ã°èšèªã§äœ¿çšãããç¹æ®ãªã¿ã€ãã§ãã ãã®ã¿ã€ãã®ãªããžã§ã¯ãã®äœæã¯çŠæ¢ãããŠããŸãã voidãæ¬æ Œçãªã¿ã€ãã§ã¯ãªããé·ããŒãã®ã¿ãã«ã®æå®ã§ãããšæšæž¬ããããšã¯ãŸã£ããå°é£ã§ã¯ãããŸããã éåžžã®æå³ã§ãã®ã¿ã€ãã®ãªããžã§ã¯ããäœæããããšã¯æ¬åœã«äžå¯èœã§ãã ããããã³ã³ãã€ã©ãŒãããé«åºŠãªæ¹æ³ã§ã¿ãã«ãåŠçã§ããå Žåã空ã®ã¿ãã«{}ã®åœ¢åŒã§voidåã®ãç䌌ãªããžã§ã¯ãããå°å
¥ããããã§äœããè¡ãããšã劚ãããã®ã¯äœããããŸããã 質åã¯äœã§ããïŒ ãŸããã©ã®ãããªå Žåã«åœ¹ç«ã¡ãŸããïŒ ä»ã®ãšãããããã«æ³šæããŠã次ã®å€æ¿ã«é²ã¿ãŸãã
è€æ°ã®æäœé¢æ°ããã®è€æ°ã®æ»ãå€ãšãé¢é£ããè€æ°ã®å²ãåœãŠã調ã¹ãŸããã ãã ããå²ãåœãŠã¯å€ãã®å¯èœãªæäœã®1ã€ã«ãããŸããã å²ãåœãŠïŒãã¹ãŠã®éå§å
ïŒãšã®é¡æšã«ãããã¿ãã«ã§ä»ã®æäœãæ§ç¯ããããšããŸãã
{x,y,z} = foo();
ãããŸã§ã®ãšãããèŠãç®ã¯è¯ãããã§ãããããããã倿°ã®æäœã䌎ããã®ãããªåŒãã©ã®ããã«èŠããã®ããšããèãã¯å°ãèŠæå¿ã匷ããã®ã§ãã
åŒã®åãªããžã§ã¯ããåãèŠçŽ æ°ã®ã¿ãã«ã§ããããšãéèŠã§ãã ãã®èŠåããã®éžè±ã¯ãããã°ã©ãã³ã°èšèªãèšèšããéã«é¿ããã¹ãããŸããŸãªãããŸãããçããããŸãã ããã«ãããããããããããèæ
®ããå¿
èŠããããŸãïŒãããŠå¯èœã§ããã°ãããããèš±å¯ããããã«ïŒã
ã°ã«ãŒãéå¶è€æ°ã®æäœã«å ããŠãã¿ãã«ãšåäžã®å€ã«å¯Ÿããã°ã«ãŒãæäœã¯äŸç¶ãšããŠéåžžã«é
åçã§ãã å®éãããã¯ãåŒã®åãªãã©ã³ãã®åãèŠçŽ æ°ã®èŠåããã®æåã®éžè±ã§ãã ããããç§ã¯ãããçŸããèŠãããã®ã§ãç§ãã¡ã¯è©ŠããŠã¿ãŸãïŒ
{i, j, k} = 0;
ãã®ãããªäºé
æŒç®ã®äžè¬çãªåœ¢åŒã¯ã
ãã¿ãã«æŒç®åå€ããŸãã¯
ã倿Œç®åã¿ãã«ãã§ã ïŒã»ãšãã©ã®æŒç®ã¯å¯æã§ãïŒã ãŸãã
ã倿Œç®åã¿ãã«ããšãã圢åŒã§ã¯ã1ã€ã®å€æ°ãã¿ãã«å
šäœã«å²ãåœãŠãŸããç¹ã«ããã«ããã«ãªã¿ãŒã³é¢æ°ã®çµæã§ãã
x = {1, 2, 3};
颿°ããè€æ°ã®æ»ãå€ãå²ãåœãŠãç¶æ³ã§ã¯ãæããã«ãæåã®æ»ãå€ããxãã«æžã蟌ã¿ãæ¬¡ã®æ»ãå€ã¯ç¡èŠããå¿
èŠããããŸãã ããã¯äºæ³å€ã®ãããŸããã§ãã ããããã©ããããããããã解決ããå¿
èŠããããŸã-ç§ã¯æ¬åœã«ãã®ãããªæ§æãæã¡ããã§ãã ã°ã«ãŒãã®å²ãåœãŠã ãã§ãªããå€ãã®è峿·±ãå Žåã«ã圹ç«ã¡ãŸãã ããšãã°ãé
åã«ã€ã³ããã¯ã¹ãä»ããããååã§æ§é äœãã£ãŒã«ãã«ã¢ã¯ã»ã¹ãããããããšãæäœã§ãã
arr[ {1,2,3} ] = { 10, 20, 30 };
åŒã®æãããªæçœãã«ãããããããæ£åŒã«arr [{1,2,3}]ã¯ã倿Œç®åã¿ãã«ããšãã圢åŒã§ããããã§ããå€ãã¯arrããã¿ãã«ãã¯{1,2,3}ãããã³ãæŒç®åãã§ãã -è§æ¬åŒ§ã ã¿ãã«ãåäžã®å€ã«å²ãåœãŠãã®ãšã¯ç°ãªããããã§ã¯åé¡ã¯çºçããŸããããã®ãããªæäœã®çµæã¯ã¿ãã«{arr [1]ãarr [2]ãarr [3]}ã§ãªããã°ãªããŸããã ããããã³ã³ãã€ã©ã«ãšã£ãŠã¯ããã®å²ãåœãŠããã®ã€ã³ããã¯ã¹ä»ãã¯åãªããã€ããªæäœã§ãã ã€ãŸããx = {1,2,3}ãšãã圢åŒã®åŒã¯{x = 1ãx = 2ãx = 3}ã«å±éããå¿
èŠããããŸããã€ãŸãã倿°xã«ã¯ã¿ãã«ã®ãã¹ãŠã®å€ãé çªã«å²ãåœãŠãããçµæãã¿ãã«ã«ãªããŸã
ïŒãã®ãããªããã°ã©ãã³ã°èšèªã¯çŸå®ã«ãããŸãã-ããã¯ã©ããªã€ã³ã¿ãã¥ãŒã«ãšã£ãŠãè峿·±ãåãæ»ãã®è³ªåã§ãããïŒãã®èŠçŽ ã¯äœã«çããã§ããããïŒ{1,2,3}ãŸãã¯{3,3,3}ïŒïŒãããã£ãŠãã¿ãã«ãšå¯äžã®èŠçŽ ã«å¯Ÿããæäœã®é©åãªç·šæã®åé¡ã¯æªè§£æ±ºã®ãŸãŸã§ãã
ããŸããŸãªãµã€ãºã®ã¿ãŒã²ããã«å¯Ÿãããã€ããªæäœããäžè¬çãªã±ãŒã¹-ã¿ãã«ã®ãµã€ãº-ãã€ããªæŒç®ã®ãªãã©ã³ããäžèŽããªãå ŽåãèããŠã¿ãŸãããã ãã®å Žåã®å¯ŸåŠæ¹æ³ ãã€ãã®ããã«ãæãç°¡åãªè§£æ±ºçã¯æåŠããããšã§ã:)ãããããããçè§£ããŠã¿ãŸããã... GoãšRustã¯ç¹å¥ãªã¡ã¿å€æ°ã_ãïŒã¢ã³ããŒã¹ã³ã¢ïŒãæã£ãŠããŸãã æ§æã§ã¯ãããã¯æ¬¡ã®ããã«ãªããŸãã
{x, _ ,z} = foo(); {x, _, z} = {1, 2, 3};
ã¿ãã«ã®2çªç®ã®ã³ã³ããŒãã³ãã䜿çšããæäœã¯ãåã«ç¡èŠãããŸãã Go and Rustã§ã¡ã¿å€æ°ã_ãã䜿çšããããšã¯ãè¿ãããã¿ãã«ã®çµæãå¿
èŠãªãå Žåã®è€æ°ã®å²ãåœãŠã«å¿
é ã§ãã ãããã£ãŠããããã®èšèªã§ã¯ãã¿ãã«ã®ãµã€ãºã匷å¶çã«äžèŽãããå¿
èŠããããŸãã ãããããããã®èšèªã§ã¯ãå²ãåœãŠä»¥å€ã«è€æ°ã®æäœã¯ãããŸããã ã¡ã¿å€æ°ã_ããä»ã®æäœã«å€æ¿ããããšãããšãéåžžã«è峿·±ãçµæãåŸããããããå¥ã®ç« ã§æ€èšããå¿
èŠããããŸãã
äžè¬çãªã±ãŒã¹ãèããŠã¿ãŸãããïŒãã®ãããªåŒãæžãããå Žåã®å¯ŸåŠæ¹æ³ïŒ@ã¯äžè¬åãããäºé
æŒç®ã§ãïŒ
{a, b} @ {x, y, z}
ãªãã·ã§ã³ã¯äœã§ããïŒ
- å°ãããµã€ãºã®ã¿ãã«ã®ãµã€ãºã§æäœãå®è¡ããŸãã ã€ãŸããçµæã¯{a @ xãb @ y}ã§ãã ã°ã«ãŒãæäœãšççŸããŸãïŒåäžã®å€ã1ã€ã®èŠçŽ ãæã€ã¿ãã«ãšåçãšèŠãªãããå ŽåïŒ-ã°ã«ãŒãæäœã§ã¯ãåäžã®ãªãã©ã³ããã¿ãã«ã®åèŠçŽ ãšå¯Ÿè©±ããå¿
èŠããããŸãã
- 倧ããªãµã€ãºã®ã¿ãã«ã®ãµã€ãºã§æäœãå®è¡ããŸãã ããã«ãå°ããªã¿ãã«ã®èŠçŽ ãååã§ã¯ãªãã£ã倧ããªã¿ãã«ã®èŠçŽ ã¯å€æŽãããŸããã {a @ xãb @ yãz}ã åãçç±ã§ã°ã«ãŒãæäœã«ãåããŸãã
- 倧ããªãµã€ãºã®ã¿ãã«ã®ãµã€ãºã§æäœãå®è¡ããŸãã å°ããã¿ãã«ãçµäºãããããã®å
é ãŸã§åŸªç°ããŸãã {a @ xãb @ yãa @ z}ã ããã¯ã°ã«ãŒãæäœã«å¯Ÿå¿ããŸãããé£è§£ã§ãã
- 倧ãããµã€ãºã®ã¿ãã«ã®ãµã€ãºã«å¯ŸããŠæäœãå®è¡ããå°ããã¿ãã«ãçµäºããããå°ããã¿ãã«ã®æåŸã®èŠçŽ ã«å¯ŸããŠæäœãå®è¡ããŸãã {a @ xãb @ yãb @ z}ã ãŸããã°ã«ãŒãæäœã«å¯Ÿå¿ããé£è§£ã§ãã
- ã1ã€ã®ã¿ãã«ã®åèŠçŽ ãšå¥ã®ã¿ãã«ã®åèŠçŽ ãïŒããã«ã«ãç©ãïŒã®ãã¢ã§æäœãå®è¡ããŸãã {a @ xãa @ yãa @ zãb @ xãb @ yãb @ z}ã ãŸããã°ã«ãŒãæäœã«å¯Ÿå¿ããé£è§£ã§ãã ãšããã§ããã¢ãã°ã«ãŒãåããæ¹æ³ã®åé¡ãçºçããŸã-æåã®ã¿ãã«ãŸãã¯2çªç®ã®ã¿ãã«ããŸãã¯ãã®ä»ã®æ¹æ³ã
ããããä»ã®ãªãã·ã§ã³ããããŸãã ãããä»ã1ã€ã®ããšãæããã§ãããã®æ©äŒãããã°ã©ãã«äžããå Žåãã¿ãã«ãã©ã®ããã«çžäºäœçš
ãããã
æç€ºçã«ç€ºã
å¿
èŠããããŸã ã ãã®å Žåãããã¯ã³ãŒãã®æå¿«ããç¶æããããã®ã»ãšãã©ã®åææ¡ä»¶ã§ãã ãã®ããããã®è¡šçŸãã«ããŒããããã€ãã®ããŒã¯ãŒãã䜿çšã§ããŸãã ãã®ãããªåèªã®ãªã¹ãã¯æå®ããŸãããïŒä»¥åã¯ããªãã·ã§ã³ããšã«ããŒã¯ãŒãããããšä»®å®ã§ããŸãïŒ
èŠçŽ ãžã®ã¢ã¯ã»ã¹ãããŠä»ãç§ãã¡ã¯å¥ã®éèŠãªæ©äŒã«ç®ãåããã¹ãã§ã-ã¿ãã«ã®èŠçŽ ãžã®ã¢ã¯ã»ã¹ã
åŸæ¥ãã€ã³ããã¯ã¹äœæã«ã¯è§æ¬åŒ§ã䜿çšãããååã«ããã¢ã¯ã»ã¹ã«ã¯ããªãªãã䜿çšãããŸãã ããããä»ããã€ã³ããã¯ã¹ä»ãã®Swiftãªãã·ã§ã³ã¯ããã»ã©æªãã¯ãããŸããããæ°å€ã®ä»£ããã«ååä»ãã®æ°å€å®æ°ã䜿çšããå Žåã¯ãããŸãã§ãããéåžžã¯çããã§ãã ã€ã³ããã¯ã¹ïŒéèŠ-宿°ã€ã³ããã¯ã¹ïŒã«ããã¢ã¯ã»ã¹ã«ã¯è§æ¬åŒ§ã䜿çšããååïŒããå ŽåïŒã«ããã¢ã¯ã»ã¹ã«ã¯ãã€ã³ãã䜿çšããããšã奜ã¿ãŸã
{10,20,30}[1];
ãã¹ãŠãã·ã³ãã«ã«èŠããŸããïŒ å®éã«ã¯ãããããŸããã ã[]ãã®ã€ã³ããã¯ã¹ä»ããæ§é ãããã®ååä»ãã¡ã³ããŒã®åç
§ãªã©ãã¿ãã«ã«è€æ°ã®ã°ã«ãŒãæäœãå°å
¥ããããããããã®æäœãèŠçŽ ãè€éãªãªããžã§ã¯ãã§ããã¿ãã«ã§äœ¿çšããå ŽåãããããïŒ-äœããã¹ãããæç¢ºã§ã¯ãããŸããïŒã¿ãã«ã®èŠçŽ ã«ã¢ã¯ã»ã¹ããããã¿ãã«ã®ãã¹ãŠã®èŠçŽ ã§ã°ã«ãŒãæäœãå®è¡ããŸããïŒ
{arr1, arr2, arr3} [1]
å¥ã®è峿·±ãåŽé¢ã¯ãã¿ãã«ã®ååŸïŒæ§ç¯ïŒã§ãã æ
£äŸã«ãããèšäºã®åé ã§åãäžããããã«ãäžæ¬åŒ§ã䜿çšããŠã¿ãã«ãªããžã§ã¯ããç°¡åã«æ§ç¯ããŸãã ãã ããå Žåã«ãã£ãŠã¯ãèŠçŽ ãåé€ãŸãã¯è¿œå ããŠå¥ã®ã¿ãã«ããã¿ãã«ãäœæããå¿
èŠããããŸãã æ§æçã«ã¯ãããã¯ãè€æ°ã®ã€ã³ããã¯ã¹ä»ããã䜿çšããŠå®è¡ã§ããé
åãŸãã¯æ§é äœãšæ¬è³ªçã«åãã«ãŒã«ãé©çšããŸãã
ã¿ãã«ãååŸããã«ã¯ãè€æ°ã®ã€ã³ããã¯ã¹ãŸãã¯ç¯å²ã䜿çšã§ããŸãã
{a,b,c,d,e}[1,4,0]
ïŒã€ã³ããã¯ã¹æäœèªäœã«ã¯è§ãã£ããå«ãŸããŠãããããäžãã£ãå
ã«ãã1ã€äžãã£ããæžãããšã¯ã§ããŸããïŒ
èŠçŽ ã«è€åãªããžã§ã¯ãåãããå Žåãååã§é£çµ¡ã§ããŸãã
obj.{a, d, e}
è峿·±ãçµæã«æ³šæããå¿
èŠããããŸã-ã¿ãã«ã¯å®æ°ã€ã³ããã¯ã¹ã«ãã£ãŠã€ã³ããã¯ã¹ä»ãããããããã¢ã€ãã¢ã¯ãã£ãŒã«ãåã宿°ã€ã³ããã¯ã¹ã«å€æãããããšã瀺åããŠããŸãïŒéãå¯èœã§ãïŒ
ãããã£ãŠãå°ãªããšã2ã€ã®ãç¹å¥ãªãæäœãããããããšãè§æ¬åŒ§ããããããããã¯ã¿ãã«èªäœãç©åãªããžã§ã¯ããšããŠæ©èœãããããšãã§ããŸãã ã¿ãã«ã®æ®ãã®æäœã¯äœãšãªãå®çŸ©ãããŠããŸããããããšãã°ãã¿ãã«ã®é£çµïŒ2ã€ä»¥äžã®ã¿ãã«ã1ã€ã®é·ãã¿ãã«ã«ãã©ããã°ã«ãŒããïŒãå¿
èŠã§ãããšæ³å®ã§ããŸãã ãããã£ãŠã質åãçºçããŸãïŒ
ã¿ãã«ã®èŠçŽ ã«ã¢ã¯ã»ã¹æäœãçŽæ¥éžæããå¿
èŠããããŸããïŒ ãŸãã¯ãã¿ãã«ã®åèŠçŽ ã®æäœã匷調衚瀺ããæ¹ãæ£ããã§ããïŒæäœããæ©èœãŸã§ãã¹ãŠã®æäœã¯ãããã€ãã®æ©èœãšåçã§ãã ããšãã°ãåé
ãããå転æŒç®ãxã¯negïŒxïŒãšããŠè¡šçŸã§ãã2é²å ç®x + yã¯sumïŒxãyïŒãšããŠè¡šçŸã§ããŸãã
ãããã£ãŠãã¿ãã«ã®æäœãè€æ°ã®æäœãšããŠèãããšãçåãçããŸã-颿°åŒã³åºãããã®ãããªåŒã«é¢äžããŠããå Žåã¯ã©ããªããŸããïŒ
éå§ããã«ã¯ãåé
æŒç®ïŒ
~{1,2,3};
ãã°ã«ãŒãå²ãåœãŠããšåæ§ã«ãã¿ãã«ã次ã®ããã«å±éããå¿
èŠããããŸãã
{neg(1), neg(2), neg(3)}
äžèŠãããã¯éåžžã«è«ççã«æããŸãã 颿°èªäœã¯åäžã®å€ãåããåäžã®å€ãè¿ããŸãã ã¿ãã«ãæ§æã§ããããã«ãåäžã®å€ãè¿ãå¿
èŠããããŸãã
ããããã2ã€ã®åŒæ°ãæã€é¢æ°ãåæ§ã«å±éã§ããŸãã äŸãã°
{1,2,3} + {4,5,6} sum( {1,2,3}, {4,5,6} )
ã§
{ sum(1,4), sum(2,5), sum(3,6) }
ã¿ãã«ã®æé»çãªè€æ°é¢æ°åŒã³åºãã®æ§æã¯æé»çã§ãããæäœãšåæ§ã«ããã®ãããªåŒã³åºããæå®ããæç€ºçãªæ¹æ³ã¯ãããèªäœã瀺åããŠããŸãïŒãã®ãããªåŒã³åºãã®å¯èœæ§èªäœã¯æªãã¯ãããŸãããïŒã
äžæ¹ãGoãDãCâã®æ§æãæãåºããŠãã ããã颿°ã«æž¡ãããã¿ãã«ã¯åŒæ°ãªã¹ãå
ã§å±éããã察å¿ããåŒæ°ã®æ°ã眮ãæããŸãã ãããŠäžè¬çã«ãããã¯éåžžã«è«ççã§äºæ³ããããã®ã§ããããã¯ããã°ã«ãŒããã»ãã³ãã£ã¯ã¹ãšã¯äºææ§ããããŸããïŒ ã©ãããããããã®ççŸã解決ããããšã¯å¯èœã§ããïŒ åŒæ°ã¿ãã«ã®æ¬¡å
ãäžèŽããªãå Žåãã¿ãã«ãšåäžã®å€ãæ··åšããå Žåãã¿ãã«èŠçŽ ã®æäœã®çµæãããã«ã«ãç©ãååŸããå Žåãªã©ãè€éãªãªãã·ã§ã³ã¯ãŸã æ€èšããŠããŸããã
ããªãè¯ããšæããã解決çã¯ãC ++ããå¥åŠãªããšã«ååã«æ¥ãŸããã å¯å€æ°ã®ãã©ã¡ãŒã¿ãŒãæã€ãã³ãã¬ãŒããªã©ã®æ©äŒããããçç¥èšå·ã䜿çšããæ§æã¯ããã©ã¡ãŒã¿ãŒã®ããã±ãŒãžïŒãšããã§ãã¿ãã«ïŒãå¥ã®ãã³ãã¬ãŒãã«è»¢éããããã«äœ¿çšãããŸãã çç¥èšå·ã¯ããã®ã³ã³ããã¹ãã§ãã®åŒæ°ããæããã«ããããŠããããšãèŠèŠçã«ç€ºããŠããŸãïŒããã¯ã³ãŒãã®èªèã«ãšã£ãŠéåžžã«éèŠã§ãïŒïŒã ãããã³ãŒãã§ããã«èŠããããšãéèŠã§ãã ç®ã«èŠããªãå¯äžã®ãã®ã¯ããããæããã«ããåŒæ°ã®æ°ã§ãã ããããè©³çŽ°ã«æå®ãããå Žå-ã¿ãã«ã®åã
ã®èŠçŽ ãžã®ã¢ã¯ã»ã¹ã劚ãããã®ã¯äœããããŸãã
foo(t..., 10, 20);
æåŸã«ãæãé£ããç¶æ³ïŒè€æ°ã®ãã©ã¡ãŒã¿ãŒãšç°ãªãé·ãã®ã¿ãã«ãæã€é¢æ°ãããã€ãã®ïŒãŸãã¯ãã¹ãŠã®ïŒãã©ã¡ãŒã¿ãŒã«è»¢éãããŸãã ãã€ããªæŒç®ã®ç¶æ³ãšåæ§ã«ããã®ãããªåŒã³åºããé瀺ããå€ãã®å¯èœæ§ããããŸãïŒæå°èŠçŽ æ°ã«ããè€æ°ã®é¢æ°åŒã³åºããçãã¿ãã«ã®ç°ãªãã¿ã€ãã®è¿œå ã«ããæå€§ããã«ã«ãç©ãªã©ã
ãããã®ãã¹ãŠã®ã¡ãœãããçè§£ããã®ã¯éåžžã«é£ããããããããã®ã¡ãœããã¯ããããæç€ºçã«å®£èšããå¿
èŠããããŸããããšãã°ã颿°ãåŒã³åºãåã«é©åãªããŒã¯ãŒãã䜿çšããŸãã
META倿°ã_ãã¿ãã«ãå²ãåœãŠããšãã«ãœãŒã¹ã¿ãã«ã®èŠçŽ ãç¡èŠããããã«äžéšã®èšèªã§äœ¿çšãããã¡ã¿å€æ°ã_ãã®åäœã«æ»ããŸãã ãã®ã¡ã¿å€æ°ãããè€éãªã±ãŒã¹ã«å€æ¿ã§ãããã©ãããèŠãŠã¿ãŸãããïŒçµå±ã代å
¥ã¯åãªããã€ããªæäœã§ãïŒã
{x,y,z} = {1,2,3} + {a,_,c};
åæ§ã«ãã_ãã«æ°å€2ã远å ããæäœã¯ç¡èŠãããŸãããçµæã¯ã©ããªããŸããïŒ äžè¬ã«ã2ã€ã®å¯èœæ§ããããŸããçµæã®ã¿ãã«ã«æ°å€2ãæ®ãããããã«ã_ããé
åžããŸãã æåã®ã±ãŒã¹ã§ã¯ãã_ãã¯ã
äžç«èŠçŽ ããšèŠãªãããšãã§ããŸãã æäœïŒã€ãŸããæäœã@ãããã³åŒæ°ãxãã®å Žåãx @ _ == _ @ x == xã¯trueïŒã ããšãã°ãåŒx = y *ãïŒ_ + zïŒã¯x = y *ãzã«å€æã§ããŸãã
ãã ããããã§ã¯ãã¹ãŠãæç¢ºã§ã¯ãããŸããã ããšãã°ãåé
笊å·å€æŽæŒç®ã-xãã¯ããŒãã0-xãããæ°å€ãæžç®ããäºé
æŒç®ãšããŠèšè¿°ã§ããŸãã ãxãã®ä»£ããã«ã_ããå
¥åãããšããã®åŒã®æå³ã¯é²é³æ¹æ³ã«ãã£ãŠç°ãªããŸãã
z = y * (0 - _)
2çªç®ã®ã±ãŒã¹ã§ã¯ãã¿ãã«ã®äœçœ®ã«ã_ããçŸãããšãã_ããå«ãæ§æããªãŒããŒãããããªãŒã®ã«ãŒãïŒã€ãŸããåŒã®æåŸãéåžžã»ãã³ãã³ïŒãŸã§ã®ãã®äœçœ®ã®ãã¹ãŠã®èšç®ã¯ç Žæ£ãããŸãïŒã€ãŸããæ¬åœã§ãx @ _ == _ @ x == _ïŒã ã€ãŸããã¿ãã«ã®içªç®ã®èŠçŽ ã«å°ãªããšã1ã€ã®ã_ããååšãããšããããšã¯ãåŒå
šäœã®ãã¹ãŠã®ã¿ãã«ã®içªç®ã®èŠçŽ ãå«ããã¹ãŠã®èšç®ãã¹ããŒãããããšãæå³ããŸãã
ã_ãã䜿çšããæ¹ãè¯ããšèšãã®ã¯é£ãããšæããŸãã ããã¯ãæ
éã«æ€èšããå¿
èŠãããå¥ã®åé¡ã§ãã
å
¥ãåã«ãªã£ãã¿ãã«èšèªã®ããã¥ã¡ã³ãã§ã¯ã»ãšãã©èæ
®ãããŠããªãå¥ã®è峿·±ãåŽé¢ã¯ãã¿ãã«ã®ãã¹ãã§ãã ãã¹ããããã¿ãã«ã®æãæçœã§å®éã«ååšããïŒCèšèªã§ãïŒã¢ããªã±ãŒã·ã§ã³ã¯ããã¹ããããæ§é ã®åæåã§ãã
struct Foo { int x, y, z; }; struct Bar { Foo f; int i, j; }; Bar b = { {10, 20}, 30 };
x, y, i, z j. ( , / ). , . .
bool. :
{x, y, z} == {1, 2, 3}
if, while .. bool! ?
- ( true)
- - ( - true).
. , , . : , , . , â .
? , ; ( - ) .
« » :
if( {x, y, z} == 0) { }
â « » ( ) - , .
, ! , ; , . â « » , ( â , , - â Evernote Wiznote ). , , â !