ç§ãã¡ã次ã®ãããªpythonishã¹ã©ã€ã¹æ©èœã䜿çšã§ãããšããã§ããã
array[2:4]
array[2:]
array[:-1]
ãŸãã¯ã¹ãããã§ã¹ã©ã€ã¹ãæ¡åŒµããããšãã§ããŸã
array[::2]
array[::-1]
ããã¯ã range
ãšïŒ4716ã®å
å
è¡šèšã䜿çšããŠç°¡åã«å®è¡ã§ããããšã«æ³šæããŠãã ããã
var result = array[from:to:step]
# Is the same as:
var result = (array[i] for i in range(from,to,step))
ãŸããããã§ãCoffeeScriptæ§æãã¹ããŒããã«ã¯ïŒ
x = array[from...to]
ã¹ããããµã€ãºããµããŒãããããã«ãããé©å¿ããããããããŸããïŒãµããŒãããŠããªãããïŒïŒ
x = array[from..step..to]
# or
x = array[from...to:step]
ïŒã䜿çšããimho pythonæ§æã¯ããã䟿å©ã§ã-æåæ°ãå°ãªããã³ã³ãã¯ãã§ã
ïŒã䜿çšããimho pythonæ§æã¯ããã䟿å©ã§ã-æåæ°ãå°ãªããã³ã³ãã¯ãã§ã
+1ã ãããŠãããã»ã©æ··ä¹±ããŸããã ç§ãã¡ã¯Pythonã«äŒŒãŠããã®ã§ãäžçäžã®ä»ã®ãã¹ãŠã®èšèªããåäœãã€ã³ããŒãããªãããã«ããŸããããããããªããšãGDScriptãå®éã«äžè²«æ§ã倱ãããšã«ãªããŸãã
Dæ§æïŒ$ã¯é åã®ãµã€ãºã§ãïŒïŒ
array[2..4]
array[2..$]
array[$-1..$]
åèãŸã§ã«ã ç§ã¯Pythonã®ãã®ãGDScriptã«ããåãããšã«åæããŸãïŒP
ç§ã¯ããã«åãçµã¿ãããšæã£ãŠããŸãã
æåã®ã¹ããããšããŠãè² ã®ã€ã³ããã¯ã¹ãè¿œå ããPRãæºåããŠããŸãã ïŒ array[:-1]
ãèš±å¯ããå Žåã¯ã$ïŒ array[-1]
ãèš±å¯ããå¿
èŠããããŸããïŒ
é åã¹ã©ã€ã¹ãžã®å²ãåœãŠã¯ã©ãã§ããïŒ ãŠãŒã¹ã±ãŒã¹ã¯ãããŸããïŒ
ç§ã¯ããããµããŒãããã³ãŒããå ¥æã§ãããšç¢ºä¿¡ããŠããŸããããŠãŒã¹ã±ãŒã¹ããªããã°ãç§ã¯ãããæ°ã«ããªããããããŸããã
ç§ãã¡ãããªããã°ãªããªãå¶éã®1ã€ã¯ã眮æå€ãåããµã€ãºã§ãªããã°ãªããªãããšã ãšæããŸãïŒPythonã¯ããã€ããªã©ã®åºå®ãµã€ãºã®é åã®ãããªæ§é ã«ãé©çšããŸãïŒ
ã€ãŸãã次ã®ããã«æ©èœããã¯ãã§ãã
var a = range(10)
a[2:5] = [10, 11, 12]
print(a) #[0, 1, 10, 11, 12, 3, 4, 5, 6, 7, 8, 9]
次ã®å¯èœæ§ããããŸãã
a = range(10)
a[1::2] = [10, 11, 12, 13, 14]
print(a) # [0, 10, 2, 11, 4, 12, 6, 13, 8, 14]
ããããããã¯ãããããããŸããïŒ
a = range(10)
a[2:5] = [10]
print(a) # [0, 1, 10, 5, 6, 7, 8, 9]
æèŠïŒ
念ã®ããããŸã äœæ¥äžã§ãã æ¥é±ã«ã¯PRã®æºåãã§ãããããããŸãããããã£ãšæéããããå ŽåããããŸãã
@brakhane誰ãæ¥ãã§ããŸãã-æéããããŠãã ãã:)
ïŒ5701ããã³ïŒ5765ãåç
§ããŠãã ãã
åçŽãª2åŒæ°ã®ã¹ã©ã€ã¹æäœãDVectorããã³ByteArrayãã€ã³ãã«è¿œå ããŸãããããã¯ãå°æ¥ã®ãã€ã³ãã§ãGDSriptäœã¬ãã«é
åã¿ã€ãïŒIntArrayãStringArrayãªã©ïŒã®ãããã«ãé©çšã§ããŸãã -1ãåŠçããã³ãŒãã¯ãŸã ãããŸããã ç§ã¯ã¡ããã©ä»ãã®äŸ¿å©ããçããããšã«æ°ã¥ããŸããã
ããã¯3.0ã«å®è£
ããå¿
èŠããããšæããŸããçŸåšãPoolByteArrayã«ã¯subarray(from, to)
ã¡ãœãããå®è£
ãããŠããŸãããä»ã®çµã¿èŸŒã¿åã«ã¯å®è£
ãããŠããªããããéåžžã«äžè²«æ§ããããŸããã 3.0ã§äžè²«æ§ã®ãããã®ãå®è£
ããªãå Žåã¯ãåŸã§çœ®ãæããããå¯èœæ§ã®ããAPIã®å°å
¥ãé¿ããããã«ãïŒ5879ïŒå®å®çãªãªãŒã¹ã§ã¯ãŸã åºè·ãããŠããŸããïŒãå
ã«æ»ãããšãææ¡ããŸãã
ç§ã®å®è£ ã¯98ïŒ å®äºããŠããŸãïŒåäœããŸããããããã°ããæéããªãã£ãã¡ã¢ãªãªãŒã¯ãã©ã³ãã ãªã¯ã©ãã·ã¥ãããã€ããããŸãïŒããå®éã®æéã®å¶çŽã®ãããå®è£ ãå®äºã§ããŸããã
誰ããïŒç§ãå©ããŠïŒãããçµããããããšãã§ããããã«ãç§ã¯èªåã®WIPããã©ã³ãã«å ¥ããŠãæ§ããªããšæã£ãŠããŸãã å®è£ ã«é¢ãã質åããæäŒãã§ããŸãã ç§ã®åªåãç¡é§ã«ãªãã®ã¯æ®å¿µã§ãïŒç§ã¯ãããããããŸã§ã«çŽ40æéãè²»ãããŠããŸãïŒ
å®è£
ã¯ããªãå®å
šãªæ©èœã§ãïŒãããŠãå®éã«ãããã©ãã»ã©å®å
šã§ããããèªãã«æã£ãŠããŸãïŒãããšãã°ãã¹ã©ã€ã¹ã¯ãå²ãåœãŠãå«ããã»ãšãã©ã®é
åã¿ã€ãã§Pythonã®ããã«æ©èœããŸãïŒããšãã°ã a[1:4] = [1,2,3]
ã¯æ©èœããŸãã a[1:3] = b[10:13:2]
ããã³ãã®éïŒã
ãã ããããã€ãã®æ³šæç¹ããããŸãã
slice
ãå°å
¥ããå¿
èŠããããŸãããããã¯ããšãã£ã¿ãŒã«å
¬éããå¿
èŠããããŸãã ãã®äœæ¥ã¯å®äºããŸããããããã€ãã®èåããªéšåããããŸããã³ãŒããã©ããã«çœ®ãå¿ èŠããããã©ããæããŠãã ããã godotã¹ã¯ãªããã®å éšã«ç²ŸéããŠãã人ãªãã10æé以å ã«ãããã解æ¶ããããšæããŸãã
@brakhaneãã§ã«äœæ¥ãå®äºããŠããã®ã§ãã³ãŒãããã©ãŒã¯ã«å ¥ããŠãã«ãªã¯ãšã¹ããéããšäŸ¿å©ã§ãã ãã®ããã«ããŠãä»ã®äººãããªãã®ã³ãŒããã¬ãã¥ãŒããŠã³ã¡ã³ãããããšãã§ããŸãã
調åã¯ã©ãïŒ
ããã楜ãã¿ã«ããŠããŸãã :)
@ bojidar-bgã¯ç§ãã¡ã®æ°ããgdscriptéçºè ã§ããè©ŠããŠã¿ãŸãããïŒ ïŒP
ãŸãã3.1ãããã·ã¥ããŸã
ãµãã¢ã¬ã€ã¡ãœããã¯å æ¬çç¯å²ã䜿çšããŸãããããã¯ïŒããŸãããã°ïŒPythonã¹ã¿ã€ã«ã®ã¹ã©ã€ã¹ç¯å²ã䜿çšããããšã«æ³šæããŠãã ããã
ãµãã¢ã¬ã€ã¡ãœããã䜿çšããã®ã¯å°ãé¢åãªã®ã§ãå¹
ããŒãã®ã¹ã©ã€ã¹ãäœæããããšããªãããã«ç¹å¥ãªã±ãŒã·ã³ã°ãäœæããå¿
èŠãããããã§ãïŒããšãã°ããããã¡ã®äžéšã2åã¹ã©ã€ã¹ããŠæ¶è²»ããããšããŠããå Žåã¯ã 'æ®ãã®'ã¹ã©ã€ã¹ã®é·ãã¯ãŒãã«ããããšãã§ããŸãïŒãã¹ã©ã€ã¹ãèŠæ±ãããšãã«ãã¹ãŠã®é·ãã«-1
ãè¿œå ããŸãã
ç·šéïŒå®éãäžå®æ°ã®ãã€ããã¹ã©ã€ã¹ããŠ-1ãå®è¡ã§ããå Žåãé€ããŠãæåŸã®ã¹ã©ã€ã¹ã«-1ãè¿œå ããå¿ èŠããªãç¶æ³ãé ã®äžã§èããããšã¯ã§ããŸããããããæžããšãã
ããã§äœãé²æ©ã¯ãããŸããïŒ
GDscriptã§ãã®æ©èœãå®éã«äœ¿çšã§ããããšãããããŸãã
3.1ã¯æ©èœãåçµãããŠããããã次ã®ãã€ã«ã¹ããŒã³ã«ç§»è¡ããŸãïŒ3.2ã§ã¯ããŸããŸãªGDScriptã®æ¹åãèšç»ãããŠããŸãïŒã
ããã«ã¡ã¯ç§ã¯ã¡ããã©ãã®ã¢ã€ãã ã«åºããããç§ã®2ã»ã³ããæå ¥ãããã£ãã§ãã
ã¹ããŒãã¹ã©ã€ã¹ãäœããã®åœ¢ã§åã ã®é åã€ã³ããã¯ã¹ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå Žåã¯ããããããããé¿ããå¿ èŠããããŸãã GDScriptã§ãªããžã§ã¯ããå埩åŠçããããšã¯ãã¡ãã£ãšããæ§æäžã®åé¡ã®ããã«ããã©ãŒãã³ã¹ã®ããã«ãã£ãåããã«ã¯ããŸãã«ãäžè¬çãªãŠãŒã¹ã±ãŒã¹ã§ãã
ç§ã¯ãã¹ãŠã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ãŒã奜ãã§ãããå¹³åçãªã²ãŒã éçºè ã¯ãè§ãã£ããäžæ¬åŒ§ãæ¬åŒ§ãªã©ã«é¢é£ãããã®ãGDScriptã«å®è£ ãããŠããå Žåãååæ§ãšé床ã«é¢é£ããåççãªæåŸ ãæã£ãŠãããšæããŸãã ãã®å¥çŽãç Žãããå ŽåãGDNativeã«äœãããã€ããã·ã¥ããå¿ èŠãããããšããåé¡ã¯ã¯ããã«ææ§ã«ãªããŸãã è¯ããsub_arrayïŒïŒããŸãã¯ãsliceïŒïŒãé¢æ°ãæåã®æ¹æ³ã ãšæããŸããããããã°ïŒç§ã¯ïŒæ¢åã®é åã€ã³ããã¯ã¹ã³ãŒãããã®ãŸãŸã«ããŠããããšãã§ããããã§ãã
ããã«ã€ããŠäœãé²å±ã¯ãããŸããïŒ ãã®ãããªæ¹æ³ãè¿œå ããPRãæåºããããšãã§ããŸãã
ããã§ããããå®è£ ãããã é£çµ¡ãã£ãïŒ
åãããã«ãé åãããµãã»ãããååŸãããã®ã§ããããªã¹ãå å è¡šèšãšãžã§ããªãã¯é åãã¹ã©ã€ã¹ããé¢æ°ã®äž¡æ¹ãååšããªãããã§ãã 代æ¿æ¡ã¯å°ãåé·ãªã®ã§ããããã®1ã€ãããããè¿œå ããå¿ èŠããããŸãã
@ bojidar-bg
ããã¯ã
range
ãšïŒ4716ã®å å è¡šèšã䜿çšããŠç°¡åã«å®è¡ã§ããããšã«æ³šæããŠãã ãããvar result = array[from:to:step] # Is the same as: var result = (array[i] for i in range(from,to,step))
å å è¡šèšããŸã å«ãŸããŠããªããããããã¯çŸåšæ£ãããããŸããã çŸåšã®æ§æã¯æ¬¡ã®ãšããã§ãã
var result = []
for i in range(from, to, step):
result.append(array[i])
å¥åŠãªããšã«ãéçºè ã¯èªã¿ãããã®çç±ã§ãã®æ©èœïŒïŒ15222ïŒã®PRãæåŠããŸããã
ããã«ã€ããŠã¯IRCã§å€ãã®ã³ã¢éçºè ãšè©±ãåã£ãŠããããªã¹ãå å è¡šèšã®æ§æã¯ã³ãŒããéåžžã«èªã¿ã«ããããGDScriptã®èšèšååã«åããŠãåçŽã§èªã¿ãããæ§æã«ãããšããäžè¬çãªæèŠããããŸãã
å人çã«ã¯ã1è¡ã¯3è¡ãããèªã¿ã«ãããšæããŸãã ä»ã®èª°ãããã®äŒè©±ãåéãã¹ãã ãšæããŸããïŒ
@SnailBonesçµã¿èŸŒã¿ã®Array.slice()
ã¡ãœãããããããšããããã§æãçã«ããªã£ãŠãããšæããŸãã JavaScriptã®ãããªèšèªã«ãåæ§ã®æ©èœããããããã§ã¯ããŸãæ©èœããŠããããã§ãïŒslightly_smiling_faceïŒ
ãªã¹ãå
å
è¡šèšã¯ãããšæããŸããã Array.slice()
ãå¥ã«ããŠãããšäŸ¿å©ã§ãã
çŸåšã Array.slice
ã¡ãœããã«åãçµãã§ããŸã
ãã®ã¹ã©ã€ã¹ãªããžã§ã¯ããæŒç®åãšããŠé
åã«äŸçµŠãããå ŽåããŸãã¯é
åå
ã®ã¹ã©ã€ã¹é¢æ°ã®åŒã³åºããã³ã³ãã€ã©ã§ããŒãã³ãŒãã£ã³ã°ãããå Žåã«ãPythonãã©ã®ããã«è¡ãããªã©ãæ°ããVariantã¹ã©ã€ã¹ã¿ã€ããäœæããæ¹ã奜ãŸããã§ããããïŒ slice
ã¡ãœãããå®è¡ãã start:end:delta
æ§æãgdscriptã€ã³ããã¯ã¹ã«è¿œå ããããšãæ€èšããŠããŸãã
ã¹ã©ã€ã¹ãªããžã§ã¯ãã¯ãããPythonicãã«ãªããŸã;ïŒãã ããããŒãã³ãŒããããã¡ãœãã
ã»ãŒç¢ºå®ã«éããªããŸãã ãããã«ããã
startïŒend ïŒdeltaæ§æ
ãšãŠãåèã«ãªããŸãã
2019幎7æ20æ¥åææ¥ååŸ6æ5å[email protected]
æžããŸããïŒ
ã©ã®ããã«æ°ããããªã¢ã³ãã¹ã©ã€ã¹ã¿ã€ããäœæããæ¹ã奜ãŸããã§ãããã
Pythonã¯ããã®ã¹ã©ã€ã¹ãªããžã§ã¯ããé åã«ãã£ãŒããããå Žæã§ãããè¡ããŸã
æŒç®åããŸãã¯é åå ã®ã¹ã©ã€ã¹é¢æ°ã®åŒã³åºãã
ããŒãµãŒã«ããŒãã³ãŒãã£ã³ã°ãããŠããŸããïŒ ã¹ã©ã€ã¹ã¡ãœãããå®è¡ããŠãæ¢ããŠããŸã
startïŒend ïŒdeltaæ§æãgdscriptã€ã³ããã¯ã¹ã«è¿œå ããŸããâ
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/godotengine/godot/issues/4715?email_source=notifications&email_token=ACJUE6P4A4CDQWUS4PSQQH3QAOK2JA5CNFSM4CEI4JPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ACJUE6LOTSF243FOYXXR2SDQAOK2JANCNFSM4CEI4JPA
ã
æ°ããã¹ã©ã€ã¹ã®çš®é¡ã®ããªã¢ã³ãã䜿çšããããšã ããèããŠããŸãããªããªããã¹ã©ã€ã¹ã¯ããŒãµãŒã®ãªãã¬ãŒã¿ãŒã§ãããããŸãããå¯èœæ§ãããããã§ããããããç§ã¯ãã®åéã§ããŸãçµéšããªãã®ã§ãgdscriptã®1ã€ãããã°çŽ æŽããããšæããŸããéçºè ãå éããŸãã
ããªãã¯ããã«ã€ããŠæ£ããã§ãã ãŸããæ§æãåå©çšããæ¹ãã¯ããã«ç°¡åã§ãã
åŸã§ä»ã®ãã®ã®ããã®æ§é ã ç§ã«ãšã£ãŠæè¯ã®éžæè¢ã®ããã«æããŸãã
2019幎7æ20æ¥åææ¥ååŸ11æ28å[email protected]
æžããŸããïŒ
ã¹ã©ã€ã¹ããã®ã§ãæ°ããã¹ã©ã€ã¹ã®çš®é¡ã®ããªã¢ã³ãã䜿çšããããšã ããèããŠããŸã
ããŒãµãŒã®ãªãã¬ãŒã¿ãŒã«ãªãå¯èœæ§ããããããã¯ããããŸãããã§ãããâ
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/godotengine/godot/issues/4715?email_source=notifications&email_token=ACJUE6IMHLNTYTVL7DITY2TQAPQX3A5CNFSM4CEI4JPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ACJUE6P5Q55EXAWD6IB4ARDQAPQX3ANCNFSM4CEI4JPA
ã
ãŸã ã©ããã«ããå€ãå®è£ ãèŠã€ããããšãã§ãããã©ããã確èªããŸãã é åã«ã€ã³ããã¯ã¹ãä»ããããã«äœ¿çšã§ããã¹ã©ã€ã¹ãªããžã§ã¯ãããããšããç¹ã§ãPythonãšåãããã«ã90ïŒ å®æããåäœããŸããã arr [2ïŒ4] = [1,2,3]ã®ãããªãã®ãå®è¡ããããšãã§ããŸãã
æéã®å¶çŽã§äœæ¥ããããŸãã
@brakhaneããã¯éåžžã«åœ¹ã«ç«ã¡ãŸãã çŸåšãæ°ããã¹ã©ã€ã¹ãªããžã§ã¯ãããªã¢ã³ãã¿ã€ããè¿œå ããŠãããšããã§ããããã«ãããã¹ã©ã€ã¹ã®åäœãæäœãšèŠãªããŠãããŒãµãŒã®å€æŽãã¯ããã«ç°¡åã«ããããšãã§ããŸãã
@creikeyããã¯ç§ã®ã¢ãããŒããšããªã䌌ãŠããããã«èãããŸãã godot GitHubãªããžããªãåé€ããŸããããã³ãŒããä»ã®å Žæã«æ®ã£ãŠããå¯èœæ§ããããŸãã æŽæ°ãæçš¿ããŸã
@creikeyå®å šã«æè¿ã§ã¯ãªãWIPãèŠã€ããŸããïŒãã®ããŒãžã§ã³ã«ã¯ããã€ãã®æ©èœãæ¬ ããŠããå¯èœæ§ããããŸãïŒã ããã§èŠã€ããããšãã§ããŸãïŒ https ïŒ//github.com/brakhane/godot/compare/4c4ab14..8a258c0
ãŸã ããã€ãã®ãã°ããããŸããããšãã°ã httpsïŒ //github.com/brakhane/godot/compare/4c4ab14..8a258c0#diff-7d521a4f767fb1ae3c908a20616084a4R1446ã.startãã§ã¯ãªãã.endããšè¡šç€ºãããŠããããšã«æ°ã¥ããŸããã
ãäžæãªç¹ãããããŸãããããæ°è»œã«ãåãåãããã ããã ãŸããããæ°ããããŒãžã§ã³ãèŠã€ããããšããŸãã
ç§ã¯ä»ãå æ¬çäžéãæã€é¢æ°ã§ã¯ãªãpythonicé åã¹ã©ã€ã·ã³ã°ãè¿œå ãããšãã¡ãœãããè¿œå ããã ãã®å Žåãšæ¯èŒããŠã»ãšãã©ã¡ãªããããªããæ°ããããªã¢ã³ããäœæããå¿ èŠããããããäžå¿ èŠãªè€éããè¿œå ããããšèããŠããŸãã
æãåèã«ãªãã³ã¡ã³ã
+1ã ãããŠãããã»ã©æ··ä¹±ããŸããã ç§ãã¡ã¯Pythonã«äŒŒãŠããã®ã§ãäžçäžã®ä»ã®ãã¹ãŠã®èšèªããåäœãã€ã³ããŒãããªãããã«ããŸããããããããªããšãGDScriptãå®éã«äžè²«æ§ã倱ãããšã«ãªããŸãã