ã¯ããã«
ãæ¬é£è¼ã§ã¯ãWebããã³ãã¨ã³ãéçºã«ããã¦æ³¨ç®ããã¦ãããã¤ããªå½¢å¼ã®ããã°ã©ã ãã¡ã¤ã«WebAssemblyããRustã§å®è£ ãã¦æ´»ç¨ããæ¹æ³ã説æãã¦ãã¾ããååè¨äºã§ã¯ãWebAssemblyã«è³ãã¾ã§ã®Webããã³ãã¨ã³ãé«éåã®æ´å²ãç´¹ä»ããã¨ã¨ãã«ãRustã§WebAssemblyãå®è£ ãã大ã¾ããªæµãã説æãã¾ããã
ãæ¬è¨äºã§ã¯ãWebAssemblyã®å®è£ ã§å¿ è¦ã¨ãªãRustè¨èªã®åºç¤ã説æãã¦ããã¾ãã
対象èªè
- 話é¡ã®Rustè¨èªã«ã¤ãã¦å¦ã³ããæ¹
- åçãªWebãã¼ã¸ã«ãããªãé度ãæ±ããæ¹
- WebAssemblyã«èå³ãããããRustã®ãã¼ãã«ãé«ãã¨æã£ã¦ããæ¹
å¿ è¦ãªç°å¢
ãæ¬è¨äºã®ãµã³ãã«ã³ã¼ãã¯ã以ä¸ã®ç°å¢ã§åä½ã確èªãã¦ãã¾ãã
- Windows 10 64bitç
- rustup 1.24.3
- cargo 1.55.0
ããµã³ãã«ã³ã¼ããå®è¡ããã«ã¯ããµã³ãã«ã®ãã©ã«ãã¼ã§ãcargo runãã³ãã³ããå®è¡ãã¾ãã
Rustããã¸ã§ã¯ãã®çæã»å®è¡æé
ãæ¬è¨äºã§ã¯ãWebAssemblyã§ã¯ãªãããã¼ã«ã«PCã§å®è¡ã§ããããã°ã©ã ãçæããRustã®ããã¸ã§ã¯ããç¨ãã¦ãRustè¨èªã説æãã¦ããã¾ããæåã«ããã®ããã¸ã§ã¯ããä½æãã¦å®è¡ããæé ã説æãã¾ããRustã®éçºç°å¢ãã¤ã³ã¹ãã¼ã«ãã¦ããªãå ´åãååè¨äºãåèã«ã¤ã³ã¹ãã¼ã«ãã¦ãã ããã
ãéçºç°å¢ã®ä¸é¨ã¨ãã¦ã¤ã³ã¹ãã¼ã«ããããcargoãã³ãã³ãã¯ãRustã®ããã¸ã§ã¯ãä½æããã«ããã³ã¼ããã§ãã¯ãªã©ãè¡ãããRustéçºã®å¿ é ãã¼ã«ã§ãããªã¹ã1ã®ãcargo initãã³ãã³ããå®è¡ããã¨ãRustã®ããã¸ã§ã¯ããä½æã§ãã¾ãã
cargo init <ããã¸ã§ã¯ãå>
ãçæãããããã¸ã§ã¯ãã¯ãå³1ã®ãã£ã¬ã¯ããªæ§é ãæã£ã¦ãã¾ããå¦çãå®è£ ããã½ã¼ã¹ã³ã¼ãã¯src/main.rsãã¡ã¤ã«ã§ãã

å³1ãRustããã¸ã§ã¯ãã®æ§é ï¼p001-initï¼
ãmain.rsã«ã¯ãªã¹ã2ã®å 容ãè¨è¿°ããã¦ãã¾ããï¼1ï¼ã®ãfn main()ãã¯ããããmainé¢æ°ã§ãããããå¦çãã¹ã¿ã¼ããã¾ããï¼2ï¼ã®println!æã§æååãã³ã³ã½ã¼ã«ã«åºåãã¾ããè¡æ«ã«ã¯ã»ãã³ãã³ï¼;ï¼ãè¨è¿°ãã¾ãã
fn main() { // mainé¢æ°ï¼1ï¼ println!("Hello, world!"); // ãHello, world!ãã¨ã³ã³ã½ã¼ã«ã«åºå ...ï¼2ï¼ }
ãããã¸ã§ã¯ããå®è¡ããã«ã¯ãããã¸ã§ã¯ãã®ãã©ã«ãã¼ã§ãcargo runãã³ãã³ããå®è¡ãã¾ããããã¨ãã½ã¼ã¹ã³ã¼ããèªåçã«ãã«ãããã¦ããã®å¾å®è¡ããã¾ãã

å³2ããcargo runãã³ãã³ãã§Rustããã¸ã§ã¯ããå®è¡ããæ§åï¼p001-initï¼
ããªãããã«ããè¡ããcargo buildããã³ã¼ããã§ãã¯ãè¡ããcargo checkããªã©ãrun以å¤ã®cargoã³ãã³ãã«ã¤ãã¦ã¯ãå ¬å¼ããã¥ã¡ã³ããåèã«ãã¦ãã ããã