èè
ãRustãšSwiftã䞊è¡ããŠç ç©¶ããããããäºãã«æ¯èŒãããµã€ã¯ã«ã翻蚳ãç¶ããŸãã ã€ã³ãããã¯ã·ã§ã³ãšæåã®2ã€ã®ããŒãã®ç¿»èš³ã¯ã ããã«ãããŸã ã ãã®ããŒãã§ã¯ãæŒç®åã®ãªãŒããŒããŒããæååæäœãããã³ã³ã¬ã¯ã·ã§ã³ã«çŠç¹ãåœãŠãŸãã
æŒç®åããã®éè² è·ããã³ç°¡æœãã®èã
Swiftã®ãªãã¬ãŒã¿ãŒã«é£çµ¡ããŸããã æåã®è³ªåïŒæŒç®åã¯ç¹å¥ãªæ§æã§ããããããšããããã³ã«ã®ç ç³ã§ããïŒ ç§ã䜿çšããŠããããŸãã¯ãããŸã§ã«äœ¿çšãããã¹ãŠã®çŸä»£èšèªïŒPythonãRubyãIoãElixirãRust-ããŸããŸãªæä»£ãšã¹ã¿ã€ã«ã®ããã€ãã®äŸïŒã¯ãä»ã®èšèªæ§æã®ç ç³ãšããŠåçŽã«å®è£
ããŠããŸãã
æŽçããŠã¿ããšãæŒç®åã¯ïŒååã«ïŒå®çŸ©ããã颿°ã§ããããšãããããŸãã ã°ããŒãã«ã¹ããŒã¹ Swiftã¢ãžã¥ãŒã«ã 説æãããã§ããããããè¯ããã®ä»£ããã«ã倧äžå€«ããšèšããŸããããã¯ãæ¢åã®åã®éã§æŒç®åããã€ããªæŒç®åã®ããã«åäœãããå¯äžã®æ¹æ³ã§ãã ãã®å Žåãçç±ã¯èšèªã®æ§é ã«ãããšããäºå®ãèŠéããŠããŸãã ãããã³ã«ã¯ããã«å®å
šã«åãŸãããã«èŠããŸããããããããRustã®ç¹åŸŽãšã¯ç°ãªããåé¡ã«ååã«å¯ŸåŠã§ããªãã§ããããïŒ ããã¯æªè§£æ±ºã®è³ªåã§ãããã©ã®ããã«çããã°ãããããããŸããã
è峿·±ãããšã«ãRustã®ãªãã¬ãŒã¿ãŒã®æ°ã¯ãåã®æçš¿ã§èšåãããã®ãé€ããŠããSwiftããããããã«å°ãªãã§ãã Rustã¯Pythonãšåæ§ã«ãä»ã®ããç°¡åãªæ¹æ³ã§åãçµæãåŸãããšãã§ããããããã¬ãã£ãã¯ã¹æŒç®åãšãã¹ããã£ãã¯ã¹æŒç®åãå®å
šã«æ¬ ããŠããŸãã Swiftã§ã¯ããããã®ã¹ããŒãã¡ã³ãã¯éšåçã«ä¿åãããŠããŸããééããªããïŒObjectiveïŒCãæ±ã£ãã»ãšãã©ã®ããã°ã©ããŒã¯ããããšãã®ã€ãã£ãªã ã«ç²ŸéããŠããããã§ãã
翻蚳è
ã®ã¡ã¢ïŒSwift 2.2ã§ã¯ãå
ã
Rustã«ãªãã£ãã€ã³ã¯ãªã¡ã³ã/ãã¯ãªã¡ã³ãæŒç®åãåé€ãããŸããã äžæ¹ãSwiftã§ã¯ãç¬èªã®ã¹ããŒãã¡ã³ããäœæã§ããŸãã
ãŸããRustã®æŒç®åã«ã€ããŠäœãæ°ããããšãåŠã³ãŸãããããŒã«æŒç®å||
ããã³&&
ã¯ããããšã¯ç°ãªããŸã|
andæŒç®åã¯ãæåã®ã°ã«ãŒããçãã¹ããŒã ã«åŸã£ãŠèšç®ãå®è£
ãããšããäºå®ã ãã§ãªãã ãã¡ããã2çªç®ã®ã°ã«ãŒãã®å©ããåããŠããããæäœãå®è¡ããããšãã§ããŸãããããã¥ã¢ã«ã§ã¯èšç®æ¹åŒã®éãã匷調ããŠããŸãã ããã¯å®å
šã«æ£åœåãããŸãããç§ã¯ããã«ã€ããŠåã«èããããšããããŸããã§ããã
翻蚳è
æ³šïŒæ£çŽãªãšãããç§ã¯èè
ãäœãèšãããã£ãã®ãçè§£ã§ããŸããã§ããã
Rustã«ã¯ã3é
æŒç®åããããŸãããããã¯ãèšèªãåŒãšã¹ããŒãã¡ã³ããåŠçããæ¹æ³ã«é¢é£ããŠããŸãã Swiftã§ã¯ããã§ãã èšèªèšèšã®éãã«é¢ããè峿·±ãèãïŒ if
ãããã¯ã¯åŒã§ããããããã£ãŠåé·ã§ãããèšèªã®äœæè
ã¯äžèŠãªæ©èœãåé€ããããšãããããRustã¯ãã®æŒç®åãåé€ããŸããã ïŒäžé
æŒç®åã®æŸæ£ã«é¢ããè°è«ãšãBrendan Ikeããã®è峿·±ãJavaScriptã®ã¡ã¢ã¯ãã¡ããã芧ãã ãã ïŒã ç§ã¯ãããSwiftã«å¯Ÿããæ¹å€ã§ã¯ãªããåãªãçºèšã§ããããšã«çä¿ããŸãããåŒã䜿çšããRustã®ã¢ãããŒãã¯æ¬åœã«å¥œãã§ãã
äžæ¹ãç§ã¯æ¬åœã«æŒç®åã奜ãã§ã¯ãããŸãã??
ïŒåäœæŒç®åãªãïŒã åçž®ã®ããã«åçž®ã®ããã«èŠããŸãããäžéšã¯ãªãã·ã§ã³ã®åã®ç°¡æœããæ±ããSwiftã®æ¬²æ±ã«ãããã®ã§ãã ç°¡æœã«ãããšãæçãã倱ãããããšããããŸãã é床ã®ç¥èªã¯èšèªãè€éã«ããåè¡ãèªããšãã«é床ãèœãšãããšã匷å¶ããŸãã
æ¯èŒãããèšèªã®ããŒã«æŒç®åã«ãéãã¯ãªããé©ãããšã§ããããŸããã
Swiftã«é¢ããæ¬ã§ãçãããšããèšèãŸãã¯ãã®å矩èªãäœå䜿ãããŠããã®ã ãããã ç°¡æœãããã®èšèªã®äž»ãªç®æšã®1ã€ã§ããããšãããæç¢ºã«çè§£ããŠããŸãã ãã¶ãããã¯ãã®ããã«æããŸãããããã§ãå°ãå¥åŠã§ãã ç°¡æœãã¯è¯ãã§ãããèªã¿ãããã¯ã¯ããã«åªããŠããŸãã
æååæäœã䜿çšããèšèªæ§é ã®ãã¬ãŒããªã
SwiftãšRustã¯ãã»ãã¥ãªãã£ãšã¡ã¢ãªç®¡çã®åé¡ã解決ããŸãããã¢ãããŒãã¯ç°ãªããŸããèªååç
§ã«ãŠã³ãã«ããSwiftãšãæææš©ã®æŠå¿µã«ããRustã§ãã æ¯æ¥ã®äœæ¥ã§ã¯ãSwiftã¢ãããŒãã¯PythonãRubyãšåãçç±ã§ããæå©ã«æããŸãã誰ããããªãã®ããã«ãããè¡ããšäŸ¿å©ã§ãã Rustã¯å€ãã®æ©äŒãæäŸããŸãããåæã«æææš©ã«ã€ããŠåžžã«èããããŸãã
ã€ãŸãããã¹ãŠã®èšèªã«ãã¬ãŒããªãããããŸãã ç§ã¯ãããŸã§SwiftããRustã®æ¹ã奜ãã§ãããSwiftãããè¯ãããå€ãã®ãã€ã³ããèŠã€ããããšã¯ééããªãã§ãããã ãã¹ãŠãæã«å
¥ããããšã¯ã§ããŸããã
æååïŒãŸãã¯å€ã«ãã£ãŠæž¡ãããä»ã®åïŒã®æäœã¯ãRustãããSwiftã®æ¹ãã¯ããã«ç°¡åã§ããããããã®ããšã«æ³šæãåããŸããã çµæã¯å®è³ªçã«åãã§ãããSwiftã§ã¯ãã¹ãŠã®è¡ãå€ã«ãã£ãŠæž¡ãããåç
§ã«ãã£ãŠæž¡ãããããšã¯ãªãããã倿Žãããå
容ã«ã€ããŠèããå¿
èŠã¯ãããŸããã
ãã¡ããããã®ç®çã®ããã«Rustã«ã¯ã³ããŒç¹æ§ããããŸã-ç§ã¯ãSwiftãå°ãã人éå·¥åŠçãã§ããããšãæå³ããŸãã
Swiftã®æååè£éã¯éåžžã«äŸ¿å©ã§ãã ãããRustã§èŠéããŠããå¯äžã®ãã®ã§ãã æååããã©ãŒãããããããã®Pythonã¹ã¿ã€ã«ã®ãã¯ãã¯åªããŠããŸãããå€ïŒ strings with \(variables)
ãŸãã¯embedded expressions like \(2 + 4)
strings with \(variables)
è£éã¯éåžžã«åªããŠããŸãã
äžè¬ã«ãæååã«å¯ŸããSwiftã®ã¢ãããŒãã¯ããèããããŠããã詳现ã«ååãªæ³šæãæã£ãŠããŸããããã«ãããè€éãªèšèªãŸãã¯é西æŽèšèªã§ã®äœæ¥ã倧å¹
ã«ä¿é²ãããŸãã ç§ã¯ãå°å·ã«å€¢äžãªã®ã§ãæ¬åœã«æè¬ããŠããŸãã
åæã«ãSwiftæååã¯Unicodeã®åæ§ã®å¢çã±ãŒã¹ããã¹ãŠåŠçãããããæååã«ã¢ã¯ã»ã¹ããããã®ããã€ãã®æšæºãã¿ãŒã³ã倱ãããæååã®å
éšæ§é ãçè§£ããããšãå°é£ïŒãŸãã¯äžå¯èœïŒã«ãªããŸãã ç¶æ³ã«å¿ããŠãããã¯å©ç¹ã𿬠ç¹ã®äž¡æ¹ã«ãªããŸãã ç§ãèšã£ãããã«ã劥åã¯ã©ãã«ã§ããããŸãã
å®éãããã«èªã¿é²ããŠã¿ããšãSwiftã¯Unicodeæååãéåžžã«ãšã¬ã¬ã³ãã«åŠçããããŸããŸãªå®è£
ã«åå¥ã®ã¡ãœããã䜿çšããŠããã»ã¹ãçè§£ã§ããããšãããããŸããã ç¹ã«ã String
åãæäœãããã³ãŒããã€ã³ãããžã®çŽæ¥ã¢ã¯ã»ã¹ãååŸã§ããããšãæè¬ããŸããããããã§ã¯ãªããUTF8ãUTF16ããŸãã¯UTF32ã®ããããã«ã¢ã¯ã»ã¹ã§ããŸãã Appleã®çµéšãä¿¡é ŒããŠãã ãããããã¹ãã«éåžžã«æ³šæããå¿
èŠããããŸãã
Rustã®æååã¯æªããããŸããããããã»ã©è€éã§ã¯ãããŸããïŒãããããããã¯ã¡ã¢ãªå
ã®æååã®è¡šçŸãåçŽåããããã«è¡ããããšæãããŸãïŒã ãã®èšèªã§ã¯ã String
ãŸãã¯str
åžžã«UTF8ãã€ãã®ã·ãŒã±ã³ã¹ãšããŠãšã³ã³ãŒããããã¹ã«ã©ãŒUnicodeå€ïŒUTF32ïŒã§æ§æãããŸãã Swiftãšã¯ç°ãªããä»ã®å®è£
ãååŸããããã®äŸ¿å©ãªæ¹æ³ã¯ãããŸããã åæã«ãæ¥åžžã®ããã°ã©ãã³ã°ã§ã¯ãããã¯ãã£ãã«çºçããªããããããããŸã£ããçºçããªããšèããŠããŸãã éèŠãªããšã¯ãäž¡æ¹ã®èšèªãã¹ã«ã©ãŒå€ãæ ŒçŽããããšã§ãã
ããã¯ãRustã®Swiftã«å¯Ÿããæç¢ºãªåªäœæ§ãæããªãã£ãæåã®éšåã§ãã ãããã®èšèªã®æ§é ã«ããããã¬ãŒããªãã®ããã€ãã¯ããã§ããæç¢ºã«ãªããSwiftã®ã人éå·¥åŠãããããã®äžã«ããããšãæè¬ããŠããŸãã
䞊åèšèªåŠç¿ã®å©ç¹ïŒããã³åé¡ç¹ïŒ
ç§ã¯æ°é±éSwiftãå匷ããŠããŸãããããã®åã«1ãæéRustã®æ·±ã¿ã«é£ã³èŸŒã¿ãŸããã ãã®ã¢ãããŒã-2ã€ã®èšèªãã»ãŒåæã«åŠç¿ãã-ã¯ç§ã«ãšã£ãŠãŸã£ããæ°ãããã®ã§ãããããã«ã¯ååãªçç±ããããŸãã ããã°ã©ãã³ã°èšèªãç¿åŸããã®ã¯ç°¡åã§ã¯ãããŸãããæ°ããç¥èãçè§£ããã«ã¯ãå€ãã®ããšãåŠã¶å¿
èŠããããŸãã
ããã¯å¿
èŠã«å¿ããŠè¡ããŸãã Rustèšèªã®éåžžã«æ©èœçã§å¹ççãªã¯ãã¹ãã©ãããã©ãŒã ããŒã¹ã§ã¢ããªã±ãŒã·ã§ã³ãéçºã§ããããšãé¡ã£ãŠããŸãããOS Xã®ãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã¯ã宿ãããšãã«ã®ã¿ãªãªãŒã¹ããäºå®ã§ãã ã¢ããªã±ãŒã·ã§ã³ã³ã¢ãããŒã¿ãã«ã«ããããšããç§ã®é¡ãã¯ãããã«Swiftã®äœ¿çšãæé€ããŸãã æ£çŽãªãšãããããã¯Appleã®èšèªã§ãããšããäºå®ã«ãã£ãŠãä¿é²ãããŸããç§ã¯åœŒãã®ãã©ãããã©ãŒã ã§AppleããŒã«ã䜿ãããšã楜ããã§ããŸããããã®äŒç€Ÿã®æ±ºå®ã«åžžã«äŸåããããããŸããã ããã«ãRustã®çµéšã¯ä»ã®å€ãã®å Žåã«åœ¹ç«ã¡ãŸãã
ã ãããç§ã¯äž¡æ¹ã®èšèªãåŠã¶å¿
èŠããããŸãã
ãããŠãéåžžã®ç¶æ³ã§ã¯ãå§ãããŸãããããŸã ããã€ãã®èšèªã®ååãªããã°ã©ãã³ã°çµéšãšç¥ââèããªãå Žåã¯ããã®ãããªæ¹æ³ã®äœ¿çšãå
¬ç¶ãšæããšã©ãŸãããŸã-ããã¯ä¿¡ããããªãã»ã©æçšã§ããããã«æããŸãã ãããã®èšèªã¯ã»ãŒåæã«äœæãããåããœãŒã¹ããã€ã³ã¹ãã¬ãŒã·ã§ã³ãåŒãåºããŸããã察象è
ãšç®æšã¯éšåçã«éè€ããŠããŸãã åæã«ããã®ã·ãªãŒãºã§æ¢ã«ç€ºããããã«ãå€ãã®ç¹ã§ããªãç°ãªããŸãã
2ã€ã®èšèªã䞊è¡ããŠç ç©¶ããããšã§ãããããã®èšèªã劥åãããã®ã確èªãããããã®éãã®åå ãèããããšãã§ããŸããã ç¹ã«ãç§ã¯ãããã®èšèªã®èå°è£ã§äœãèµ·ãã£ãŠããããããããçè§£ãããããã«äœãæåŸ
ããããç¥ã£ãŠãããšæããŸãã ããã¯ãèšèªã®åŠç¿é床ã«å€§ããªåœ±é¿ãäžããŸããã ãã¡ãããããã§ç§ã¯ããã€ãã®èšèªãç¥ã£ãŠãããæè¿èŠéãåºãããšããäºå®ã«ã圹å²ãæãããŸãããHaskellãJavaScriptã®æ©èœãã¿ãŒã³ãªã©ã«ã€ããŠèªã¿ãŸããã
ãã¡ãããäž¡æ¹ã®èšèªã§ç§ã¯ãŸã é·ãéã®ããæã£ãŠããŸãã å€ã鱿«ã«æ¬ãèªãã ããããããã§å°ãéãã ãããããšã¯ãæ¯ã§ãããžã§ã¯ãã«åºå·ããŠçã¿ãæããããšãšåãã§ã¯ãããŸããã ãããããããã®èšèªãåæã«åŠãã§ããããšã¯æ¬åœã«ããããã§ãã ãã£ã¬ã³ãžãåãå
¥ããæºåãã§ããŠããå Žåã¯ã詊ãããšãã§ããŸãã ã©ãã ãåŠã¶ããšãã§ãããã«é©ãã§ãããã
ã³ã¬ã¯ã·ã§ã³ã®ã¿ã€ããšãæ§æãšã»ãã³ãã£ã¯ã¹ã®åºå¥
æ¬¡ã®æã¯ãSwiftã®èšèªèšèšãå€ãã®ç¹ã§ç¹åŸŽã¥ããŠãããšæããŸãã
2ã€ã®åœ¢åŒã¯æ©èœçã«ã¯åãã§ãããããçã圢åŒãæšå¥šããããã®ããã¥ã¢ã«ã§ã¯ããŒã¿é åã®ã¿ã€ããåç §ããããã«äœ¿çšãããŸãã âSwiftããã°ã©ãã³ã°èšèªïŒSwift 2ãã¬ãªãªãŒã¹ïŒ
Rust std::collections
ã¢ãžã¥ãŒã«ã®ããŸããŸãªã¿ã€ãã®ããã¥ã¡ã³ãã¯ãè峿·±ãæçšã§ãã 匷ããå§ãããŸãã
Swiftããã¥ã¢ã«ã®ãã®ç« ãèªãã§ãããšãRustã«ã¯ååä»ããã©ã¡ãŒã¿ãŒã¯ãããŸããããSwiftã«ã¯ãããŸãã ã©ã¡ãã®å Žåãããã®æ±ºå®ã¯åççã§ãããããã¯Rustã§ã»ãšãã©èªæ
¢ããªã詳现ã®1ã€ã§ããããã«æãããŸãã Pythonã¯ç§ãçããããŸããã
翻蚳è
泚ïŒååä»ããã©ã¡ãŒã¿ãŒãRustã«è¿œå ããããã®RFCããããŸãã
Swiftã®Array
åã¯ãRustã®Vec
åïŒéåžžã¯vecïŒãã¯ãã«ãã£ãŠäœæãããŸãïŒã«äŒŒãŠããŸãã Rustã®é
åã¯éçãªãµã€ãºãæã¡ãã¹ã¿ãã¯äžã«äœæãããŸãããäž¡æ¹ã®ã³ã³ãããŒã¯ããŒãäžã®èŠçŽ ãåçã«ãµã€ãºå€æŽããã³æ ŒçŽã§ããŸãã äž¡æ¹ã®èšèªã§é
åãäœæããæ§æã¯éåžžã«äŒŒãŠããŸãïŒãã ããçµæã¯ç°ãªããŸãïŒã
let an_array: [Int] = [1, 2, 3] // var an_array = [1, 2, 3] //
let an_array: [i32, 3] = [1, 2, 3]; // let a_vector: Vec<i32> = vec![1, 2, 3]; //
ã©ã¡ãã®èšèªã§ãå ¥åã§ãããããããã¯çãæžãããšãã§ããŸãããã®ããããã®ããã«æžãå¿ èŠã¯ã»ãšãã©ãããŸããã ãã銎æã¿ã®ãããªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
let an_array = [1, 2, 3] var an_array = [1, 2, 3]
let an_array = [1, 2, 3]; let a_vector = vec![1, 2, 3];
Rustã¯ãé
åã®äžéšãžã®ã¢ã¯ã»ã¹ãæäŸããé
åãžã®ãã€ã³ã¿ãšãµã€ãºïŒèŠçŽ ã®æ°ïŒã衚ããã¹ã©ã€ã¹ãã®æŠå¿µã远å ããŸãã
Swiftã®é
åæäœã¯éåžžã«è«ççã§ãé©ãã»ã©èŠèŠçã§ãã ãããã¯è¯ãæå³ã§ãPythonã§ã®ãªã¹ãæäœãæãåºãããŸãã
Rustã®Vecã³ã³ãããŒã«ã¯è±å¯ãªAPIããããããã¯æªããããŸããã èŠçŽ ããã©ããŒã¹ããã¡ãœããããªãããšã«å°ãé©ããŸããããIteratorãã¬ã€ããå®è£
ãããåãã¢ãžã¥ãŒã«ã®IntoIteræ§é ã«ååšããããšãããããŸããã ãã®çµæã察å¿ããã¡ãœããã¯Enumerate
æ§é äœã®ã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãã ïŒSwiftã®é
åã¯Iterable
ãããã³ã«ãå®è£
ããŠããã ãã§ãããã¯Rustã®ã¢ãããŒãã«ãããã䌌ãŠãããšIterable
ãŸããïŒ
ããã¯ç§ããã話ããŠããããšã®äŸã§ããRustã¯å¿
ããããã¹ãŠã1ã€ã®ãªããžã§ã¯ãã«å
¥ããã®ã§ã¯ãªããããã€ãã®é¢é£ããæ§é ãé¢é£ä»ãããŸãã¯ç¹æ§ã«æ©èœã忣ããŸãã ããã¯æ¬åœã«åŒ·åãªã¢ãããŒãã§ãããå€å°ã®ç¿æ
£ãå¿
èŠã§ãã ãã®ç¹ã§ãSwiftã®æ§é ãšã»ãã³ãã£ã¯ã¹ã¯ãç§ãæ
£ããŠããèšèªã«éåžžã«äŒŒãŠããŸããããããã³ã«ã䜿çšãããšæè»æ§ãé«ãŸããŸãã
æ§æã§ã¯ãªãã»ãã³ãã£ã¯ã¹ã«ã€ããŠè©±ããŠããããšã«æ³šæããŠãã ããã SwiftãšRustã¯ãéåžžã«é¡äŒŒããæ§æãã»ãã³ãã£ã¯ã¹ã®éããã©ã®ããã«é ãããšãã§ãããã瀺ãçŽ æŽãããäŸã§ãã å¥ã®äŸïŒJavaScriptãšJavaã®æ§æãšã»ãã³ãã£ã¯ã¹ãæ¯èŒããŸã-äžèŠãæ§æã¯äŒŒãŠããŸãããã»ãã³ãã£ã¯ã¹ã«ã¯å€§ããªã®ã£ããããããŸãã
Swiftã®Set
ãšãRustã®HashSet
ã«å¯Ÿå¿ããHashSet
察å¿ã®äž¡æ¹ã«ãPythonã®inããŒã¯ãŒãã«éåžžã«é¡äŒŒããcontains
ã¡ãœããããããŸãã äž¡æ¹ã®ã¿ã€ããåãã¡ãœããã®å€ããå®è£
ããŠããããšã¯é©ãããšã§ã¯ãããŸããã ã»ãããæšæºçãªæ°åŠçæŠå¿µã§ãããšããäºå®ãèãããšãããããããã¯äºæ³ãããã¹ãã§ãã
ã¿ã€ãã³ã°ãããå³å¯ãªãããRustãšSwiftã®äž¡æ¹ã§ã飿³é
åïŒRustã®HashMap
ãšSwiftã®Dictionary
ïŒã§äœ¿çšãããåãæå®ããå¿
èŠããããŸããããã¡ããäž¡æ¹ã®èšèªã¯ç¹å®ã®å Žåã«åãåºåã§ããŸãã Pythonã§èš±å¯ãããŠããããã«ç°ãªãçš®é¡ã®ããŒã®äœ¿çšãæ··åšãããããšã¯ã§ããŸããããå®éã«ã¯ãããã¯2ã€ã®çç±ã§æ°ã«ããªãã¯ãã§ãã
- ååãšããŠãç°ãªãã¿ã€ãã®ããŒã䜿çšããããšã¯æšå¥šãããŸããã ç§ã®å Žåãããã¯å€ãã®å Žåã䜿çšããã¿ã€ããšããŒã¿æ§é ã«ã€ããŠæ éã«æ€èšããå¿ èŠãããããšã瀺ããŠããŸãã
- ãŸãã«ãå¿ èŠã«å¿ããŠãRustãŸãã¯Swiftã§ãžã§ããªãã¯åã䜿çšã§ãããã©ããçåã«æã£ãŠããŸãã ãã®åé¡ã¯åŸã§æããã«ããäºå®ã§ãïŒ
SwiftãPythonã®ãããªæ§æïŒ {'': ''}
ïŒã䜿çšããŠé£æ³é
åãåæåããã®ã¯çŽ æŽãããããšã§ãã ãããããªããããäžå¯èœãªã®ãçè§£ããŠããŸãïŒäžæ¬åŒ§ã¯ãã§ã«ãããã¯ã§å ããããŠããŸãããPythonã§ã¯ã€ã³ãã³ãã䜿çšããããããã®ãããªåé¡ã¯ãããŸããã ããããããã¯æ¬åœã«äŸ¿å©ã§ãã
Swiftãã¶ã€ããŒãæ¬åŒ§ïŒ [...]
ïŒã䜿çšããŠã·ãŒã±ã³ã¹ãåæåããçç±ãçè§£ããŠããŸããããã«ãããè§£æã倧å¹
ã«ç°¡çŽ åãããŸãã ãã®çµæãäžèŠãããšãããªããäœãæ±ã£ãŠããã®ãçè§£ããã®ã¯å°é£ã§ãã é
åãã»ããããŸãã¯é£æ³é
åã«ããããšãã§ããŸãã
ããã¯ãããã°ã©ãã³ã°èšèªã®èšèšã®éå°è©äŸ¡ãããŠããåŽé¢-å¯èªæ§ã匷調ããŠããŸãã ããã°ã©ããã³ãŒããæžããããªãã®ãšåãããããå®éã«ã¯ãã»ãšãã©ã®å Žåããããèªãã®ã«å€ãã®æéãè²»ãããŠããŸãã ãããã£ãŠãèšè¿°ã®å®¹æãã«æ³šæãæãå¿
èŠããããŸãããã³ãŒãã®èªã¿ãããã«ã€ããŠãèãã䟡å€ããããŸãã èšèªã§æ¡çšãããŠããæ§æãšèŠåã¯ããã®å€§éšåã圢æããŸãã
Swiftã®Dictionary
åã¯ãããã€ãã®ã¡ãœããã®ååãäžèŽãããŸã§ãPythonã®Dictionary
åã«éåžžã«äŒŒãŠããŸãã ããã¯ãRustã®HashMap
ã«ãåœãŠã¯ãŸããŸãã ããã¯ãŸã£ããæªããããŸããã
翻蚳è ããã®ããšãã
ãã®äžé£ã®èšäºã®ç¿»èš³ãè¡ãã®ã¯è¯ãèãã ãšçãå§ããŸãã èè ã«ã¯ãSwiftã«ã€ããŠããã«åŠã¶ããã«ä¿ããè峿·±ãèãããããŸãã äžæ¹ã圌ã¯è¡šé¢çãªå€æãå€ããããããèªåã§æ å ±ãæ€çŽ¢ããå¿ èŠããããŸãã ç§ã宿çã«ããããšããŠããããã«ãããªããã¡ã¢ã§ç¿»èš³ãè£ããªãããããã¯ã»ãšãã©åã¢ã€ãã ã«æžãããªããã°ãªããªãã§ãããã æçµçµæã¯ç¿»èš³ã§ã¯ãããŸããããæªéã¯äœãç¥ã£ãŠããŸãã ã ããç§ã¯ãããããããã®éšåã«ãã ããã§ãããã