ãããå¿ èŠãªã®ããéçºè ã«ãšã£ãŠèå³æ·±ããã®ãªã®ãã¯ããããŸããããGDScriptã§ãªãã·ã§ã³ã®å ¥åãè¡ããšäŸ¿å©ãªå Žåããããããã§ããã«ã€ããŠè©±ãåãããšãæãã§ããŸããã
ãNimããšåŒã°ããããã°ã©ãã³ã°èšèªãåŠãã§ããŸããGDNativeçšã®éåžžã«äœ¿ããããã¢ãžã¥ãŒã«ããããããã§è²¢ç®ããããšãåŠã¶ããšã«èå³ããããŸãïŒC ++ã¯èŠèŠçã«é£ããã®ã§ããããšã¯ç¡é¢ä¿ã§ãããèæ¯ãããã€ããããŸãïŒã Nimã¯éçã«åä»ããããŠãããGDSCriptã¯åçã§ããããšãããã£ãŠããŸãããç°¡åã«ããããã«åãæå®ããããšããç¶æ³ã«ééããŸããã
äž»ã«é¢æ°ãäœæãããšãã«ãæž¡ãããããšãèš±å¯ãããŠããå€æ°ã®åãæå®ããŠãã³ãŒãè£å®ã§ç§ã話ããŠããããšãèªèã§ããããã«ãããšäŸ¿å©ã§ãããä»ã«ãå©ç¹ããããšç¢ºä¿¡ããŠããŸããããã
äœãã®ãããªãã®
func myfunction(a, b : int, c : InputEvent , d : String = "Default Value"):
(...)
aãåçã§ããå Žåãbdã¯éçã§ãããæ§æãã©ã®ããã«èŠãããã瀺ããŠããŸãã
exportããŒã¯ãŒãã䜿çšãããšãã«ãšãã£ã¿ãŒã®åãã³ããæå®ã§ããããšã¯ç¥ã£ãŠããŸãããã¹ã¯ãªããã®å®è¡åŸã«å€æ°ããã®åã«ä¿ã€å¿ èŠã¯ãããŸããã ãã®ã¢ã€ãã¢ã¯ãGDScriptã®æå³ã«åããå¯èœæ§ããããŸãããŸãã¯ãäœæ¥ãå€ãããŠã»ãšãã©å©çãåŸãããªãå¯èœæ§ããããŸããã話ãããŸãããã
ããªããã§ããããã«èŠããŸã
func myfunction(something = InputEvent):
äœãæž¡ããªãå Žåã¯ç©ºã®å ¥åã€ãã³ããçºçããŸãããå€æ°ããã®ã¿ã€ãã«ãªãããã«åŒ·å¶ããããšã¯ãããŸãã
myfunction('string')
ããŸãããã§ãããã
ããŒããããäžã«ãããŸã:)
https://github.com/godotengine/roadmap/blob/master/ROADMAP.md
@Hinsbart
ãããã©ã®ããã«èŠãããããŸãã¯GDScriptã®ä»ã®éšåã§ã©ã®ããã«æ©èœãããã«ã€ããŠã®åç
§ã¯ãããŸããïŒ ãããšããããŒããããäžã®åãªãã¢ã€ãã¢ã§ããïŒ
æ®å¿µãªããããããããã€ãã®ircã®è°è«ãé€ããŠããŸã ããã«ã€ããŠã®åç §ã¯ãããŸããã
CC @reduz ã圌ãããã«ã€ããŠäœãèããŠãããã«ã€ããŠã®ããã€ãã®ãã³ããäžããããã«ã
@ LeonardMeagher2ã¯ãããªããæžãããã®ã®ããã«èŠããã¯ãã§ã
ã©ãã§ããïŒ
func myfunction(something is InputEvent, something_else is String):
ããã¯ç§ã«ãšã£ãŠããªãè¯ãããšã§ãããisããŒã¯ãŒãããã䟿å©ã«ãªããã³ãŒããç解ãããããªããŸã
åæããŸããã String something
ãŸãã¯something : String
ã©ã¡ãã§ã倧äžå€«ã§ãã something is String
ã¯ç§ã«ã¯æªãããã§ãã
String something
ãŸãã¯something is String
ã©ã¡ããåé¡ãããŸããã ã³ãã³ã䜿çšãããšãã³ãŒãå
ã«å€ãã®ã³ãã³èšå·ãäœæããããšæããŸãã
is
ã䜿çšãããªãå Žåãç§ã¯ä»ã®èšèªããã®ãã®è¡šèšæ³ã«æ
£ããŠãããããäžè¬çã ãšæãã®ã§ã String something
ã奜ã¿ãŸãã
@neikeq
var something:String = " "
ããã«ãå€æ°ãäœæãããšãã«ã¿ã€ãã宣èšã§ããã°ãåæããŸã
ããã§ãªããã°ãé¢æ°å®çŸ©ã ãã§ã»ãã³ãã³ã䜿çšããæ¹ãæ··ä¹±ããã ãããšæããŸãã
ãIsãã¯çŸåšgdscriptã®ç¶æ¿ã«ã€ããŠå°ããããã«äœ¿çšãããŠããŸããããªããããèŠæ±ã§ããªãã£ãã®ã§ããããã
Cã®ãããªã¿ã€ãã®ãã¬ãã£ãã¯ã¹ã¯IMOã®æ¹ãåªããŠããŸãã ããã¯çããå ¥åãéããåã䜿çšãããšãã«varãŸãã¯funcã眮ãæããããšãã§ããŸãã
äŸïŒ
int some_variable
int some_function(int some_argument):
return some_variable + some_argument
ããã«å¯Ÿããç§ã®æ祚ã
@ juan-garcia-m
ã¿ã€ãã³ã°ã®ããã«cã«æ
£ããŠããªã人ã«ãšã£ãŠã¯ç解ãããããšã¯æããŸããã å
¥åããæ¹ãç°¡åãããããŸããããèªã¿ã«ãããªããšæããŸãã
é¢æ°ãŸãã¯å€æ°ãšã¯äœããäžç®ã§ç¥ãããšã奜ã¿ãŸãããããã®ããŒã¯ãŒããåã«çœ®ãæãããšããã®æ©èœãåé€ãããŸãã ããããCãšC ++ãå
¥ãã«ããçç±ã®1ã€ã§ãã
èšããŸã§ããªããç§ã®ããã«èšèªãäœãããšã¯ã§ããŸããããç§ã ãããã®ããã«æããŠããããã§ã¯ãªããšç¢ºä¿¡ããŠããŸãã
ãisãã®åé¡ã®1ã€ã¯ãçŸåš3.0ã§ã以åã¯ãextendsãã§ãã£ããã®ãã€ãŸãããŒããã¯ã©ã¹ã«å±ããŠãããã©ããã確èªããããã«äœ¿çšãããŠããããšã§ãã
@ Zireael07
ãã®ãããé¢æ°å®£èšã§åããã§ãã¯ããã®ãé©åã ãšæããŸãã
ã¹ã¯ãªããã®å
é ã§ã¯åŒãç¶ãExtendsã䜿çšãããŸãããåãã§ãã¯ã«ã¯ãisãã䜿çšãããŸãïŒãªãã©ã«ã®å Žåã¯typeofã ãšæããŸãïŒã
Cã¹ã¿ã€ã«ã®ãã¬ãã£ãã¯ã¹ã¯äžè¬ã«ãã£ãšè€éã§ããããããã®ã¿ã€ãã®èšèªã®å Žåãæšæºã¯å€æ°ïŒã¿ã€ãã®èŠåã§ããããã«æããããããããã䜿çšãããŸãã
ãªããããééãããã®ã§ããïŒ ããã¯ãŸã å®è£ ãããŠããŸãã...
ãã ã®è©±ãåãã ã£ãã®ã§éããŸããããåéããŠç®çã®æ©èœã®é²æç¶æ³ã远跡ããŸã
Cã¹ã¿ã€ã«ã®ãã¬ãã£ãã¯ã¹ãåèãããããšãæ¬åœã«æãã§ããŸãã Typescriptã§ã®çµéšãããå€æ°ãåæåãããšãã®çç£æ§ãäœäžããå人çã«ã¯ã³ãŒããèªã¿ã«ãããªããšæããŠããŸãã ãããæžããªããã°ãªããªã...
var foo: String = 'bar'
... var
ããŒã¯ãŒããã¿ã€ãã«çœ®ãæããã ãã§ãªã...
String foo = 'bar'
...ç§ãçãããŸãã ããã¯éåžžã«å°ãããŠã€ãŸããªãããã«èãããŸãããã²ãŒã ã§ã®é·æçãªäœæ¥ã§ã¯ãå¿ èŠä»¥äžã®ããŒã¹ãããŒã¯ãçºçããŸãã
å€èŠ³ã¯æ¬¡ã®ãšããã§ãã
Pythonæ§æã«åŸããŸãïŒTypeScriptãHaxeã«ã䌌ãŠããŸãïŒã
ããã¯ããªãæèŠãåãããŠããŸãã ããšãã°ãç§ã¯ããããã®TypeScriptã³ãŒããæžããæ§æãæ¬åœã«å¥œãã§ãã ã¿ããšã¹ããŒã¹ã®ããã«ã誰ããäœãæåãã«ã€ããŠç¬èªã®æèŠãæã¡ãéåžžã¯èæ¯ã«é¢é£ããŠããŸãã String
ãèŠãŠããããé¢æ°ãªã®ãå€æ°ãªã®ãããããªããããã var
ãèŠãŠããããå€æ°ã§ããããšãç¥ã£ãŠããæ¹ãç°¡åã ãšæããŸãã ãã¿ã€ãããã®ãéãããšããã®ã¯è¯ãè°è«ã§ã¯ãªããšæããŸãããééããç¯ãã«ããããšãèªã¿ããããã®æ¹ãã¯ããã«åªããŠããŸãïŒãã ãããŸã æèŠããããŸãïŒã
Pythonã®æ¹æ³ã®ãã1ã€ã®ãã€ã³ãã¯ã解æãã¯ããã«ç°¡åãªããšã§ãã çŸåšã®ããŒãµãŒã¯ãããã«å¯Ÿå¿ããããã«å€§å¹ ã«å€æŽããå¿ èŠã¯ãããŸããã æ¥é èŸä»ãã®ã¿ã€ãã®å Žåãäœããããã決å®ããããã«ãã³ã³ããã¹ãã«ã€ããŠããã«å€ãã®ããšãèæ ®ããå¿ èŠããããŸãã
ãããã³ãŒãã®å¯èªæ§ã¯éåžžã«äž»èŠ³çã§ãã Cã¹ã¿ã€ã«ã®æ§æã§ã©ã®ããã«èŠããããäŸã«æžãçŽããŸããã _I_以äžã®ã³ãŒããèªã¿ããããå€æ°ãšé¢æ°ãåºå¥ããã®ã«åé¡ã¯ãããŸããã
extends Node
const int MY_CONSTANT = 0
String my_member_variable = "Value"
void my_empty_func():
pass
float my_other_func(bool arg1, Node2D arg2, bool default = false):
Vector2 local_variable
int other_variable = 0
return float(other_variable)
ãå
¥åãéãããšããã®ã¯ãéçºè
ã®çç£æ§ã«çŽæ¥åœ±é¿ãããããè¯ãè°è«ã§ã¯ãªãããšã«åæããå¿
èŠããããŸãã Pythonã¹ã¿ã€ã«ã¯ãCã®ã¹ã¿ã€ã«ãããèªã¿åããšæžã蟌ã¿ãå°ãé¢åãªã®ã§ãæ»ãåãå®çŸ©ããããã ãã«->
ãšå
¥åããå¿
èŠããããŸãã Pythonã¹ã¿ã€ã«ã®æ§æã«ã€ããŠç§ãèŠãããšãã§ããå¯äžã®åŒæ°ã¯ã1ãPythonã«ç²ŸéããŠãã人ã«ãã£ãšã¢ããŒã«ããããšãããã³2.å®è£
ãç°¡åã§ãããã©ã¡ããç¹ã«è¯ãåŒæ°ã§ã¯ãªããšæããŸãã å®è£
ãç°¡åã ãšèšã£ãŠããããã§ã¯ãããŸããããã£ãšé£ãããããããç§ã®ã¹ãã«ã¬ãã«ãè¶
ããŠãããšæããŸãããé·æçã«ã¯ããã ãã®äŸ¡å€ããããšæããŸãã
ãšã«ãããããã¯ç§ã®2ãããŒã®äŸ¡å€ã§ãïŒ smile:ã ç§ã¯ãããŸã§GDScriptã§ã®éçºã楜ããã§ããããµãŠã³ãã¿ã€ãã·ã¹ãã ãåããŠããããšã楜ãã¿ã«ããŠããŸãã
Pythonã¯ãã§ã«ããããµããŒãããŠããã®ã§ãç§ãã¡ã«ã§ããæåã®ããšã¯ããããã³ããŒããããšã ãšæããŸã
varããŒã¯ãŒããå«ããªäººã®ããã«ããã®ãããªãã®ãèš±å¯ããNimã®ãããªæ§æãè¿œå ããããšãå¯èœãããããŸããã
a:int
b:float
c:char
const
PI:float = 3.1416
MAX:int = 100
ãªããªã¿ãŒã³ã¿ã€ããå¿
èŠãªã®ãçåã«æããŸãããªã¿ãŒã³ããŠããŠããã®åºåãç¹å®ã®ã¿ã€ãã®å€æ°ã«éãããããããäžèŽããªãå Žåã¯ãã¹ããŒãããŸãã
ã³ãŒããå®è¡ããåã«ãç·šéè
ããã®ééããèŠã€ããããšãã§ãããšæããŸãã
ãªã¿ãŒã³ã¿ã€ãvoid
ã¯ç§ã«ã¯ããŸãæå³ããããŸããããã®å Žåã¯ããªã¿ãŒã³ã¿ã€ãã®å®çŸ©ãçç¥ããæ¹ãç°¡åã ãšæããŸãã
æåŸã«ã ->
ã¯ãæ»ãåãããå Žåã¯å¥åŠã«æããŸããã func somefunc(): String:
ïŒå€åïŒïŒã®ãããªnimãå®è¡ããªãå¯èœæ§ããããŸãããç§ã¯ããã§ã¯ãããŸããæ§æã®ãããªç¢å°ã®ãã¡ã³ã¯ããããç§ã«ã¯ããŸã瀺ããªãã®ã§ãæ¹åæ§ãããããã«èŠããŸããããããšã¯äœã®é¢ä¿ããããŸããããããåäœã®æŒç®>>
ãš<<
æãåºãããŸããããããã¯ããæå³ã§æ¹åæ§ããããŸãã
__åé¡ã解決ããã€ããã¯ãããŸããã§ãã__
ããŒãã®ãã¹ãŠã®é¢æ°ããã®å€æ°ãããã³ãã®æ»ãåãèªã¿åãããšãã§ããããã«ãªããããå Žåã«ãã£ãŠã¯æ»ãåãéèŠã§ããããšãããã£ãŠããããšãããããŸãã
ä»ã¯ããŸãæå³ããªããããããŸãããã人ã ã¯ãã©ã°ã€ã³ãããããã©ã®ããã«æ©èœããããéåžžã«åçã«ããããšãã§ããã²ãŒã ã³ãŒããæžãããšãã§ããããã«ãªããŸãã IEã®å Žåããã©ã°ã€ã³ã«æ¬¡ã®èŠåã¡ãã»ãŒãžã衚瀺ãããå¯èœæ§ããããŸããããã®ããŒãã«ã¯xæ»ãåã®é¢æ°ãå¿ èŠã§ãããåç §ããããšããŠããããŒãã«ã¯ãå¿ èŠãªã¡ãœããã·ã°ããã£ãæã€ã¡ãœããããããŸãããã
ç§ã¯ããŠãŒã¶ãŒãã¬ã³ããªãŒã®ããã«ïŒSystem.Reflectionãä»ããŠïŒãã®ã¿ã€ãã®ãã®ãããªã䜿çšããAIBehaviorãšåŒã°ããUnityã®ãã©ã°ã€ã³ãäœæããŸããã ç§ã¯æåéããå©çšå¯èœãªã¡ãœããåãå ¥åããããããããŠã³ã¡ãã¥ãŒãæã£ãŠãããæ£ãã眲åãæã€ãã¹ãŠã®ã¡ãœããã«åºã¥ããŠãã³ãŒã«ããã¯ãšããŠäœ¿çšããã¡ãœãããéžæã§ããããã«ããŸããã²ãŒã ãå®è¡ããããšããã®ã¡ãœãããåŒã³åºãããŸãããããäœãããç¶æ³ã ã¢ã¯ã»ã¹ããããšããŠãããªããžã§ã¯ã/ã¹ã¯ãªããã«ã¡ãœãããååšããªãå Žåã¯ãã€ã³ã¹ãã¯ã¿ãŒã«ãµã³ãã«ã³ãŒãã衚瀺ããããããã³ãŒããã³ããŒããŠè²Œãä»ããã¯ã©ã¹ã®ååãå€æŽããã ãã§ã¹ã¯ãªãããäœæã§ããŸãã :)
ã§ããããç§ã®èãã§ã¯ãã§ããã ãå€ãã®ã¹ã¯ãªããæ å ±ãæã€ããšãã§ããã°ãGodotã¯ãã©ã°ã€ã³äœæè ã«ãšã£ãŠã¯ããã«æ¡åŒµæ§ãé«ããªããŸãã
ãŸããTypeScriptã¹ã¿ã€ã«ã®æ§æïŒ var name: String = "Godot"
ïŒã¯ãåçèšèªã«è¿œå ããããªãã·ã§ã³ã®åæå®ã®æšæºæ§æã«ãªã£ãŠãããããæãŸãããšæããŸãã
ãŸããPythonæ§æã«åŸãããšããå§ãããŸãã
https://www.python.org/dev/peps/pep-0484/
https://docs.python.org/3/library/typing.html
ããã¯ããªãã·ã§ã³ã®å ¥åã䜿çšããŠãåæ§ã®åçèšèªããGDScriptã«ã¢ã¯ã»ã¹ãã人ã ãæ¯æŽããŸãã
ãšããã§ããã€/ã©ã®ãªãªãŒã¹ã§ãããå®è£ ããããšæåŸ ã§ããŸããïŒ 3.1ãèšåãããŠããã®ãèŠãããšããããŸããïŒ
ããã¯Godot3.1ã§å©çšã§ããã¯ãã§ãã
Cã¹ã¿ã€ã«ã®ãã¬ãã£ãã¯ã¹ãããè€éã§ãç解ãã«ãããèªã¿ã«ãããPythonæ§æãªã©ã䜿çšããæ¹ãæè¿ããããšããè°è«ã«ã€ããŠããã¹ãŠã®ããã¥ã¡ã³ãã§ããã¹ãŠã®ã¡ãœãããªã©ã§ãã®Cã¹ã¿ã€ã«ã®ãã¬ãã£ãã¯ã¹ã䜿çšããŠããã®ã§ã¯ãªãã§ããããã ããšãã°ãã«ã¡ã©ããŒãžãã1ã€ããã°ããåŒãåºãã ãã§ã set_orthogonal ( float size, float z_near, float z_far )
æåã¯ããç解ã§ããŸããã§ããããåŠã¶ã®ã«å°ãæéããããã ãã§ããã®åŸã¯å®å
šã«çã«ããªã£ãŠããŸãã
ããã«ã¡ã¯ãããã§ææ¡ããŸãã
çè«çæ ¹æ ïŒ
éçåä»ããå¿
èŠã ãšæããŸãããå¯èœã§ããã°ããŠãŒã¶ãŒã«åãæå®ããããã«åŒ·å¶ããããšã¯é¿ããŸãã
ãã¹ãŠã®äž»èŠãªã³ã³ãã€ã«èšèªã¯ãéçåæšè«ã«åãã£ãŠããŸãã
@reduzã¯ãGodotãœãŒã¹ã³ãŒãã®åæšè«ãããŸã奜ãã§ã¯ãªãããšãç¥ã£ãŠããŸããæ確ãªèŠ³ç¹ããç解ã§ããŸãã ãã ãããã®åŠ¥åæ¡ã¯ãéçåãã§ãã¯ã®å©ç¹ã®ã»ãšãã©ãåããŠãããã³ãŒãã£ã³ã°é床ãããã»ã©åŠšããªããããGDScriptã§ã¯éåžžã«ããŸãæ©èœãããšæããŸãã
ãã ããå®è£
ãããè€éãã©ããã¯ããããŸããã
ããã«ã¯ã代æ°çããŒã¿åãšããŠããã€ãã®è¿œå ã®costructãå¿
èŠã«ãªããŸãã
ããããã®ååã䜿çšããèšèªã§ã
https://crystal-lang.org/docs/
äžäœäºææ§ãç¶æããããã«ãé¢æ°ãšå€æ°ãå®çŸ©ããããã«ããã€ãã®æ°ããããŒã¯ãŒããå¿ èŠã«ãªããŸãã ãããã¯ãéçåãã§ãã¯ãæå¹/ç¡å¹ã«ããããã®éæ³ã®ã³ã¡ã³ãããããããããŸããã
ããã¯ããã®çš®ã®åã·ã¹ãã ã§äœãã§ãããã®äŸã§ãïŒå°ãã«ããŒãç¥ã£ãŠãã人ã®ããã«ïŒ
def test(x)
return true if x
return "This is false"
end
puts test(false).upcase
puts test(true)
åºåïŒ
Error in test.cr:6: undefined method 'upcase' for Bool (compile-time type is (Bool | String))
puts test(false).upcase
^~~~~~
èãïŒ
ç¹ã«ã³ãŒãè£å®ã®ããã ãã§ãªããç·šéæã«ååšããªãããããã£/ã¡ãœãããšç¡å¹ãªåŒæ°ã«ãŠã³ãããã§ãã¯ããããã«ããåæšè«ãæ¹åããããšæããŸãã ãªãã·ã§ã³ã®ã¿ã€ãã³ã°ãè¡ãããåŸã®2çªç®ã®ã¹ãããã®ãã®éšåã¯ãä»ã®ãšããæ°ã«ããªãã§ãã ããã
@ m4nu3lfã®äŸã¯ããªãé²ãã§ãããå®éã«ã¯åå²ã«åºã¥ããŠçµæã®åãæšæž¬ããŠããŸãã ã³ãŒãã®å®è¡ãã·ãã¥ã¬ãŒãããªããšããããã©ã®ããã«è¡ãããããããããŸãããã³ãŒãã¯éåžžã«è€éã«ãªãå¯èœæ§ããããŸãã @reduzã䜿ãããã®ãããããŸããã
Godotã®åã·ã¹ãã ã¯éåžžã«å³å¯ã§ããããã¹ãŠã®å€æ°ã¯Variantã§ãïŒã€ãŸããä»»æã®åãæ ŒçŽã§ããŸãïŒã ããã¯äºææ§ãæãªãããšãæå³ããŠããªãã®ã§ããããã¯ãã®ããã«ãšã©ãŸããªããã°ãªããŸããã ãããã£ãŠã var value = 42
ãå®è¡ããŠããå€æ°ãæŽæ°ã§ãããšèªåçã«æ³å®ãããããšã¯ãããŸãããç¹ã«ãå€éšã¹ã¯ãªããã«ãã£ãŠèªç±ã«èšå®ã§ããã¯ã©ã¹ã¬ãã«ã®å€æ°ã®å Žåã¯ããã§ãã ããã¯ãåæšè«ãäœãããããšãã§ããããšããæã劚ããŸãïŒããããå®äºã®ç®çã®ããã«ãã®ããã«äœ¿çšããããšãã§ããŸãïŒã
åè¿°ã®ããã«ã1ã€ã®å¯èœæ§ã¯ãããããªãã·ã§ã³ã«ããããšã§ãã ã¹ã¯ãªããããšã«ãããæå¹/ç¡å¹ã«ããããšã®äŸ¡å€ãããŸãèŠãããªãã®ã§ããããããããžã§ã¯ãèšå®ã§ãã ããã§ããããã¯æ¬¡ã®ã¹ãããã§èããããå¥ã®ææ¡ã§ãã
@vnençè«çã«ã¯ããautoãããletããªã©ã®ãã©ã¡ãŒã¿ãŒ/æ»ãå/å€æ°ã«ããã€ãã®æ°ããããŒã¯ãŒãã䜿çšããcrystal-langã®åãã¢ã«ãŽãªãºã ã䜿çšããããšã§ãã³ã³ãã€ã«æã«åãæšæž¬ã§ããŸãã
ããã¯ãå®å
šãªåæšè«ã䜿çšããéçåä»ãã§ãã
ããªããæã£ãŠãããšããŸããã
ã¹ã¯ãªããå
ã®auto my_field = 42
ã¯ãã¿ã€ããint
ãšåçŽã«æšæž¬ããåºã«ãªãããªã¢ã³ããintã®ã¿ã«å¶éããããšãã§ããŸãã
ãã ãããã®èšèªã¯åçŽãªå€æ°ãè¶
ããŠããŸãã ãã©ã³ãã«å¿ããŠãã¿ã€ããã¿ã€ãã®ãµãã»ããã«å¶éã§ããŸãã
äžèšã®äŸã®ããã«ãæ»ãåã¯æååãŸãã¯ããŒã«å€ã®ã¿ã«ããããšãã§ããŸãã
ãããããããè¡ãã«ã¯ã
ããã«ããã€ã³ã¹ã¿ã³ã¹ã®ãæ¡ä»¶ãªã©ã確èªããå¿ èŠããããŸãã
if my_var instanceof MyClass:
...
次ã«ãifæ¡ä»¶ã®æ¬äœã§my_varã¯ãMyClassãã«ããã§ããªããããåã¯ããã«å¶éãããŠããããšãããããŸãã
ããã«å©ç¹ãæãããã«ã¯ãå¯èœãªãã¹ãŠã®ã¿ã€ãã§ååãå
±æãããŠããã¡ãœãããåŒã³åºããããã£ãŒã«ãã«ã¢ã¯ã»ã¹ã§ããå¿
èŠããããŸãã
ã ããèšããŸããã
auto x = MyClass.new()
if (...):
x = "hi"
ãã®åŸãxã¯MyClassãŸãã¯Stringã®ããããã«ãªããŸãã å®è¡æãšã©ãŒãåé¿ããããã«ãäž¡æ¹ã«å ±éã®ã¡ãœããã®ã¿ãåŒã³åºãããšãã§ããŸãã
ããã¯ç§ãåœåèããŠãããã®ãããã¯ããã«å€ãã®äœæ¥ã§ãããšç§ã¯èšããŸãã
ã ããç§ã¯ããã«æ»ããããšæããŸãã å°æ¥çã«å®è£
ã§ãããããããŸãããã誰ããcrystal-langã®ãã€ã³ãã£ã³ã°ãæžããŠãããããšãæåŸ
ã§ãããããããŸããã
ãããã«ãããããã¯æ¬åœã«ã¯ãŒã«ãªæ©èœã ãšæããŸã
@ m4nu3lfç§ã¯ããªãã®èŠæ±ãäœã§ããããç解ããŠããŸããTypeScriptã¯éåžžã«äŒŒãŠããŸãïŒããã¯ç§ãããããç¥ã£ãŠããèšèªã§ãïŒã
ãã ããGDScriptã«ã€ããŠèæ ®ãã¹ãããã€ãã®åé¡ããããŸãã
get_node()
ïŒãã䜿çšãããŸãïŒã§ã¯ãã©ã®ããŒãã¿ã€ããååŸããããç¥ãããšã¯äžå¯èœã§ãã ããªãã¯ãããNode
ã§ããããšãç¥ã£ãŠããã ãã§ãããããã¯ã©ããªãµãã¿ã€ãã§ãããŸããŸããã load()
ãåŒã³åºããšããç¹ã«åçãªååã§åŒã³åºãå Žåã¯ããªãœãŒã¹ã«ãåãããšãåœãŠã¯ãŸããŸãã _input(event)
event
ã¯ä»»æã®InputEventãµãã¿ã€ãã§ããå¯èœæ§ãããããã _input(event)
ã«ãåãåé¡ããããŸããif my_var instanceof MyClass: ...
ããã¯ãã³ãŒãè£å®ã®ããã«ãã§ã«æšæž¬ãããŠããŸãã å®éã®åãã§ãã¯ã«åå©çšã§ããŸãã ç¹ã«ãã®ã±ãŒã¹ã¯äºçŽ°ãªããšã§ãããããªãè€éã«ãªãå¯èœæ§ããããŸãã ããšãã°ã2çªç®ã®æ¡ä»¶if some value == 42 and my_var is Sprite
ãè¿œå ãããšãã³ãŒãè£å®ã¯æ©èœããªããªããŸãã
ãŸãããŠãŒã¶ãŒããã®ãã£ãŒãããã¯ãèãããã®ã§ãé·ãåŸ ã¡æéã®åŸã«ãã¹ãŠãå®ç§ã«ããããããããã«å©çšã§ãããã®ãçšæããããšãïŒç§ã«ãšã£ãŠïŒéèŠã§ãã
èŠçŽïŒåæšè«ãæ¹åãããã®ã§ãããå°ããã€æ¹åããŠæ®µéçã«è¡ãå¿ èŠããããŸãã ãªãã·ã§ã³ã®ã¿ã€ãã³ã°ãå©çšå¯èœã«ãªããšãæ®ãã¯å°é£ã«ãªããŸãã
ãªããããééãããŠããã®ã§ããïŒ
å°ãèªã¿ééããŸãããç§ã®æªãã§ãã
æ¥é èŸãšæ¥å°ŸèŸã«æ»ãïŒUMLãšKotlinã¯ã©ã¡ãããïŒtypeãã䜿çšããŸãã
BasicããDIMaasINTããå®è¡ããŸããïŒãïŒããŸãã¯ãisãã®ä»£ããã«ãasãã䜿çšããŸããïŒ
@programathsããããé·ãæéãçµã¡ãäœåºŠãè°è«ãããŠããŸããã ããã«ãpostfixãå®è£ ããPRãããã®ã§ãä»ã¯å°ãåé¡å€ã§ãïŒsmileyïŒ
ãããéããå¿ èŠããããŸããïŒ
@ LeonardMeagher2 PRãããŒãžããããšãèªåçã«éããããŸãã
@ bojidar-bgããèªäœãé¢çœãã®ã§ãpostfixã䜿çšãããå Žæãããã€ãè¿œå ãããã£ãã ãã§ãã UMLã¯ãåæãæè¡è 以å€ã®äººã察象ãšããŠããŸãã Kotlinã¯ããå¹æçãªJavaããå®è£ ããªãããJavaãããå¿«é©ã§ã¢ãã³ã«ãªãããã«éçºãããèšèªã§ãã
ãããã£ãŠãpostfixãéžæãããçç±ãæžãçããå¿
èŠãããå Žåã¯ãããããå«ããããšãã§ããŸãã æã
ã人ã
ã¯ããªãããããããŠãŒã¶ãŒã«é¢é£ä»ããªãéããçç±ãæã¡ãæè¡çãªãã®ãç°¡åã«åŽäžããããšæãã§ãããã
ïŒäŸïŒãããŒãµãŒã¯ãããŸãããæ©æã«è§£æ±ºã§ãã100åã®é床ãåŸãããŸããã€ãŸããåãããã°ã©ã ãããé«éã«ã³ã³ãã€ã«ã§ããããå€ãã®ãã¹ããå¯èœã«ãªããŸãïŒ
çŽ æãããã®ã¯ãã€ãããã§ããã ;-)
æãåèã«ãªãã³ã¡ã³ã
ããã¯Godot3.1ã§å©çšã§ããã¯ãã§ãã