{"id":44951,"date":"2022-11-14T07:15:53","date_gmt":"2023-03-07T04:56:16","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/"},"modified":"2024-04-29T00:33:54","modified_gmt":"2024-04-28T16:33:54","slug":"44951-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/","title":{"rendered":""},"content":{"rendered":"<p>\u203b \u5c0f\u8aac\u3067\u3059<br \/>\n\u203b \u8aad\u3080\u3068Rust\u3084\u6240\u6709\u6a29\u30fb\u53c2\u7167\u3068\u3061\u3087\u3063\u3068\u3060\u3051\u4ef2\u826f\u304f\u306a\u308c\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093<br \/>\n\u203b \u307e\u3068\u3081\u3084\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u985e\u306f\u6700\u5f8c\u306e\u3042\u3068\u304c\u304d\u306b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059(\u8aad\u3093\u3067)<\/p>\n<h1>\u30d7\u30ed\u30ed\u30fc\u30b0<\/h1>\n<p>\u653e\u8ab2\u5f8c\u306e\u30c1\u30e3\u30a4\u30e0\u3092\u5408\u56f3\u306b\u89aa\u53cb\u306eCSS\u3061\u3083\u3093\u304c\u73fe\u308c\u305f\u3002<\/p>\n<p>CSS\u300cTS\u3061\u3083\u3093\u653e\u8ab2\u5f8c\u30d2\u30de\u3067\u3057\u3087\uff1f\u99c5\u524d\u306b\u3067\u304d\u305fEC\u30b5\u30a4\u30c8\u306e\u30c7\u30b6\u30a4\u30f3\u898b\u3066\u3044\u304b\u306a\u3044\uff1f\u300d<\/p>\n<p>TypeScript\u300c\u6c17\u306b\u306a\u308b\uff01&#8230;\u3051\u3069\u3054\u3081\u3093\u306d\u3001\u4eca\u65e5\u306f\u7f8e\u5316\u59d4\u54e1\u4f1a\u306e\u4ed5\u4e8b\u304c\u3042\u308b\u3093\u3060\u3002\u300d<\/p>\n<p>CSS\u300c\u3048\u30fc\uff1f\u4eca\u65e5\u59d4\u54e1\u4f1a\u3060\u3063\u305f\u3063\u3051\uff1f\u3042\u306e\u5049\u305d\u3046\u306a\u5805\u7269\u3068\u3059\u308b\u3053\u3068\u306a\u3093\u3066\u3042\u308b\uff1f\u300d<\/p>\n<p>TS\u300c\u5049\u305d\u3046\u306a\u3063\u3066&#8230;(\u82e6\u7b11)\u3001\u3046\u30fc\u3093\u3001\u307e\u3041\u3001\u3061\u3087\u3063\u3068\u306d\u3002\u57cb\u3081\u5408\u308f\u305b\u306b\u4eca\u5ea6\u65b0\u3057\u3044\u30e9\u30a4\u30d6\u30e9\u30ea\u7d39\u4ecb\u3059\u308b\u304b\u3089\uff01\u300d<\/p>\n<p>CSS\u300c\u3057\u3087\u3046\u304c\u306a\u3044\u306a\u3041\u300d<\/p>\n<p>\u9b45\u529b\u7684\u306a\u8a98\u3044\u3092\u65ad\u3063\u3066\u3057\u307e\u3063\u305f\u79c1\u306f\u3001\u8db3\u65e9\u306b\u96a3\u306e\u30af\u30e9\u30b9\u306e\u5f7c\u5973\u306e\u5143\u3078\u3068\u5411\u304b\u3063\u305f\u3002<\/p>\n<p>TS\u300c\u3075\u3075\u3075&#8230;\u4eca\u65e5\u306f\u3068\u3063\u3066\u304a\u304d\u306e\u30cd\u30bf\u304c\u3042\u308b\u304b\u3089\u306d&#8230;\u300d<\/p>\n<p>\u7f8e\u5316\u59d4\u54e1\u4f1a\u306e\u4ed5\u4e8b\u304c\u3042\u308b\u3068\u3044\u3046\u306e\u306f\u3001\u534a\u5206\u672c\u5f53\u3067\u534a\u5206\u5618\u3067\u3042\u308b\u3002<\/p>\n<p>\u59d4\u54e1\u4f1a\u3067\u306f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u7dba\u9e97\u306b\u66f8\u304f\u6d3b\u52d5\u3092\u884c\u3063\u3066\u3044\u308b\u3002\u305d\u306e\u4e00\u74b0\u3067\u30012\u4eba\u4e00\u7d44\u3067\u30da\u30a2\u30d7\u30ed\u30fb\u30b3\u30fc\u30c9\u30ec\u30d3\u30e5\u30fc\u3092\u884c\u3044\u3001\u53ef\u8aad\u6027\u306e\u9ad8\u3044\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u7df4\u7fd2\u304c\u8ab2\u305b\u3089\u308c\u3066\u3044\u308b\u306e\u3060\u3002<\/p>\n<p>\u3060\u3051\u3069\u3001\u3001\u3001<\/p>\n<p>Rust\u300c&#8230;\uff1f\u300d<\/p>\n<p>\u6559\u5ba4\u306e\u30c9\u30a2\u3067\u30ad\u30e7\u30c8\u30f3\u3068\u3057\u305f\u4ecf\u9802\u9762\u306b\u9262\u5408\u3046\u3002\u79c1\u306e\u30da\u30a2\u3067\u3042\u308bRust\u3061\u3083\u3093\u306f\u3001\u3059\u3067\u306b\u30b3\u30fc\u30c8\u3092\u7740\u8fbc\u307f\u4e0b\u6821\u306e\u69cb\u3048\u3092\u3057\u3066\u3044\u305f\u3002<\/p>\n<p>TS\u300c\u5e30\u308d\u3046\u3068\u3059\u308b\u306e\u65e9\u304f\u306a\u3044\uff1f\uff01\u300d<\/p>\n<p>Rust\u300c&#8230;\u3082\u3046\u653e\u8ab2\u5f8c\u3067\u3059\u304b\u3089&#8230;\u300d<\/p>\n<p>TS\u300c\u3067\u3082\u5148\u9031\u306e\u59d4\u54e1\u4f1a\u6d3b\u52d5\u3001Rust\u3061\u3083\u3093\u30b5\u30dc\u3063\u305f\u3088\u306d&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c&#8230;\u6d3b\u52d5\u5185\u5bb9\u304c\u66d6\u6627\u3060\u3063\u305f\u306e\u3067&#8230;\u300d<\/p>\n<p>Rust\u3061\u3083\u3093\u306f\u76ee\u3092\u5408\u308f\u305b\u305a\u7b54\u3048\u3066\u304f\u308b\u3002\u5f7c\u5973\u306f\u3059\u3054\u3044\u4eba\u898b\u77e5\u308a\u3089\u3057\u304f\u3001\u79c1\u3068\u30da\u30a2\u3092\u7d44\u3080\u3053\u3068\u306b\u306a\u3063\u3066\u304b\u3089\u305a\u3063\u3068\u5be1\u9ed9\u3067\u3042\u3063\u305f\u3002<\/p>\n<p>TS\u300c\u3060\u304b\u3089\u6539\u3081\u3066\u4eca\u65e5\u4ee3\u308f\u308a\u306e\u6d3b\u52d5\u3092\u3057\u3088\u3046\u3063\u3066\u7d04\u675f\u3057\u305f\u306f\u305a\u3060\u3051\u3069&#8230;\u307e\u3041\u3044\u3044\u3084\u3002\u3068\u308a\u3042\u3048\u305aRust\u3061\u3083\u3093\u3068\u304a\u8a71\u3057\u305f\u3044\u306a\u3063\u3066\u601d\u3063\u3066\u3055\u300d<\/p>\n<p>\u4eca\u65e5\u306f\u305d\u3093\u306a\u5f7c\u5973\u3068\u4ef2\u826f\u304f\u306a\u308d\u3046\u3068\u3001\u79c1\u306a\u308a\u306b\u300c\u8a71\u984c\u300d\u3092\u6301\u3063\u3066\u304d\u305f\u306e\u3060\u3063\u305f\u3002<\/p>\n<h1>\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u3068\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc<\/h1>\n<p>TS\u300c\u3053\u306e\u524d\u9762\u767d\u3044\u8a18\u4e8b\u898b\u3064\u3051\u305f\u3093\u3060\u3088\uff01\u300d<\/p>\n<p>&nbsp;<\/p>\n<p>TS\u300c\u79c1\u3064\u3044\u6700\u8fd1\u307e\u3067\u3001\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u3092\u3059\u308b\u306e\u306b\u3001\u69cb\u9020\u4f53\u3092\u6587\u5b57\u5217\u5316\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u3093\u3060\u3088\u306d&#8230;\u300d<\/p>\n<p>Rust\u300c\uff1f&#8230;\u305d\u3046\u3001\u3060\u3063\u305f\u3093\u3067\u3059\u306d&#8230;\uff1f\u300d<\/p>\n<p>\u6b6f\u5207\u308c\u306e\u60aa\u3044\u56de\u7b54\u304c\u8fd4\u3063\u3066\u304f\u308b&#8230;\u8a00\u8449\u3060\u3051\u3067\u306f\u4f1d\u308f\u3063\u3066\u3044\u306a\u3044\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3002<\/p>\n<p>TS\u300c\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u3068\u3044\u3046\u306e\u306f\u3042\u308c\u3060\u3088\uff01\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\uff01\uff01\u3053\u3093\u306a\u3084\u3064\uff01\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">arr<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">];<\/span>\r\n<span class=\"kd\">const<\/span> <span class=\"nx\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">arr<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nx\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"c1\">\/\/ \u51fa\u529b: [ 10, 2, 3 ]<\/span>\r\n<\/code><\/pre>\n<p>TS\u300carr\u3092arr2\u306b\u30b3\u30d4\u30fc\u3057\u305f\u3068\u601d\u3063\u3066\u305f\u306e\u306barr2\u306e\u4e2d\u8eab\u3092\u3044\u3058\u3063\u305f\u3089arr\u3082\u5909\u66f4\u3055\u308c\u3061\u3083\u3046\u3063\u3066\u30cd\u30bf\uff01\u5b9f\u306f\u53c2\u7167\u304c\u30b3\u30d4\u30fc\u3055\u308c\u3066\u3044\u305f\u3060\u3051\u3063\u3066\u306e\u304c\u30aa\u30c1\u3067&#8230;\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/31-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u3058\u3083\u3042\u30b9\u30d7\u30ec\u30c3\u30c9\u69cb\u6587\u3067\u30b3\u30d4\u30fc\u3059\u308c\u3070\u3044\u3044\u3058\u3083\u3093\u3001\u3063\u3066\u767a\u60f3\u306b\u306a\u3063\u3066\u3001\u3055\u3063\u304d\u306e\u4f8b\u3060\u3068\u78ba\u304b\u306b\u4e0a\u624b\u304f\u884c\u304f\u3093\u3060\u3051\u3069\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">arr<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">];<\/span>\r\n<span class=\"kd\">const<\/span> <span class=\"nx\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[...<\/span><span class=\"nx\">arr<\/span><span class=\"p\">];<\/span>\r\n\r\n<span class=\"nx\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"c1\">\/\/ \u51fa\u529b: [ 1, 2, 3 ]<\/span>\r\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"c1\">\/\/ \u51fa\u529b: [ 10, 2, 3 ]<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c2\u91cd\u914d\u5217\u306b\u306a\u308b\u3068\u7d50\u5c40\u307e\u305f\u540c\u3058\u554f\u984c\u304c\u518d\u767a\u3057\u3061\u3083\u3046\uff01\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">arr<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[][]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n<span class=\"kd\">const<\/span> <span class=\"nx\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[][]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[...<\/span><span class=\"nx\">arr<\/span><span class=\"p\">];<\/span>\r\n\r\n<span class=\"nx\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">];<\/span>\r\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"c1\">\/\/ \u51fa\u529b: [ [ 1, 2, 3 ], [ 4, 5, 6 ] ] \/\/ \u4e88\u60f3\u901a\u308a<\/span>\r\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"c1\">\/\/ \u51fa\u529b: [ [ 1, 2, 3 ], [ 7, 8, 9 ] ]<\/span>\r\n\r\n<span class=\"nx\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"c1\">\/\/ \u51fa\u529b: [ [ 10, 2, 3 ], [ 4, 5, 6 ] ] \/\/ ?!?!<\/span>\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/36-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u3053\u308c\u306f\u6d45\u3044\u30b3\u30d4\u30fc&#8230;\u3064\u307e\u308a\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u3060\u304b\u3089\u8d77\u304d\u3061\u3083\u3046\u4e8b\u6545\u306a\u3093\u3060\u3002\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u3001\u4ee5\u524d\u306f\u914d\u5217\u3084\u69cb\u9020\u4f53\u3092\u6700\u6df1\u90e8\u307e\u3067\u6df1\u3044\u30b3\u30d4\u30fc\u3001\u3044\u308f\u3086\u308b\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u3092\u3059\u308b\u306e\u306bJSON.stringify\u3092\u4f7f\u3063\u3066\u305f\u3093\u3060\u3051\u3069\u3001\u3064\u3044\u306bstructuredClone\u3067\u305d\u308c\u304c\u53ef\u80fd\u306b&#8230;\u300d<\/p>\n<p>Rust\u3061\u3083\u3093\u306e\u8868\u60c5\u3092\u898b\u3066\u30cf\u30bf\u3068\u6b62\u307e\u3063\u305f\u3002\u672c\u6c17\u3067\u4e0d\u601d\u8b70\u305d\u3046\u306a\u9854\u304c\u8cbc\u308a\u3064\u3044\u3066\u3044\u305f\u3002<\/p>\n<p>Rust\u300c&#8230;\u300d<\/p>\n<p>TS\u300c\u3042\u306e\u3001Rust\u3061\u3083\u3093&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c&#8230;\u6700\u521d\u306econst\u306e\u3068\u3053\u308d\u304b\u3089\u4f55\u3092\u8a00\u3063\u3066\u3044\u308b\u306e\u304b\u308f\u304b\u3089\u306a\u3044\u308f&#8230;\u300d<\/p>\n<p>&#8230;&#8230;<\/p>\n<p>\u3084\u3063\u3066\u3057\u307e\u3063\u305f&#8230;<\/p>\n<p>&#8230;&#8230;.<\/p>\n<p>\u307e\u305f\u3001\u3084\u3063\u3066\u3057\u307e\u3063\u305f&#8230;\u76f8\u624b\u306e\u3053\u3068\u3092\u5168\u304f\u6c17\u306b\u305b\u305a\u305a\u3063\u3068\u3057\u3083\u3079\u308a\u7d9a\u3051\u3066\u3057\u307e\u3063\u305f&#8230;<\/p>\n<p>&#8230;\u79c1\u306f\u6614&#8230;JS\u3060\u3063\u305f\u6642\u304b\u3089\u7a81\u3063\u8d70\u3063\u3066\u3057\u307e\u3046\u7656\u304c\u3042\u3063\u305f\u3002\u305d\u3057\u3066\u8a08\u7b97\u3092\u9593\u9055\u3048\u305f\u308anull\u3068undefined\u3092\u6df7\u540c\u3057\u305f\u308aundefined\u3092\u5909\u6570\u306e\u3088\u3046\u306b\u6271\u3063\u305f\u308a\u306a\u3069\u306e\u6570\u3005\u306e\u304a\u3063\u3061\u3087\u3053\u3061\u3087\u3044\u306a\u6027\u683c\u3082\u3042\u3063\u3066\u3001\u5468\u308a\u304b\u3089\u306f\u30c9\u30b8\u3063\u5b50\u6271\u3044\u3055\u308c\u3066\u3044\u305f\u3002\u305d\u308c\u304c\u5acc\u3067\u967d\u30ad\u30e3\u3092\u6f14\u3058\u3066\u3044\u305f\u79c1\u3060\u3063\u305f\u304c&#8230;<\/p>\n<p>TS\u300c\u3084\u3063\u3071\u308a\u79c1\u306f\u9670\u30ad\u30e3\u8a00\u8a9e\u76f8\u624b\u306e\u3053\u3068\u3092\u8003\u3048\u3089\u308c\u306a\u3044\u30b3\u30df\u30e5\u969c&#8230;UDP\u3067\u3057\u304b\u4f1a\u8a71\u3067\u304d\u306a\u3044&#8230;\u300d?\uff78\uff9e\uff99\uff78\uff9e\uff99\uff78\uff9e\uff99\uff78\uff9e\uff99?<\/p>\n<p>CSS\u300c&#8230;\u5fc3\u914d\u306b\u306a\u3063\u3066\u4ed8\u3044\u3066\u304d\u3066\u3057\u307e\u3063\u305f\u3051\u3069\u3001\u307e\u305fTS\u3061\u3083\u3093\u9b31\u30e2\u30fc\u30c9\u306b\u5165\u3063\u3061\u3083\u3063\u3066\u308b&#8230;Rust\u3061\u3083\u3093\u4f55\u3057\u305f\u306e\u3055\uff1f\u300d<\/p>\n<p>Rust\u300c\u3044\u3048\u3001\u79c1\u306f\u4f55\u3082&#8230;\u300d<\/p>\n<p>CSS\u300c\u4f55\u3082\u3057\u3066\u306a\u3044\u3063\u3066\uff1fTS\u3061\u3083\u3093\u3092\u7121\u8996\u3057\u305f\u308a\u3060\u3063\u3066\u5acc\u304c\u3089\u305b\u3088\uff1f\u300d<\/p>\n<p>Rust\u300c\u8aac\u660e\u3057\u3066\u3044\u305f\u3060\u3044\u305f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304c\u8aad\u3081\u306a\u3044\u3001\u3068\u306f\u8a00\u3044\u307e\u3057\u305f\u3002\u300d<\/p>\n<p>CSS\u300c\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3063\u3066&#8230;\u3053\u308c\u304b\u306a\u300d\uff76\uff81\uff76\uff81\uff6f<\/p>\n<pre class=\"post-pre\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">arr<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">];<\/span>\r\n<span class=\"kd\">const<\/span> <span class=\"nx\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"kr\">number<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">arr<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nx\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"c1\">\/\/ \u51fa\u529b: [ 10, 2, 3 ]<\/span>\r\n<\/code><\/pre>\n<p>CSS\u300c\u4e2d\u8eab\u306f\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3051\u3069\u3001\u5927\u3057\u305f\u884c\u6570\u306f\u306a\u3044\u3058\u3083\u306a\u3044\uff1fRust\u3061\u3083\u3093\u306a\u3089\u5e73\u6c17\u3067\u8aad\u3081\u308b\u91cf\u3067\u306f\uff1f\u300d<\/p>\n<p>Rust\u300c\u3044\u3048\u3001\u8336\u5316\u3057\u305f\u308a\u3057\u3066\u3044\u308b\u308f\u3051\u3067\u306f\u306a\u304f\u3001\u672c\u5f53\u306bconst\u306e\u3068\u3053\u308d\u304b\u3089\u308f\u304b\u3089\u306a\u3044\u3093\u3067\u3059\u3002\u300d<\/p>\n<h1>TypeScript\u306econst\u3068Rust\u306elet<\/h1>\n<p>TS\u300cconst\u3068\u66f8\u304f\u306e\u306b\u3082\u95a2\u308f\u3089\u305a\u3001\u4e2d\u8eab\u3092\u5909\u66f4\u53ef\u80fd\u3060\u304b\u3089\u304b\u306a&#8230;\uff1f\u305f\u307e\u306b\u6307\u6458\u3055\u308c\u307e\u3059&#8230;\u300d<\/p>\n<p>CSS\u300c\u3042\u3001TS\u3061\u3083\u3093\u5fa9\u6d3b\u3057\u305f\u300d<\/p>\n<p>TS\u300c\u4eca\u56de\u306e\u8a71\u306b\u95a2\u308f\u308b\u306e\u3067\u89e3\u8aac\u3059\u308b\u306d\u3002const\u304c\u4fdd\u8a3c\u3059\u308b\u306e\u306f\u5909\u6570\u306b\u683c\u7d0d\u3055\u308c\u305f\u5024\u304c\u4ee5\u964d\u3067\u5909\u66f4\u3055\u308c\u306a\u3044\u3053\u3068\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/60-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u914d\u5217\u306e\u5834\u5408\u3001const\u306f\u5909\u6570\u306b\u5165\u3063\u3066\u3044\u308b\u53c2\u7167\u306e\u518d\u4ee3\u5165\u306f\u9632\u3044\u3067\u304f\u308c\u308b\u3051\u3069\u3001\u53c2\u7167\u5148\u306e\u5024\u306f\u5909\u66f4\u3067\u304d\u3061\u3083\u3046\u3093\u3060\u3088\u306d\u3002\u300d<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/62-0.png\" alt=\"image.png\" \/><\/div>\n<p>CSS\u300cRust\u3061\u3083\u3093\u306e\u5834\u5408\u306f\u3053\u308c\u3092\u3069\u3046\u89e3\u91c8\u3059\u308b\u306e\uff1f\u300d<\/p>\n<p>Rust\u300cconst\u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u524d\u306b\u5024\u304c\u5b9a\u307e\u308b\u5b9a\u6570\u3092\u8868\u3057\u307e\u30591\u3002TS\u3055\u3093\u306b\u3068\u3063\u3066\u306econst\u306b\u4e00\u756a\u8fd1\u3044\u5ba3\u8a00\u306flet val: &amp;mut T\u3067\u3057\u3087\u3046\u304b\uff1f\u3053\u3053\u3067val\u306f\u5909\u6570\u540d\u3001T\u306f\u683c\u7d0d\u3059\u308b\u5909\u6570\u306e(\u53c2\u7167\u5148\u306e)\u578b\u3067\u3059\u3002\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">_arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">];<\/span>\r\n<span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"p\">[<\/span><span class=\"nb\">usize<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"n\">_arr<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ \u3053\u306earr\u306fconst arr\u306b\u76f8\u5f53<\/span>\r\n<\/code><\/pre>\n<p>CSS\u300c(Rust\u3061\u3083\u3093\u3082\u4ed6\u4eba\u306e\u3053\u3068\u8a00\u3048\u306a\u3044\u3050\u3089\u3044\u610f\u5473\u306e\u308f\u304b\u3089\u306a\u3044\u30b3\u30fc\u30c9\u66f8\u3044\u3066\u306a\u3044&#8230;\uff1f\uff1f)\u300d<\/p>\n<p>Rust\u300c\u304a\u305d\u3089\u304f\u3067\u3059\u304c\u79c1\u306b\u3068\u3063\u3066\u306elet\u306b\u3088\u308b\u5ba3\u8a00\u304cTS\u3055\u3093\u306econst\u3068\u307b\u307c\u540c\u3058\u610f\u5473\u3067\u3059\u3002\u3057\u304b\u3057\u79c1\u306e\u5834\u5408\u306f\u3001&amp;mut\u3092\u3064\u3051\u3066\u53ef\u5909\u53c2\u7167\u3092\u53d6\u3089\u306a\u3044\u3068\u3001\u30db\u30ef\u30a4\u30c8\u30dc\u30fc\u30c9\u306b\u63cf\u304b\u308c\u305f\u8d64\u77e2\u5370\u306e\u3088\u3046\u306a\u53ef\u5909\u306f\u5f97\u3089\u308c\u307e\u305b\u3093\u3002\u300d<\/p>\n<p>CSS\u300c(\u305d\u3057\u3066\u6025\u306b\u9952\u820c\u306b\u306a\u3063\u305f\u306a\u3041&#8230;)\u300d<\/p>\n<p>TS\u300c\u3046\u30fc\u3093&#8230;\u3082\u3057\u304b\u3057\u3066Rust\u3061\u3083\u3093\u306b\u3068\u3063\u3066\u306elet\u306f\u79c1\u306b\u3068\u3063\u3066\u306fconst arr: readonly number[]\u304b\u3082\u3057\u308c\u306a\u3044&#8230;\u300d<\/p>\n<p>CSS\u300c(TS\u3061\u3083\u3093\u307e\u3067\u546a\u6587\u3092&#8230;\uff71\uff9c\uff9c)\u300d<\/p>\n<p>CSS\u300c\u3048\u3063\u3068\u3001\u3001\u3054\u3081\u3093\u3088\u304f\u308f\u304b\u3089\u306a\u304f\u306a\u3063\u3066\u304d\u305f\u306e\u3060\u3051\u3069(\u5927\u58f0)\u3001\u8981\u306fTS\u3061\u3083\u3093\u3068Rust\u3061\u3083\u3093\u3067\u306f\u66f8\u304d\u65b9\u304c\u9055\u3046\u304b\u3089\u4f1d\u308f\u3089\u306a\u3044\u3063\u3066\u3044\u3046\u3001\u305d\u308c\u3060\u3051\u3058\u3083\u306a\u3044\uff1f\u300d<\/p>\n<p>Rust\u300c\u3044\u3048\u3001const\u306e\u610f\u5473\u3092\u6559\u3048\u3066\u3044\u305f\u3060\u3044\u305f\u306e\u3067\u8aad\u3081\u308b\u6c17\u304c\u3057\u3066\u304d\u307e\u3057\u305f&#8230;\u3057\u304b\u3057\u3001\u30db\u30ef\u30a4\u30c8\u30dc\u30fc\u30c9\u3067\u8b70\u8ad6\u3057\u305f\u5185\u5bb9\u3068\u79c1\u306e\u76f4\u611f\u7684\u306a\u7406\u89e3\u304c\u4e00\u81f4\u3057\u306a\u3044\u3067\u3059\u3002\u300d<\/p>\n<p>CSS\u300c(\u5168\u304f\u308f\u304b\u3089\u306a\u3044\u3068\u8a00\u3044\u3064\u3064\u7d50\u69cb\u3061\u3083\u3093\u3068\u805e\u3044\u3066\u3044\u305f\u306e\u3067\u306f&#8230;\uff1f)\u300d<\/p>\n<p>TS\u300c\u3046\u30fc\u3093&#8230;\u3058\u3083\u3042\u8a66\u3057\u306b\u3001\u5143\u306e\u30b3\u30fc\u30c9\u3092\u79c1\u304cRust\u3067\u66f8\u3044\u3066\u307f\u308b\u306d\u300d<\/p>\n<h1>Rust\u306e\u6240\u6709\u6a29\u3068Clone\u30c8\u30ec\u30a4\u30c8<\/h1>\n<p>\uff5e \u8abf\u3079\u306a\u304c\u3089\u66f8\u304f\u3053\u3068\u6570\u5341\u5206\u5f8c \uff5e<\/p>\n<p>TS\u300c\u914d\u5217\u306b[T; n]\u307f\u305f\u3044\u306a\u306e\u3068Vec\u304c\u3042\u3063\u3066\u8ff7\u3063\u305f\u3051\u3069\u3001\u79c1\u306b\u5408\u308f\u305b\u3066\u3001\u53ef\u5909\u9577\u306aVec\u306b\u3057\u305f\u30882\uff01\u300d<\/p>\n<div>\n<p>[T; n]\u306f\u9759\u7684\u914d\u5217\u3067\u3001Vec\u306f\u30d2\u30fc\u30d7\u306b\u30e1\u30e2\u30ea\u3092\u78ba\u4fdd\u3059\u308b\u53ef\u5909\u9577\u914d\u5217\u3067\u3059\u3002\u4ee5\u964d\u3001\u672c\u5c0f\u8aac\u306b\u304a\u3044\u3066\u300c\u914d\u5217\u300d\u306f\u53ef\u5909\u9577\u914d\u5217Vec\u3092\u6307\u3059\u3053\u3068\u3068\u3057\u307e\u3059\u3002<\/p>\n<p>\u914d\u5217\u3068\u30b9\u30e9\u30a4\u30b9 &#8211; Rust By Example \u65e5\u672c\u8a9e\u7248<br \/>\n\u30d9\u30af\u30bf\u578b &#8211; Rust By Example \u65e5\u672c\u8a9e\u7248<\/p>\n<\/div>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n    \r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u3067\u304d\u305f\uff01\u3051\u3069\u3001\u3042\u308a\u3083\u308a\u3083&#8230;\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u3060&#8230;\uff1f&#8230;\u9577\u3044\uff01\uff01\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\nerror[E0596]: cannot borrow <span class=\"sb\">`<\/span>arr2<span class=\"sb\">`<\/span> as mutable, as it is not declared as mutable\r\n <span class=\"nt\">--<\/span><span class=\"o\">&gt;<\/span> main.rs:5:5\r\n  |\r\n5 |     arr2[0] <span class=\"o\">=<\/span> 10<span class=\"p\">;<\/span>\r\n  |     ^^^^ cannot borrow as mutable\r\n  |\r\n<span class=\"nb\">help<\/span>: consider changing this to be mutable\r\n  |\r\n3 |     <span class=\"nb\">let <\/span>mut arr2: Vec&lt;usize&gt; <span class=\"o\">=<\/span> arr<span class=\"p\">;<\/span>\r\n  |         +++\r\n\r\nerror[E0382]: borrow of moved value: <span class=\"sb\">`<\/span>arr<span class=\"sb\">`<\/span>\r\n <span class=\"nt\">--<\/span><span class=\"o\">&gt;<\/span> main.rs:7:22\r\n  |\r\n2 |     <span class=\"nb\">let <\/span>arr: Vec&lt;usize&gt; <span class=\"o\">=<\/span> vec![1, 2, 3]<span class=\"p\">;<\/span>\r\n  |         <span class=\"nt\">---<\/span> move occurs because <span class=\"sb\">`<\/span>arr<span class=\"sb\">`<\/span> has <span class=\"nb\">type<\/span> <span class=\"sb\">`<\/span>Vec&lt;usize&gt;<span class=\"sb\">`<\/span>, which does not implement the <span class=\"sb\">`<\/span>Copy<span class=\"sb\">`<\/span> trait\r\n3 |     <span class=\"nb\">let <\/span>arr2: Vec&lt;usize&gt; <span class=\"o\">=<\/span> arr<span class=\"p\">;<\/span>\r\n  |                            <span class=\"nt\">---<\/span> value moved here\r\n...\r\n7 |     println!<span class=\"o\">(<\/span><span class=\"s2\">\"{:?}\"<\/span>, arr<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n  |                      ^^^ value borrowed here after move\r\n  |\r\n  <span class=\"o\">=<\/span> note: this error originates <span class=\"k\">in <\/span>the macro <span class=\"sb\">`<\/span><span class=\"nv\">$crate<\/span>::format_args_nl<span class=\"sb\">`<\/span> which comes from the expansion of the macro <span class=\"sb\">`<\/span>println<span class=\"sb\">`<\/span> <span class=\"o\">(<\/span><span class=\"k\">in <\/span>Nightly builds, run with <span class=\"nt\">-Z<\/span> macro-backtrace <span class=\"k\">for <\/span>more info<span class=\"o\">)<\/span>\r\n<span class=\"nb\">help<\/span>: consider cloning the value <span class=\"k\">if <\/span>the performance cost is acceptable\r\n  |\r\n3 |     <span class=\"nb\">let <\/span>arr2: Vec&lt;usize&gt; <span class=\"o\">=<\/span> arr.clone<span class=\"o\">()<\/span><span class=\"p\">;<\/span>\r\n  |                               ++++++++\r\n\r\nerror: aborting due to 2 previous errors\r\n\r\nSome errors have detailed explanations: E0382, E0596.\r\nFor more information about an error, try <span class=\"sb\">`<\/span>rustc <span class=\"nt\">--explain<\/span> E0382<span class=\"sb\">`<\/span><span class=\"nb\">.<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u30a8\u30e9\u30fc\u81ea\u4f53\u306f2\u3064\u307f\u305f\u3044\u3060\u306d&#8230;\u3048\u3063\u3068\u4e00\u3064\u76ee\u306f\u300d<\/p>\n<pre class=\"post-pre\"><code>error[E0596]: cannot borrow `arr2` as mutable, as it is not declared as mutable\r\n --&gt; main.rs:5:5\r\n  |\r\n5 |     arr2[0] = 10;\r\n  |     ^^^^ cannot borrow as mutable\r\n  |\r\nhelp: consider changing this to be mutable\r\n  |\r\n3 |     let mut arr2: Vec&lt;usize&gt; = arr;\r\n  |         +++\r\n<\/code><\/pre>\n<p>TS\u300ccannot borrow arr2 as mutable, as it is not declared as mutable&#8230;\u548c\u8a33\u3059\u308b\u3068\u3001\u300earr2\u306f\u53ef\u5909\u3067\u5ba3\u8a00\u3055\u308c\u3066\u3044\u306a\u3044\u305f\u3081\u3001arr2\u3092\u53ef\u5909\u3067\u501f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u300f\u300d<\/p>\n<p>TS\u300c\u305d\u3057\u3066help\u306b\u3001consider changing this to be mutable&#8230;\u3053\u308c\u3082\u548c\u8a33\u3059\u308b\u3068\u3001\u300e\u3053\u308c\u3092\u53ef\u5909\u306b\u306a\u308b\u3088\u3046\u306b\u5909\u3048\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u300f&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u5148\u307b\u3069TS\u3055\u3093\u304c\u3061\u3089\u308a\u3068readonly\u3068\u3044\u3046\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u53e3\u306b\u3057\u3066\u3044\u305f\u3068\u601d\u3046\u306e\u3067\u3059\u304c\u3001let\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067readonly\u304c\u4ed8\u4e0e\u3055\u308c\u3066\u3044\u308b\u3068\u8003\u3048\u308b\u3068\u308f\u304b\u308a\u3084\u3059\u3044\u3067\u3059\u3002mut\u306f\u3001\u3053\u306ereadonly\u3092\u5916\u3059\u64cd\u4f5c\u306b\u8fd1\u3044\u304b\u3068\u3002\u300d<\/p>\n<p>TS\u300c\u3058\u3083\u3042arr2\u306bmut\u3092\u4ed8\u3051\u308c\u3070\u89e3\u6c7a\u3057\u305d\u3046\u3060\u306d\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">];<\/span>\r\n<span class=\"hdl\"><span class=\"o\">- <\/span>   <span class=\"k\">let<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n<\/span><span class=\"hil\"><span class=\"o\">+ <\/span>   <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n<\/span>\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ arr2\u306f\u53ef\u5909\u306a\u306e\u3067\u304a\uff4b<\/span>\r\n    \r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u3067\u30822\u3064\u76ee\u306e\u30a8\u30e9\u30fc\u306f\u89e3\u6c7a\u3057\u306a\u304b\u3063\u305f\u307f\u305f\u3044\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\nerror[E0382]: borrow of moved value: <span class=\"sb\">`<\/span>arr<span class=\"sb\">`<\/span>\r\n <span class=\"nt\">--<\/span><span class=\"o\">&gt;<\/span> main.rs:7:22\r\n  |\r\n2 |     <span class=\"nb\">let <\/span>arr: Vec&lt;usize&gt; <span class=\"o\">=<\/span> vec![1, 2, 3]<span class=\"p\">;<\/span>\r\n  |         <span class=\"nt\">---<\/span> move occurs because <span class=\"sb\">`<\/span>arr<span class=\"sb\">`<\/span> has <span class=\"nb\">type<\/span> <span class=\"sb\">`<\/span>Vec&lt;usize&gt;<span class=\"sb\">`<\/span>, which does not implement the <span class=\"sb\">`<\/span>Copy<span class=\"sb\">`<\/span> trait\r\n3 |     <span class=\"nb\">let <\/span>mut arr2: Vec&lt;usize&gt; <span class=\"o\">=<\/span> arr<span class=\"p\">;<\/span>\r\n  |                                <span class=\"nt\">---<\/span> value moved here\r\n...\r\n7 |     println!<span class=\"o\">(<\/span><span class=\"s2\">\"{:?}\"<\/span>, arr<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n  |                      ^^^ value borrowed here after move\r\n  |\r\n  <span class=\"o\">=<\/span> note: this error originates <span class=\"k\">in <\/span>the macro <span class=\"sb\">`<\/span><span class=\"nv\">$crate<\/span>::format_args_nl<span class=\"sb\">`<\/span> which comes from the expansion of the macro <span class=\"sb\">`<\/span>println<span class=\"sb\">`<\/span> <span class=\"o\">(<\/span><span class=\"k\">in <\/span>Nightly builds, run with <span class=\"nt\">-Z<\/span> macro-backtrace <span class=\"k\">for <\/span>more info<span class=\"o\">)<\/span>\r\n<span class=\"nb\">help<\/span>: consider cloning the value <span class=\"k\">if <\/span>the performance cost is acceptable\r\n  |\r\n3 |     <span class=\"nb\">let <\/span>mut arr2: Vec&lt;usize&gt; <span class=\"o\">=<\/span> arr.clone<span class=\"o\">()<\/span><span class=\"p\">;<\/span>\r\n  |                                   ++++++++\r\n\r\nerror: aborting due to previous error\r\n\r\nFor more information about this error, try <span class=\"sb\">`<\/span>rustc <span class=\"nt\">--explain<\/span> E0382<span class=\"sb\">`<\/span><span class=\"nb\">.<\/span>\r\n<\/code><\/pre>\n<p>TS\u300cborrow of moved value: arr&#8230;\u300e\u79fb\u52d5\u3055\u308c\u305farr\u306e\u5024\u3092\u501f\u7528\u3057\u305f\u300f\uff1f\u300d<\/p>\n<p>Rust\u300c&#8230;(&#8220;\u3053\u308c&#8221;\u3092\u8aac\u660e\u3059\u308b\u6642\u304c\u307e\u305f\u6765\u3066\u3057\u307e\u3063\u305f&#8230;)\u300d<\/p>\n<p>Rust\u300c&#8230;arr2\u306b\u3001arr\u304c\u6301\u3063\u3066\u3044\u305fvec![1, 2, 3]\u3068\u3044\u3046\u5024\u306e\u6240\u6709\u6a29\u304c\u79fb\u52d5(\u30e0\u30fc\u30d6)\u3057\u305f\u305f\u3081\u3001arr\u306f\u4f7f\u7528\u3067\u304d\u306a\u3044\u3001\u3068\u3044\u3046\u610f\u5473\u3067\u3059\u3002\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/94-0.png\" alt=\"image.png\" \/><\/div>\n<p>Rust\u300c\u4f7f\u7528\u3067\u304d\u306a\u3044\u306e\u306b\u3082\u95a2\u308f\u3089\u305a\u3001println!\u3067\u53c2\u7167\u3057\u3066\u3044\u308b\u306e\u3067\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u501f\u7528\u3068\u3044\u3046\u8a00\u8449\u306f\u79c1\u306b\u306f\u53c2\u7167\u3068\u540c\u7fa9\u3067\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u53c2\u7167\u304c\u30b3\u30d4\u30fc\u3055\u308c\u308b\u308f\u3051\u3058\u3083\u306a\u3044\u3093\u3060\u306d&#8230;\u3042\u3001\u3055\u3063\u304d\u3068\u540c\u3058\u304f\u30a8\u30e9\u30fc\u6587\u306b\u89e3\u6c7a\u7b56\u3082\u66f8\u3044\u3066\u308b\u300d<\/p>\n<pre class=\"post-pre\"><code>help: consider cloning the value if the performance cost is acceptable\r\n  |\r\n3 |     let mut arr2: Vec&lt;usize&gt; = arr.clone();\r\n  |                                   ++++++++\r\n<\/code><\/pre>\n<p>Rust\u300c(\u3042\u308c\uff1f\u62d2\u7d76\u3055\u308c\u306a\u304b\u3063\u305f&#8230;)\u300d<\/p>\n<p>Rust\u3061\u3083\u3093\u306f\u4f55\u304b\u4e0d\u601d\u8b70\u306a\u8868\u60c5\u3092\u3057\u3066\u3044\u305f\u304c\u3001\u79c1\u306f\u305d\u306e\u307e\u307e\u7d9a\u3051\u305f\u3002<\/p>\n<p>TS\u300c\u3048\u3063\u3068\u3001consider cloning the value if the performance cost is acceptable&#8230;\u300e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30b3\u30b9\u30c8\u7684\u306b\u8a31\u305b\u308b\u306a\u3089\u5024\u306e\u30af\u30ed\u30fc\u30f3\u3092\u4f5c\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u300f&#8230;\uff1f\u300d<\/p>\n<p>TS\u300cclone\u3068\u3044\u3046\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3079\u3070\u3044\u3044\u3093\u3060\u306d\uff01\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306fVec\u56fa\u6709\u306e\u7269\uff1f\u300d<\/p>\n<p>Rust\u300c\u3044\u3048\u3001Clone\u30c8\u30ec\u30a4\u30c8\u3092\u5b9f\u88c5\u3057\u305f\u578b\u3067\u3042\u308c\u3070\u3069\u308c\u3082\u304c\u6301\u3061\u5408\u308f\u305b\u3066\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u30c8\u30ec\u30a4\u30c8\uff1f\u300d<\/p>\n<p>Rust\u300cTS\u3055\u3093\u3067\u8a00\u3046interface\u306b\u8a72\u5f53\u3059\u308b\u3082\u306e3\u3067\u3059\u3002\u305f\u3060\u3057\u30c8\u30ec\u30a4\u30c8\u306b\u306f\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u6307\u5b9a\u3059\u308b\u6a5f\u80fd\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u300d<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30af\u30ed\u30fc\u30f3 &#8211; Rust By Example \u65e5\u672c\u8a9e\u7248<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Clone in std::clone &#8211; Rust<\/ul>\n<pre class=\"post-pre\"><code><span class=\"k\">pub<\/span> <span class=\"k\">trait<\/span> <span class=\"nb\">Clone<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Sized<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">fn<\/span> <span class=\"nf\">clone<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"k\">self<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"k\">Self<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"c1\">\/\/ \u81ea\u52d5\u5b9f\u88c5\u3055\u308c\u308b`clone_from`\u306f\u7701\u7565<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"kr\">interface<\/span> <span class=\"nx\">Clone<\/span><span class=\"o\">&lt;<\/span><span class=\"nx\">T<\/span><span class=\"o\">&gt;<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"nf\">clone<\/span><span class=\"p\">():<\/span> <span class=\"nx\">T<\/span><span class=\"p\">;<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>Rust\u300c\u540d\u524d\u304b\u3089\u5bdf\u3057\u304c\u4ed8\u304f\u3068\u601d\u3044\u307e\u3059\u304c\u3001clone\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3046\u3068\u5143\u306e\u5024\u306e\u30af\u30ed\u30fc\u30f3\u304c\u4f5c\u3089\u308c\u307e\u3059\u3002\u5143\u306e\u5909\u6570\u306e\u6240\u6709\u6a29\u306f\u596a\u3044\u307e\u305b\u3093\u3002\u300d<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/109-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c&#8230;\u3068\u3044\u3046\u3053\u3068\u306f\u3082\u3057\u304b\u3057\u3066\u79c1\u304c2\u3064\u76ee\u306b\u66f8\u3044\u305f\u30b9\u30d7\u30ec\u30c3\u30c9\u69cb\u6587\u3092\u4f7f\u3046\u30b3\u30fc\u30c9\u3068\u540c\u3058\u7d50\u679c\u306b\u306a\u308b\u306e\u3067\u306f&#8230;\uff1f\u300d<\/p>\n<p>CSS\u300c\u3068\u308a\u3042\u3048\u305a\u52d5\u304b\u3057\u3066\u307f\u308c\u3070\u308f\u304b\u308b\u3093\u3058\u3083\u306a\u3044\uff1f\u300d<\/p>\n<p>TS\u300c\u305d\u3046\u3060\u306d\u3001\u3064\u3044\u3067\u306barr2\u306e\u51fa\u529b\u3082\u52a0\u3048\u3066\u307f\u308b\u3088\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">];<\/span>\r\n<span class=\"hdl\"><span class=\"o\">- <\/span>   <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n<\/span><span class=\"hil\"><span class=\"o\">+ <\/span>   <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"nf\">.clone<\/span><span class=\"p\">();<\/span>\r\n<\/span>\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"hdl\"><span class=\"o\">- <\/span>   <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<\/span><span class=\"hil\"><span class=\"o\">+ <\/span>   <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<\/span><span class=\"hil\"><span class=\"o\">+ <\/span>   <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n<\/span><span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u30b3\u30f3\u30d1\u30a4\u30eb\u306f\u901a\u3063\u305f\uff01\u3001\u3001\u5b9f\u884c\u7d50\u679c\u306f&#8230;\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\n<span class=\"nv\">$ <\/span>.\/main\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>1, 2, 3]\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>10, 2, 3]\r\n<\/code><\/pre>\n<p>TS\u300c\u3084\u3063\u3071\u308a\u30b9\u30d7\u30ec\u30c3\u30c9\u69cb\u6587\u3068\u540c\u3058\u3060\uff01\uff01\u300d<\/p>\n<p>Rust\u300c\u7d50\u5c40\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u306e\u6b63\u4f53\u306f\u308f\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u306d&#8230;\u300d<\/p>\n<p>TS\u300c\u3067\u3082\u307e\u3060\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u6b8b\u3063\u3066\u3044\u308b\u304b\u3082\u300d<\/p>\n<p>CSS\u300c\u3058\u3083\u3042\u540c\u3058\u611f\u3058\u30673\u3064\u76ee\u306e\u30b3\u30fc\u30c9\u3092Rust\u3067\u66f8\u3044\u3066\u307f\u305f\u3089\uff1f\u300d<\/p>\n<p>TS\u300c\u304c\u3093\u3070\u308b\uff01\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"nf\">.clone<\/span><span class=\"p\">();<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">];<\/span>\r\n    \r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u4eca\u56de\u306f\u30a8\u30e9\u30fc\u306a\u304f\u4e00\u767a\u3067\u30b3\u30f3\u30d1\u30a4\u30eb\u901a\u3063\u305f\u307f\u305f\u3044\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\n<span class=\"nv\">$ <\/span>.\/main\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>1, 2, 3], <span class=\"o\">[<\/span>4, 5, 6]]\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>1, 2, 3], <span class=\"o\">[<\/span>7, 8, 9]]\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>1, 2, 3], <span class=\"o\">[<\/span>4, 5, 6]]\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>10, 2, 3], <span class=\"o\">[<\/span>7, 8, 9]]\r\n<\/code><\/pre>\n<p>TS\u300c\u30c7\u3000\u30a3\u3000\u30fc\u3000\u30d7\u3000\u30b3\u3000\u30d4\u3000\u30fc\u3000\u3055\u3000\u308c\u3000\u3066\u3000\u308b\u3000\uff01\u300d<\/p>\n<p>Rust\u300cclone\u30e1\u30bd\u30c3\u30c9\u306f\u69cb\u9020\u4f53\u3084\u914d\u5217\u306e\u8981\u7d20\u306b\u5bfe\u3057\u518d\u5e30\u7684\u306b\u547c\u3073\u51fa\u3055\u308c\u308b\u306e\u3067\u3001Vec\u306e\u8981\u7d20\u306b\u306a\u3063\u3066\u3044\u308bVec\u306b\u3064\u3044\u3066\u3082\u4e2d\u8eab\u304c\u30af\u30ed\u30fc\u30f3\u3055\u308c\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u6240\u6709\u6a29\u8b72\u6e21\u3082\u767a\u751f\u305b\u305a\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u901a\u3063\u3066\u3044\u305f\u308f\u3051\u3067\u3059\u306d4\u3002\u300d<\/p>\n<p>TS\u300c\u6700\u521d\u304b\u3089\u5168\u90e8\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u3055\u308c\u308b\u306a\u3093\u3066&#8230;\u3082\u3057\u304b\u3057\u3066Rust\u3061\u3083\u3093\u306b\u306f\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u304c\u4f1d\u308f\u3089\u306a\u3044&#8230;\uff1f\u300d<\/p>\n<p>\u305d\u3093\u306a&#8230;\u305b\u3063\u304b\u304f\u8a71\u984c\u3092\u5171\u6709\u3067\u304d\u308b\u3068\u601d\u3063\u305f\u306e\u306b&#8230;<\/p>\n<p>CSS\u300c\u3067\u3082TypeScript\u3060\u3051\u3058\u3083\u306a\u304fPython\u3068\u304b\u591a\u304f\u306e\u8a00\u8a9e\u304c\u3067\u304d\u308b\u3089\u3057\u3044\u3053\u3068\u304c\u3001Rust\u3061\u3083\u3093\u306b\u306f\u3067\u304d\u306a\u3044\u3063\u3066\u3053\u3068\u306a\u3093\u3060\u306d\uff1f\u610f\u5916\u306a\u4e00\u9762\u3092\u898b\u305f\u304b\u3082\u300d\uff86\uff94\uff86\uff94<\/p>\n<p>Rust\u300c\u3067\u304d\u306a\u304f\u306f\u306a\u3044\u306f\u305a\u3067\u3059\u3088\u300d<\/p>\n<p>TS\u300c&#8230;\u307b\u3048\uff1f\u300d<\/p>\n<p>Rust\u3061\u3083\u3093\u306f\u3001\u30e0\u30c3\u3068\u3057\u305f\u8868\u60c5\u3092\u8cbc\u308a\u4ed8\u3051\u306a\u304c\u3089<\/p>\n<p>Rust\u300c\u3060\u304b\u3089\u3001TS\u3055\u3093\u304c\u30db\u30ef\u30a4\u30c8\u30dc\u30fc\u30c9\u306b\u63cf\u3044\u305f\u3088\u3046\u306a\u3001\u53c2\u7167\u3060\u3051\u3092\u8907\u88fd\u3059\u308b\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3082\u3001\u66f8\u3051\u306a\u304f\u306f\u306a\u3044\u3067\u3059\u3002\u300d<\/p>\n<p>\u305d\u3046\u8a00\u3063\u3066\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u524d\u306b\u5ea7\u3063\u305f\u3002<\/p>\n<h1>Rust\u306e\u4e0d\u5909\u53c2\u7167\u3068\u53ef\u5909\u53c2\u7167<\/h1>\n<ul class=\"post-ul\">\u53c2\u8003\u5143: \u53c2\u7167\u3068\u501f\u7528 &#8211; The Rust Programming Language \u65e5\u672c\u8a9e\u7248<\/ul>\n<p>(\u8aad\u8005\u306e\u65b9\u3078: \u3053\u3053\u304b\u3089\u3061\u3087\u3063\u3068\u9577\u3044\u306e\u3067\u9811\u5f35\u3063\u3066\u304f\u3060\u3055\u3044)<\/p>\n<h2>\u4e0d\u5909\u53c2\u7167<\/h2>\n<p>Rust\u300c\u305d\u306e\u524d\u306b\u3001\u79c1\u306b\u3068\u3063\u3066\u306e\u53c2\u7167\u3068\u306f\u3069\u3046\u3044\u3046\u3082\u306e\u304b\u3092\u89e3\u8aac\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u306d\u3002\u57fa\u672c\u7684\u306b\u306f\u3001\u4e0d\u5909\u53c2\u7167\u3068\u53ef\u5909\u53c2\u7167\u306e\u4e8c\u7a2e\u985e\u304c\u3042\u308a\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u53ef\u5909\u53c2\u7167\u306b\u3064\u3044\u3066\u306f\u3055\u3063\u304d\u5c11\u3057\u89e6\u308c\u3066\u3044\u305f\u3088\u3046\u306a\uff1f\u300d<\/p>\n<p>Rust\u300c\u305d\u3046\u3067\u3059\u306d\u3002\u3057\u304b\u3057\u8aac\u660e\u306e\u9806\u756a\u306e\u305f\u3081\u3001\u307e\u305a\u306f\u4e0d\u5909\u53c2\u7167\u306b\u3064\u3044\u3066\u3067\u3059\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"c1\">\/\/ vec\u306e\u578b&amp;Vec&lt;Vec&lt;usize&gt;&gt;\u306f\u3001vec\u304cVec&lt;Vec&lt;usize&gt;&gt;\u578b\u306e\u5024\u306e\u4e0d\u5909\u53c2\u7167\u3067\u3042\u308b\u3053\u3068\u3092\u8868\u3059<\/span>\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">print_vec<\/span><span class=\"p\">(<\/span><span class=\"n\">vec<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"k\">in<\/span> <span class=\"n\">vec<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"k\">for<\/span> <span class=\"n\">j<\/span> <span class=\"k\">in<\/span> <span class=\"n\">i<\/span> <span class=\"p\">{<\/span>\r\n            <span class=\"nd\">print!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{} \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">j<\/span><span class=\"p\">);<\/span>\r\n        <span class=\"p\">}<\/span>\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\"<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr_ref<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">arr<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ &amp;\u3092\u3064\u3051\u308b\u3053\u3068\u3067\u53c2\u7167\u3092\u53d6\u308c\u308b<\/span>\r\n\r\n    <span class=\"nf\">print_vec<\/span><span class=\"p\">(<\/span><span class=\"n\">arr_ref<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"c1\">\/\/ \u95a2\u6570\u306b\u6e21\u3059\u5834\u5408\u306f\u76f4\u63a5\u3053\u3046\u66f8\u304f\u65b9\u304c\u666e\u901a<\/span>\r\n    <span class=\"nf\">print_vec<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/142-0.png\" alt=\"image.png\" \/><\/div>\n<p>Rust\u300c&amp;arr\u306e\u3088\u3046\u306b\u5909\u6570\u306e\u524d\u306b&amp;\u3092\u4ed8\u3051\u308b\u3053\u3068\u3067\u3001arr\u3068\u3044\u3046\u5909\u6570\u304c\u6301\u3064\u5024\u3078\u306e\u4e0d\u5909\u53c2\u7167\u3092\u53d6\u308c\u307e\u3059\u3002\u540d\u524d\u306e\u901a\u308a\u3001\u4e0d\u5909\u53c2\u7167\u306b\u5bfe\u3057\u3066\u5909\u6570\u306e\u4e2d\u8eab\u3092\u5909\u66f4\u3059\u308b\u64cd\u4f5c\u306f\u4e0d\u53ef\u80fd\u3067\u30595\u3002\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr_ref<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"n\">arr_ref<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ \u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u3002\u4e0d\u5909\u53c2\u7167\u3067\u306f\u5909\u66f4\u64cd\u4f5c\u304c\u3067\u304d\u306a\u3044<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>CSS\u300c&amp;\u3067\u53c2\u7167\u3063\u3066C\u8a00\u8a9e\u3063\u307d\u3044&#8230;\uff1f\u3046\u30fc\u3093&#8230;C\u8a00\u8a9e\u5148\u751f\u306e\u6388\u696d\u306e\u30c8\u30e9\u30a6\u30de\u304c&#8230;\u300d<\/p>\n<p>TS\u300c&amp;\u3092\u4f7f\u3063\u3066\u3044\u308b\u305b\u3044\u3067\u96e3\u3057\u304f\u898b\u3048\u3066\u308b\u3060\u3051\u304b\u3082\u3001\u3055\u3063\u304d\u8a71\u3057\u305f\u901a\u308a\u79c1\u306b\u3082\u53c2\u7167\u306e\u8003\u3048\u306f\u3042\u308b\u3057\u3002\u3068\u3053\u308d\u3067\u3001C\u8a00\u8a9e\u306e\u30dd\u30a4\u30f3\u30bf\u306b\u306f\u4e0d\u5909\u30fb\u53ef\u5909\u306e\u533a\u5206\u306f\u306a\u304b\u3063\u305f\u3088\u306d\uff1f\u4e0d\u5909\u3068\u3044\u3046\u3060\u3051\u3067\u304b\u306a\u308a\u5f37\u3044\u5236\u9650\u306a\u6c17\u304c\u3059\u308b\u3051\u3069\u3001\u3069\u3093\u306a\u5834\u9762\u3067\u4f7f\u308f\u308c\u308b\u306e\uff1f\u300d<\/p>\n<p>Rust\u300c\u4e0d\u5909\u53c2\u7167\u306f\u3042\u308b\u30c7\u30fc\u30bf\u306b\u4f9d\u5b58\u3057\u3066\u5206\u5c90\u3057\u305f\u308a\u3001\u4f8b\u306b\u3042\u308bprint_vec\u95a2\u6570\u306e\u3088\u3046\u306b\u30c7\u30fc\u30bf\u305d\u306e\u3082\u306e\u3092\u51fa\u529b\u3059\u308b\u5834\u5408\u306b\u4f7f\u308f\u308c\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u8997\u304f\u3060\u3051\u306a\u3089\u53ef\u5909\u3067\u3042\u308b\u5fc5\u8981\u306f\u306a\u3044\u3082\u3093\u306d\u3002\u300d<\/p>\n<p>CSS\u300c\u3067\u3082\u3067\u304d\u308b\u306a\u3089\u53c2\u7167\u3092\u4f7f\u3044\u305f\u304f\u306a\u3044\u3088\u3046\u306a&#8230;\u53c2\u7167\u3058\u3083\u306a\u304d\u3083\u3060\u3081\uff1f\u300d<\/p>\n<p>TS\u300c\u4f7f\u308f\u306a\u3044\u3067\u66f8\u3044\u3066\u307f\u308b\u3068&#8230;\u3053\u3093\u306a\u611f\u3058\u304b\u306a&#8230;\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">print_vec<\/span><span class=\"p\">(<\/span><span class=\"n\">vec<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"k\">in<\/span> <span class=\"n\">vec<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"k\">for<\/span> <span class=\"n\">j<\/span> <span class=\"k\">in<\/span> <span class=\"n\">i<\/span> <span class=\"p\">{<\/span>\r\n            <span class=\"nd\">print!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{} \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">j<\/span><span class=\"p\">);<\/span>\r\n        <span class=\"p\">}<\/span>\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\"<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n\r\n    <span class=\"nf\">print_vec<\/span><span class=\"p\">(<\/span><span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u7279\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u3082\u8d77\u304d\u306a\u304b\u3063\u305f\u3051\u3069&#8230;\u300d<\/p>\n<p>CSS\u300c\u5927\u4e08\u592b\u305d\u3046\u3058\u3083\u3093\u300d<\/p>\n<p>Rust\u300c\u3082\u3046\u4e00\u56deprint_vec\u3057\u3066\u307f\u3066\u304f\u308c\u307e\u3059\u304b\uff1f\u300d<\/p>\n<p>TS\u300c&#8230;\uff1f\u4f55\u304b\u5909\u308f\u308b\u306e&#8230;\uff1f\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n\r\n    <span class=\"nf\">print_vec<\/span><span class=\"p\">(<\/span><span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n\r\n<span class=\"hil\"><span class=\"o\">+ <\/span>   <span class=\"nf\">print_vec<\/span><span class=\"p\">(<\/span><span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<\/span><span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u306b\u306a\u3063\u305f\uff01\u306a\u3093\u3067\uff1f\uff01\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\nerror[E0382]: use of moved value: <span class=\"sb\">`<\/span>arr<span class=\"sb\">`<\/span>\r\n  <span class=\"nt\">--<\/span><span class=\"o\">&gt;<\/span> main.rs:15:15\r\n   |\r\n11 |     <span class=\"nb\">let <\/span>arr: Vec&lt;Vec&lt;usize&gt;&gt; <span class=\"o\">=<\/span> vec![vec![1, 2, 3], vec![4, 5, 6]]<span class=\"p\">;<\/span>\r\n   |         <span class=\"nt\">---<\/span> move occurs because <span class=\"sb\">`<\/span>arr<span class=\"sb\">`<\/span> has <span class=\"nb\">type<\/span> <span class=\"sb\">`<\/span>Vec&lt;Vec&lt;usize&gt;&gt;<span class=\"sb\">`<\/span>, which does not implement the <span class=\"sb\">`<\/span>Copy<span class=\"sb\">`<\/span> trait\r\n12 |\r\n13 |     print_vec<span class=\"o\">(<\/span>arr<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n   |               <span class=\"nt\">---<\/span> value moved here\r\n14 |\r\n15 |     print_vec<span class=\"o\">(<\/span>arr<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n   |               ^^^ value used here after move\r\n   |\r\nnote: consider changing this parameter <span class=\"nb\">type <\/span><span class=\"k\">in function<\/span> <span class=\"sb\">`<\/span>print_vec<span class=\"sb\">`<\/span> to borrow instead <span class=\"k\">if <\/span>owning the value isn<span class=\"s1\">'t necessary\r\n  --&gt; main.rs:1:19\r\n   |\r\n1  | fn print_vec(vec: Vec&lt;Vec&lt;usize&gt;&gt;) {\r\n   |    ---------      ^^^^^^^^^^^^^^^ this parameter takes ownership of the value\r\n   |    |\r\n   |    in this function\r\nhelp: consider cloning the value if the performance cost is acceptable\r\n   |\r\n13 |     print_vec(arr.clone());\r\n   |                  ++++++++\r\n\r\nerror: aborting due to previous error\r\n\r\nFor more information about this error, try `rustc --explain E0382`.\r\n<\/span><\/code><\/pre>\n<p>TS\u300cuse of moved value: arr&#8230;\u300e\u3059\u3067\u306b\u79fb\u3055\u308c\u305f\u5024arr\u3092\u4f7f\u3063\u3066\u308b\u300f&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u5909\u6570\u9593\u3060\u3051\u3067\u306f\u306a\u304f\u95a2\u6570\u306e\u5f15\u6570\u306b\u5909\u6570\u304c\u4e0e\u3048\u3089\u308c\u308b\u5834\u5408\u3082\u5f15\u6570\u3078\u306e\u6240\u3000\u6709\u3000\u6a29\u3000\u8b72\u3000\u6e21\u304c\u884c\u308f\u308c\u308b\u305f\u3081\u3001\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u8b72\u6e21\u3055\u308c\u305f\u3053\u3068\u304c\u300e\u79fb\u3063\u305f\u300f\u3068\u8868\u73fe\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77\uff76\uff77\uff76\uff77\uff76\uff77<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/161-0.png\" alt=\"image.png\" \/><\/div>\n<p>\u305d\u3053\u307e\u3067\u5927\u3057\u305f\u5185\u5bb9\u3067\u306f\u306a\u3044\u306f\u305a\u306a\u306e\u306b\u3001\u5f37\u3044\u53e3\u8abf\u3067\u8a71\u3057\u306a\u304c\u3089Rust\u3061\u3083\u3093\u306f\u71b1\u5fc3\u306b\u56f3\u3092\u63cf\u304d\u6bb4\u3063\u3066\u3044\u305f\u3002\u51fa\u4f1a\u3063\u305f\u6642\u306eRust\u3061\u3083\u3093\u304b\u3089\u306f\u5168\u304f\u60f3\u50cf\u3067\u304d\u306a\u3044\u305d\u306e\u59ff\u306b\u3001\u6238\u60d1\u3044\u306a\u304c\u3089\u3082\u3002<\/p>\n<p>TS\u300c\u3057\u3087\u3086\u3046\u3051\u3093\u306e\u3058\u3087\u3046\u3068\u3001\u3063\u3066\u3044\u3046\u306e\u306f\u3001\u3055\u3063\u304d\u304b\u3089\u70b9\u7dda\u3067\u63cf\u3044\u3066\u308b\u3084\u3064\u3060\u306d&#8230;\u3064\u307e\u308a\u4e00\u56de\u76ee\u306eprint_vec\u3067arr\u304b\u3089\u6240\u6709\u6a29\u304c\u596a\u308f\u308c\u308b\u304b\u3089\u3001\u4e8c\u56de\u76ee\u306e\u547c\u3073\u51fa\u3057\u7b87\u6240\u3067\u30a8\u30e9\u30fc\u306b\u306a\u308b\u306e\u304b\u306a\uff1f\u300d<\/p>\n<p>\u3053\u3046\u79c1\u304c\u7b54\u3048\u308b\u3068\u3001\u3069\u3053\u304b\u5b89\u5fc3\u3057\u305f\u3088\u3046\u306b\u5f7c\u5973\u306f\u7d9a\u3051\u305f\u3002<\/p>\n<p>Rust\u300c\u305d\u3046\u3067\u3059\u3002\u914d\u5217\u306e\u51fa\u529b\u306b\u306farr\u306e\u6240\u6709\u6a29\u306f\u4e0d\u8981\u3067\u3059\u304b\u3089\u3001\u672c\u4f53\u3067\u306f\u306a\u304f\u3001\u6240\u6709\u6a29\u8b72\u6e21\u306a\u3057\u3067\u4f7f\u3048\u308b\u53c2\u7167\u3060\u3051\u3042\u308c\u3070\u5341\u5206\u3067\u3059\u3002\u305d\u308c\u304cprint_vec\u306e\u5f15\u6570vec\u306e\u578b\u304c\u53c2\u7167\u578b&amp;Vec&lt;Vec&gt;\u3067\u3042\u308b\u7406\u7531\u3067\u3057\u305f\u3002\u300d<\/p>\n<p>TS\u300c\u4e0d\u5909\u53c2\u7167\u304c\u5fc5\u8981\u3068\u3044\u3046\u3088\u308a\u306f\u3001\u4e0d\u5909\u53c2\u7167\u3067\u5341\u5206\u3063\u3066\u3053\u3068\u3060\u306d\u3002help\u306b\u66f8\u3044\u3066\u3044\u308b\u307f\u305f\u3044\u306bclone\u3092\u4f7f\u3063\u3066\u3082\u30a8\u30e9\u30fc\u306f\u6d88\u3048\u308b\u306e\u3060\u308d\u3046\u3051\u3069\u3001\u30af\u30ed\u30fc\u30f3\u3059\u308b\u307e\u3067\u3082\u306a\u3044\u3068\u3044\u3046\u611f\u3058&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u306f\u3044\u3001clone\u3092\u547c\u3073\u51fa\u3059\u5834\u5408\u3001\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306f\u500d\u306b\u5897\u3048\u307e\u3059\u3002\u4e00\u65b9\u3001\u4e0d\u5909\u53c2\u7167\u306a\u3089\u4f59\u8a08\u306a\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u56de\u907f\u3067\u304d\u307e\u3059\u3002arr\u672c\u4f53\u306e\u4ee3\u308f\u308a\u306b\u4e0d\u5909\u53c2\u7167\u3068\u3057\u3066\u30ea\u30bd\u30fc\u30b9\u3092&#8221;\u501f\u308a\u3066&#8221;\u3044\u308b\u306e\u3067\u3001\u53c2\u7167\u306e\u3053\u3068\u3092\u501f\u7528\u3068\u3082\u8a00\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>CSS\u300cclone\u3067\u601d\u3044\u51fa\u3057\u305f\u3051\u3069\u3001\u3055\u3063\u304d\u307e\u3067\u3053\u3093\u306a\u96e3\u3057\u3044\u8a71\u306a\u304b\u3063\u305f\u3088\u3046\u306a&#8230;\u3088\u304f\u3088\u304f\u601d\u3044\u8fd4\u3057\u3066\u307f\u308c\u3070\u3001\u6240\u6709\u6a29\u3067\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066\u3001\u53c2\u7167\u306e\u8a71\u304c\u56de\u907f\u3055\u308c\u3066\u3044\u304d\u306a\u308a\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u306e\u30b3\u30fc\u30c9\u306b\u305f\u3069\u308a\u7740\u3044\u3066\u3044\u305f\u3088\u306d&#8230;\u30a2\u30ec\uff1f\u3082\u3057\u304b\u3057\u3066\u6240\u6709\u6a29\u306e\u304a\u304b\u3052\u3067\u96e3\u3057\u3044\u53c2\u7167\u306e\u8a71\u3092\u56de\u907f\u3067\u304d\u3066\u3044\u305f&#8230;\uff1f\u300d<\/p>\n<p>TS\u300c\u79c1\u306e\u30b3\u30fc\u30c9\u306f\u8a00\u3046\u306a\u308c\u3070\u300e\u7121\u65ad\u501f\u7528\u300f\u72b6\u614b\u306b\u306a\u3063\u3066\u3044\u305f\u3051\u3069\u3001Rust\u3061\u3083\u3093\u306e\u5834\u5408\u306f\u6240\u6709\u6a29\u306e\u304a\u304b\u3052\u3067\u30ea\u30bd\u30fc\u30b9\u306e\u4f4d\u7f6e\u3084\u501f\u7528\u95a2\u4fc2\u304c\u306f\u3063\u304d\u308a\u3057\u3066\u3044\u308b\u3088\u306d\u3002\u300e\u3042\u3052\u3089\u308c\u306a\u3044\u30fb\u8cb8\u305b\u306a\u3044\u6642\u306f\u30af\u30ed\u30fc\u30f3\u300f\u3063\u3066\u3053\u3068\u3067\u3001\u53c2\u7167\u8a18\u53f7(&amp;)\u306a\u3057\u3067\u306f\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3057\u304b\u66f8\u3051\u306a\u304b\u3063\u305f\u306e\u304b\u3082\u3002\u300d<\/p>\n<p>Rust\u300c\u8a00\u308f\u308c\u3066\u307f\u308c\u3070\u3001\u6700\u521d\u306bTS\u3055\u3093\u306e\u30b3\u30fc\u30c9\u3092\u76f4\u611f\u7684\u306b\u7406\u89e3\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u306f\u3001\u3069\u3053\u306b\u501f\u7528&#8230;\u53c2\u7167\u304c\u751f\u3058\u3066\u3044\u308b\u306e\u304b\u308f\u304b\u3089\u306a\u304b\u3063\u305f\u304b\u3089\u3067\u3059\u306d\u3002\u300d<\/p>\n<p>CSS\u300c\u306a\u3093\u304b\u3082\u308d\u3082\u308d\u306e\u89e3\u6c7a\u306e\u7cf8\u53e3\u304c\u898b\u3048\u3066\u304d\u305f\u306d\u300d<\/p>\n<div>\n<p>\u3069\u3046\u3057\u3066\u95a2\u6570\u306e\u5f15\u6570\u3082\u6240\u6709\u6a29\u3092\u596a\u3046\u306e\u3067\u3057\u3087\u3046\u304b\uff1f\u8a73\u3057\u304f\u306f\u66f8\u304d\u307e\u305b\u3093\u304c\u30d2\u30f3\u30c8\u3092\u3002\u3053\u306e\u4ed5\u7d44\u307f\u3084clone\u3001\u305d\u3057\u3066\u5f8c\u8ff0\u3059\u308b\u53ef\u5909\u53c2\u7167\u3092\u5fdc\u7528\u3059\u308c\u3070\u300c\u5024\u6e21\u3057\u300d\u3068\u300c\u53c2\u7167\u6e21\u3057\u300d\u3092\u533a\u5225\u3057\u3066\u3069\u3061\u3089\u3082\u8a18\u8ff0\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3088\u306d\u3002\u3064\u307e\u308a\u90fd\u5408\u304c\u826f\u3044\u304b\u3089\u3067\u3059\u3002<br \/>\n\u5177\u4f53\u4f8b<\/p>\n<p>Rust<br \/>\n#[derive(Clone, Copy, Debug)]<br \/>\nstruct Hoge {<br \/>\nval: usize,<br \/>\n}<\/p>\n<p>fn value_watashi(mut hoge: Hoge) {<br \/>\nhoge.val = 100;<br \/>\nprintln!(&#8220;value_watashi: {:?}&#8221;, hoge);<br \/>\n}<\/p>\n<p>fn mutref_watashi(hoge: &amp;mut Hoge) {<br \/>\nhoge.val = 100;<br \/>\nprintln!(&#8220;mutref_watashi: {:?}&#8221;, hoge);<br \/>\n}<\/p>\n<p>fn main() {<br \/>\nlet mut hoge = Hoge { val: 0 };<br \/>\nvalue_watashi(hoge);<br \/>\nprintln!(&#8220;main: {:?}&#8221;, hoge);<br \/>\nmutref_watashi(&amp;mut hoge);<br \/>\nprintln!(&#8220;main: {:?}&#8221;, hoge);<br \/>\n}<\/p>\n<p>\u95a2\u6570\u306e\u5f15\u6570\u3082\u6240\u6709\u6a29\u3092\u596a\u3046\u3068\u3044\u3046\u3088\u308a\u306f\u3001\u300c\u5909\u6570\u304c\u8a55\u4fa1\u3055\u308c\u308b\u969b\u306f\u6240\u6709\u6a29\u8b72\u6e21\u304c\u8d77\u3053\u308b\u304b\u3082\u300d\u3068\u8003\u3048\u305f\u65b9\u304c\u81ea\u7136\u306a\u6349\u3048\u65b9\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u304a\u307e\u3051\u306eCopy\u30c8\u30ec\u30a4\u30c8\u306e\u7bc0\u3067\u3082\u89e3\u8aac\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u6240\u6709\u6a29\u8b72\u6e21\u304c\u884c\u308f\u308c\u308b\u4ed5\u69d8\u306e\u305f\u3081\u300c\u4f59\u8a08\u306a\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u907f\u3051\u308b\u300d\u3053\u3068\u304c\u3067\u304d\u3066\u3044\u307e\u3059\u3002<\/p>\n<\/div>\n<h2>\u53ef\u5909\u53c2\u7167<\/h2>\n<p>Rust\u300c\u6b21\u306f\u53ef\u5909\u53c2\u7167\u306b\u3064\u3044\u3066\u3067\u3059\u3002\u5148\u307b\u3069\u306e\u4f8b\u304c\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u306b\u306a\u3089\u306a\u3044\u3088\u3046\u306b\u66f8\u304d\u76f4\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr_mref<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"n\">arr_mref<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>Rust\u300c\u5909\u6570\u306e\u53ef\u5909\u53c2\u7167\u3092\u53d6\u308b\u306b\u306f\u3001\u5143\u306e\u5909\u6570\u304c\u53ef\u5909\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001let mut arr\u3068\u3057\u3066\u3044\u307e\u3059\u3002\u8a18\u6cd5\u3068\u3057\u3066\u9055\u3046\u306e\u306f&amp;\u3067\u306f\u306a\u304f&amp;mut\u3068\u3057\u3066\u3044\u308b\u70b9\u3067\u3059\u306d\u3002\u300d<\/p>\n<p>TS\u300c\u53ef\u5909\u53c2\u7167\u306f\u3069\u3093\u306a\u6642\u306b\u4f7f\u308f\u308c\u308b\u306e\uff1f\u300d<\/p>\n<p>Rust\u300c\u4e3b\u306b\u95a2\u6570\u547c\u3073\u51fa\u3057\u3067\u5f15\u6570\u306b\u526f\u4f5c\u7528\u304c\u751f\u3058\u308b(\u307e\u305f\u306f\u751f\u3058\u3055\u305b\u305f\u3044)\u5834\u5408\u306b\u4f7f\u3044\u307e\u3059\u3002\u95a2\u6570\u306b\u3064\u3044\u3066\u306f\u3001\u4f8b\u3048\u3070\u4ee5\u4e0b\u306b\u66f8\u304f\u30bd\u30fc\u30c8\u3068\u304b\u3067\u3059\u306d6\u3002\u4ed6\u306f\u3001\u7af6\u6280\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u7b49\u3067\u518d\u5e30\u95a2\u6570\u3067\u4f7f\u308f\u308c\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"c1\">\/\/ vec\u306e\u578b&amp;mut Vec&lt;usize&gt;\u306f\u3001vec\u304cVec&lt;usize&gt;\u578b\u306e\u5024\u306e\u53ef\u5909\u53c2\u7167\u3067\u3042\u308b\u3053\u3068\u3092\u8868\u3059<\/span>\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">sort_vec<\/span><span class=\"p\">(<\/span><span class=\"n\">vec<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"c1\">\/\/ select sort<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"k\">in<\/span> <span class=\"mi\">0<\/span><span class=\"o\">..<\/span><span class=\"n\">vec<\/span><span class=\"nf\">.len<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">min<\/span> <span class=\"o\">=<\/span> <span class=\"n\">i<\/span><span class=\"p\">;<\/span>\r\n        <span class=\"k\">for<\/span> <span class=\"n\">j<\/span> <span class=\"k\">in<\/span> <span class=\"n\">i<\/span><span class=\"o\">..<\/span><span class=\"n\">vec<\/span><span class=\"nf\">.len<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n            <span class=\"k\">if<\/span> <span class=\"n\">vec<\/span><span class=\"p\">[<\/span><span class=\"n\">j<\/span><span class=\"p\">]<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">vec<\/span><span class=\"p\">[<\/span><span class=\"n\">min<\/span><span class=\"p\">]<\/span> <span class=\"p\">{<\/span>\r\n                <span class=\"n\">min<\/span> <span class=\"o\">=<\/span> <span class=\"n\">j<\/span><span class=\"p\">;<\/span>\r\n            <span class=\"p\">}<\/span>\r\n        <span class=\"p\">}<\/span>\r\n        <span class=\"n\">vec<\/span><span class=\"nf\">.swap<\/span><span class=\"p\">(<\/span><span class=\"n\">i<\/span><span class=\"p\">,<\/span> <span class=\"n\">min<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">];<\/span>\r\n\r\n    <span class=\"nf\">sort_vec<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ &amp;mut \u3067\u5909\u6570\u306e\u53ef\u5909\u53c2\u7167\u304c\u53d6\u308c\u308b<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ [1, 1, 2, 3, 4, 5, 9]<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>Rust\u300c\u4f8b\u3048\u3070Python\u306b\u3042\u308bsorted\u307f\u305f\u3044\u306b\u3001\u5f15\u6570\u3067\u914d\u5217\u3092\u53d7\u3051\u53d6\u308a\u8fd4\u308a\u5024\u3067\u8fd4\u3059\u65b9\u6cd5\u3082\u8003\u3048\u3089\u308c\u307e\u3059\u304c\u3001\u305d\u308c\u3060\u3051\u3067\u306f\u4e0d\u4fbf\u3067\u30597\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">sorted<\/span><span class=\"p\">(<\/span><span class=\"k\">mut<\/span> <span class=\"n\">vec<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"c1\">\/\/ select sort<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"k\">in<\/span> <span class=\"mi\">0<\/span><span class=\"o\">..<\/span><span class=\"n\">vec<\/span><span class=\"nf\">.len<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"c1\">\/\/ omit details<\/span>\r\n    <span class=\"p\">}<\/span>\r\n\r\n    <span class=\"n\">vec<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">];<\/span>\r\n\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">sorted<\/span><span class=\"p\">(<\/span><span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>Rust\u300c\u95a2\u6570\u306e\u8fd4\u308a\u5024\u306b\u3059\u308b\u307b\u3069\u3067\u306f\u306a\u3044\u3001\u3057\u304b\u3057\u526f\u4f5c\u7528\u3092\u8d77\u3053\u3059\u305f\u3081\u306b\u53c2\u7167\u6e21\u3057\u3092\u884c\u3044\u305f\u3044\u3002\u305d\u3093\u306a\u6642\u306b\u4f7f\u3046\u3068\u52b9\u679c\u7684\u3067\u3059\u3002\u300d<\/p>\n<p>CSS\u300c(Rust\u3061\u3083\u3093\u3001\u81ea\u5206\u306e\u8a71\u304c\u3067\u304d\u3066\u697d\u3057\u304f\u306a\u3063\u3066\u304d\u3066\u308b\u306e\u304b\u306a\u3001\u9952\u820c\u3055\u304c\u30de\u30c3\u30af\u30b9\u306b&#8230;)\u300d<\/p>\n<p>TS\u300c\u53ef\u5909\u53c2\u7167&amp;mut\u304c\u3042\u308c\u3070\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u3092\u518d\u73fe\u3067\u304d\u305d\u3046\u3060\u306d\uff01\u300d<\/p>\n<p>Rust\u300c\u3044\u3048\u3001\u6b8b\u5ff5\u306a\u304c\u3089\u305d\u3046\u3067\u3082\u306a\u3044\u3093\u3067\u3059\u3002\u300d<\/p>\n<h2>\u53c2\u7167\u306b\u95a2\u3059\u308b\u5236\u7d04<\/h2>\n<p>Rust\u300c\u3053\u3053\u307e\u3067\u306e\u8aac\u660e\u306b\u52a0\u3048\u3001&amp;\u3068&amp;mut\u306b\u306f\u4ee5\u4e0b\u306b\u793a\u3059\u5236\u7d04\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u5236\u7d04\u306e\u305f\u3081\u3001\u3042\u308b\u3042\u308b\u3092\u5b9f\u73fe\u3067\u304d\u307e\u305b\u3093\u3002\u300d<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u3042\u308b\u5909\u6570\u3078\u306e\u53c2\u7167\u306f\u3001\u4e0d\u5909\u53c2\u7167\u304b\u53ef\u5909\u53c2\u7167\u306e\u3001\u3069\u3061\u3089\u304b\u7247\u65b9\u306e\u7a2e\u985e\u306e\u53c2\u7167\u306e\u307f\u3057\u304b\u540c\u6642\u306b\u5b58\u5728\u3067\u304d\u306a\u3044<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u4e0d\u5909\u53c2\u7167\u306f\u540c\u6642\u306b\u8907\u6570\u5b58\u5728\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u53ef\u5909\u53c2\u7167\u306f\u4e00\u3064\u3057\u304b\u5b58\u5728\u3067\u304d\u306a\u3044<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\u53c2\u7167\u306f\u5909\u6570\u306e\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u304c\u6709\u52b9\u306a\u7bc4\u56f2\u3067\u306e\u307f\u5b58\u5728\u3067\u304d\u308b(\u5f8c\u8ff0)<\/ol>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/189-0.png\" alt=\"image.png\" \/><\/div>\n<p>CSS\u300c\u4e0d\u5909\u304b\u53ef\u5909\u304b\u3060\u3051\u3067\u982d\u304c\u75db\u3044\u306e\u306b\u306a\u3093\u304b\u591a\u3044\u306a&#8230;\uff1f\u306a\u305c\u3053\u3093\u306a\u306b\u5236\u7d04\u304c&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u6700\u5f8c\u306b\u793a\u3057\u305f\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u306e\u8a71\u306f\u4e00\u65e6\u5f8c\u306b\u3059\u308b\u3068\u3057\u3066\u3001\u6700\u521d\u306e3\u3064\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002\u4f55\u304b\u308f\u304b\u308a\u3084\u3059\u3044\u4f8b\u3048&#8230;\u305d\u3046\u3067\u3059\u306d&#8230;\u300d\uff76\uff81\uff76\uff81\uff6f<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/192-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u3053\u308c\u306f&#8230;\u4f1a\u8a08\u517c\u4e88\u7b97\u7de8\u6210\u59d4\u54e1\u4f1a\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8&#8230;\uff1f\u3057\u304b\u3082\u5171\u540c\u7de8\u96c6\u4e2d\u307f\u305f\u3044\u3060\u3051\u3069\u300d<\/p>\n<p>CSS\u300c\u306a\u3093\u3067Rust\u3061\u3083\u3093\u306b\u30a2\u30af\u30bb\u30b9\u6a29\u304c&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u79c1\u306f\u4f1a\u8a08\u517c\u4e88\u7b97\u7de8\u6210\u59d4\u54e1\u4f1a\u3082\u517c\u4efb\u3057\u3066\u3044\u307e\u3059\u304b\u3089\u3002\u300d<\/p>\n<p>TS\u300c\u3078\u30fc\u3001\u3068\u3044\u3046\u3053\u3068\u306fRust\u3061\u3083\u3093\u306f\u7f8e\u5316\u517c\u4f1a\u8a08\u517c\u4e88\u7b97\u7de8\u6210\u59d4\u54e1\u306a\u3093\u3060\u306d\u300d<\/p>\n<p>CSS\u300cRust\u3061\u3083\u3093\u4e88\u7b97\u7de8\u6210\u59d4\u54e1\u3082\u30b5\u30dc\u3063\u3066\u308b\u3093\uff1f\u30b5\u30dc\u308b\u304f\u305b\u306b\u517c\u4efb\u3057\u3066\u308b\u3093\uff1f\uff1f\u305d\u3057\u3066\u305d\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306f\u79c1\u305f\u3061\u306b\u898b\u305b\u3066\u5927\u4e08\u592b\u306a\u306e\u304b&#8230;\uff1f\uff01\u300d<\/p>\n<p>\u30c4\u30c3\u30b3\u30df\u304c\u8ffd\u3044\u4ed8\u3044\u3066\u3044\u306a\u3044CSS\u3061\u3083\u3093\u306a\u306e\u3067\u3042\u3063\u305f\u3002\u305d\u308c\u306b\u3057\u3066\u3082Rust\u3061\u3083\u3093\u3001\u7d50\u69cb\u5ea6\u80f8\u3042\u308b\u306a\u3041<\/p>\n<blockquote><p>\u4e00\u65b9\u305d\u306e\u9803\u3001\u4f1a\u8a08\u517c\u4e88\u7b97\u7de8\u6210\u59d4\u54e1\u4f1a\u3067\u306f&#8230;<br \/>\nHaskell\u300c\u3069\u306e\u90e8\u6d3b\u52d5\u3082ChatGPT\u304c\u3069\u3046\u306e\u3068\u304bNovel AI\u304c\u3069\u3046\u306e\u3068\u304b\u3067\u30b5\u30d6\u30b9\u30af\u5165\u308a\u3059\u304e\u3067\u3059\u308f\uff01\u3068\u3066\u3082\u3058\u3083\u306a\u3044\u3051\u3069\u627f\u8a8d\u3067\u304d\u306a\u3044\u308f\u3002\u300d<br \/>\nElixir\u300c\u305d\u3046\u3067\u3059\u306d\u3002\u7279\u306b\u59d4\u54e1\u4f1a\u3092\u4e2d\u5fc3\u306b\u4e88\u7b97\u3092\u6e1b\u3089\u3057\u307e\u3057\u3087\u3046\u3002\u300d<br \/>\nHaskell\u300c\u3067\u306f\u79c1\u304c\u7de8\u96c6\u3059\u308b\u306e\u3067\u7bc4\u56f2\u306b\u30ed\u30c3\u30af\u3092\u639b\u3051\u307e\u3059\u308f\u300d<\/p><\/blockquote>\n<p>Rust\u300c\u3042\u3001\u5909\u5316\u304c\u3042\u308a\u307e\u3057\u305f\u3088\u300d<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/201-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u98a8\u7d00\u59d4\u54e1\u4f1a\u304c\u7db2\u639b\u3051\u306b\u306a\u3063\u305f\u306d\u3002\u3053\u306e\u7bc4\u56f2\u306b\u30ed\u30c3\u30af\u304c\u639b\u3051\u3089\u308c\u3066\u7de8\u96c6\u304c\u3067\u304d\u306a\u304f\u306a\u3063\u3066\u308b&#8230;\uff1f\u3042\u3001\u5024\u304c\u5909\u308f\u3063\u305f\u300d<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/203-0.png\" alt=\"image.png\" \/><\/div>\n<blockquote><p>Haskell\u300c\u98a8\u7d00\u59d4\u54e1\u306e\u65b9\u305f\u3061\u306bChatGPT\u306a\u3093\u3066\u4e0d\u8981\u3067\u3059\u308f\uff019000\u5186\u3067\u3088\u308d\u3057\u304f\u3066\u3088\u300d<br \/>\nElixir\u300c\u3055\u3059\u304c\u306b\u53cd\u767a\u304c\u8d77\u304d\u308b\u306e\u3067\u306f&#8230;\u300d<br \/>\nHaskell\u300c\u305d\u308c\u3082\u305d\u3046\u3067\u3059\u308f\u306d\u3002\u3067\u306f\u53bb\u5e74\u3068\u540c\u3058\u306790000\u5186\u3068\u3044\u3046\u3053\u3068\u3067\u300d<br \/>\nElm\u300c(\u304a\u59c9\u3055\u307e\u304c\u59d4\u54e1\u9577\u306b\u306a\u3063\u3066\u304b\u3089\u3053\u306e\u59d4\u54e1\u4f1a\u4e0d\u5b89\u3057\u304b\u306a\u3044\u4ef6\u306b\u3064\u3044\u3066)\u300d<\/p><\/blockquote>\n<p>CSS\u300c\u3055\u3059\u304c\u306b9000\u5186\u306f\u4f55\u304b\u306e\u9593\u9055\u3044\u3067\u3057\u3087\u3002\u7de8\u96c6\u4e2d\u306a\u3093\u3058\u3083\u306a\u3044\uff1f\u300d<\/p>\n<p>Rust\u300c\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u3053\u308c\u3092\u4e0d\u5909\u3068\u3057\u3066\u6349\u3048\u308b\u306e\u306f\u907f\u3051\u305f\u307b\u3046\u304c\u3044\u3044\u3067\u3059\u306d\u3002\u5177\u4f53\u7684\u306b\u306f\u3001\u7db2\u639b\u3051\u304c\u3042\u308b\u9593\u306f\u3053\u306e\u7bc4\u56f2\u3092\u30b3\u30d4\u30da\u3059\u308b\u306e\u306f\u907f\u3051\u308b\u3079\u304d\u3067\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u3042\u3063\uff011\u756a\u306e\u300e\u4e0d\u5909\u53c2\u7167\u304b\u53ef\u5909\u53c2\u7167\u306e\u3001\u3069\u3061\u3089\u304b\u7247\u65b9\u306e\u7a2e\u985e\u306e\u53c2\u7167\u306e\u307f\u3057\u304b\u540c\u6642\u306b\u5b58\u5728\u3067\u304d\u306a\u3044\u300f\u3060\u306d\uff01\u300d<\/p>\n<p>CSS\u300c\u53ef\u5909\u53c2\u7167\u3067Haskell\u59d4\u54e1\u9577\uff1f\u304c\u7de8\u96c6\u4e2d\u3060\u304b\u3089\u3001\u4e0d\u5909\u53c2\u7167\u306f\u53d6\u308c\u306a\u3044\u3063\u3066\u3053\u3068\u304b\u300d<\/p>\n<blockquote><p>Haskell\u300c\u3064\u3044\u3067\u306b\u7f8e\u5316\u59d4\u54e1\u4f1a\u306e\u5974\u3089\u306e\u4e88\u7b97\u3082\u6e1b\u3089\u3057\u3066\u3084\u308a\u307e\u3057\u3087\u3002\u304a\u30fc\u3063\u307b\u3063\u307b\u3063\u307b\u300d<br \/>\nElm\u300c(\u304a\u59c9\u3055\u307e\u3044\u3064\u304b\u3089\u3053\u3093\u306a\u30ad\u30e3\u30e9\u306b\u306a\u3063\u305f\u3093\u3060\u3063\u3051&#8230;)\u300d<\/p><\/blockquote>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/210-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u3042\u30fc\uff0d\uff01\uff01\u306a\u3093\u304b\u3064\u3044\u3067\u306b\u79c1\u305f\u3061\u306e\u4e88\u7b97\u307e\u3067\u6e1b\u3089\u3055\u308c\u3066\u3044\u308b\u3093\u3060\u3051\u3069\uff01\uff01\uff01Rust\u3061\u3083\u3093\u76f4\u305b\u306a\u3044&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u30ed\u30c3\u30af\u304c\u639b\u3051\u3089\u308c\u3066\u3044\u308b\u306e\u3067\u7121\u7406\u3067\u3059\u306d\u3002\u305d\u308c\u306b\u3082\u3057\u30ed\u30c3\u30af\u304c\u639b\u304b\u3089\u306a\u3044\u3082\u306e\u3068\u3057\u3066\u3001\u540c\u6642\u306b\u7de8\u96c6\u3057\u305f\u3089\u4ec1\u7fa9\u306a\u304d\u7de8\u96c6\u5408\u6226\u306e\u7121\u9650\u30eb\u30fc\u30d7\u306b\u306a\u308a\u307e\u3059&#8230;\u300d<\/p>\n<p>CSS\u300c\u3042\u3063\u3001\u3053\u308c\u304c3\u756a\u306e\u300e\u53ef\u5909\u53c2\u7167\u306f\u4e00\u3064\u3057\u304b\u5b58\u5728\u3067\u304d\u306a\u3044\u300f\u3063\u3066\u3053\u3068\u304b\u3002\u78ba\u304b\u306b\u540c\u6642\u306b\u8907\u6570\u306e\u5834\u6240\u304b\u3089\u5909\u66f4\u3055\u308c\u308b\u3068\u6df7\u4e71\u3057\u3061\u3083\u3046\u304b\u3082\u300d<\/p>\n<p>TS\u300c\u3061\u3087\u3063\u3068&#8230;\u8ab0\u304b&#8230;\u4e88\u7b97\u6e1b\u984d\u3092&#8230;\u6b62\u3081\u3066&#8230;\u300d<\/p>\n<blockquote><p>Haskell\u300c\u4eca\u65e5\u306f\u3053\u3093\u306a\u3068\u3053\u308d\u3067\u3059\u308f\u306d\u3002\u304a\u75b2\u308c\u69d8\u3067\u3057\u305f\u308f\u3002\u300d<br \/>\nElixir\u300c\u304a\u75b2\u308c\u3055\u307e\u3067\u3057\u305f\u30fc\u300d<br \/>\nElm\u300c(\u975e\u627f\u8a8d\u306e\u307e\u307e\u3060\u3057\u8272\u3005\u96d1\u3059\u304e\u3060\u308d\u3002\u3066\u304b\u30ed\u30c3\u30af\u639b\u3051\u308b\u610f\u5473\u3063\u3066\u3042\u3063\u305f\u3093\u304b\uff1f)\u300d<\/p><\/blockquote>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/216-0.png\" alt=\"image.png\" \/><\/div>\n<p>CSS\u300c\u7db2\u639b\u3051\u304c\u6d88\u3048\u3066\u4eba\u5f71\u3082\u6d88\u3048\u305f&#8230;\u300d<\/p>\n<p>TS\u300c\u3048\u3063\u3068\u3001\u3082\u3046\u53ef\u5909\u3067\u306f\u306a\u304f\u306a\u3063\u305f\u306e\u3060\u308d\u3046\u3057\u4e0d\u5909\u3068\u6349\u3048\u3066\u30b3\u30d4\u30da\u3067\u304d\u308b\u306d\u30012\u756a\u306e\u300e\u4e0d\u5909\u53c2\u7167\u306f\u540c\u6642\u306b\u8907\u6570\u5b58\u5728\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u300f\u304b\u306a&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u4f8b\u3048\u3068\u3057\u3066\u7121\u7406\u304c\u3042\u308a\u305d\u3046\u3067\u3059\u304c\u305d\u3093\u306a\u3068\u3053\u308d\u3067\u3059\u306d\u3002\u300d<\/p>\n<p>CSS\u300c\u5236\u7d04\u306e\u7406\u7531\u306f\u306a\u3093\u3068\u306a\u304f\u308f\u304b\u3063\u305f\u3051\u3069\u3001\u305d\u308c\u304c\u3069\u3046\u3057\u3066\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u304c\u5b9f\u73fe\u3067\u304d\u306a\u3044\u3053\u3068\u306b\u3064\u306a\u304c\u308b\u306e&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u4e3b\u306b1\u756a\u306e\u300e\u4e0d\u5909\u53c2\u7167\u304b\u53ef\u5909\u53c2\u7167\u306e\u3001\u3069\u3061\u3089\u304b\u7247\u65b9\u306e\u7a2e\u985e\u306e\u53c2\u7167\u306e\u307f\u3057\u304b\u540c\u6642\u306b\u5b58\u5728\u3067\u304d\u306a\u3044\u300f\u304c\u52b9\u3044\u3066\u304d\u307e\u3059\u3002\u5b9f\u969b\u306b\u66f8\u3044\u3066\u307f\u308c\u3070\u308f\u304b\u308b\u304b\u306a\u3068\u3002\u300d<\/p>\n<p>TS\u300c\u3084\u3063\u3066\u307f\u308b\uff01\u300d<\/p>\n<h2>\u300c\u3042\u308b\u3042\u308b\u300d\u3092\u53ef\u5909\u53c2\u7167\u3067\u66f8\u3044\u3066\u307f\u308b<\/h2>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">];<\/span>\r\n    \r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u6848\u306e\u5b9a\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u306d&#8230;\u300d<\/p>\n<pre class=\"post-pre\"><code>error[E0502]: cannot borrow `arr` as immutable because it is also borrowed as mutable\r\n  --&gt; main.rs:26:28\r\n   |\r\n22 |     let arr2: &amp;mut Vec&lt;Vec&lt;usize&gt;&gt; = &amp;mut arr;\r\n   |                                      -------- mutable borrow occurs here\r\n...\r\n26 |     println!(\"arr = {:?}\", arr);\r\n   |                            ^^^ immutable borrow occurs here\r\n27 |     println!(\"arr2 = {:?}\", arr2);\r\n   |                             ---- mutable borrow later used here\r\n   |\r\n   = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)\r\n\r\nerror: aborting due to previous error\r\n\r\nFor more information about this error, try `rustc --explain E0502`.\r\n<\/code><\/pre>\n<p>Rust\u300c\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u306f\u308f\u304b\u308a\u306b\u304f\u3044\u3067\u3059\u304c\u3001println!\u95a2\u6570(\u30db\u30f3\u30c8\u306f\u30de\u30af\u30ed\u3060\u3051\u3069\u3068\u308a\u3042\u3048\u305a\u95a2\u6570\u3068\u8a00\u3063\u3066\u304a\u3053\u3046&#8230;)\u306f\u5909\u6570\u306e\u4e0d\u5909\u53c2\u7167\u3092\u53d6\u308b\u3088\u3046\u306b\u3067\u304d\u3066\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u305d\u3063\u304b\u3001arr2\u3067\u53ef\u5909\u53c2\u7167\u501f\u7528\u4e2d\u3060\u304b\u3089\u3001arr\u306e\u4e0d\u5909\u53c2\u7167\u304c\u53d6\u308c\u306a\u304f\u3066\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066\u308b\u3093\u3060\u306d&#8230;\u300d<\/p>\n<p>Rust\u300carr\u306e\u51fa\u529b\u3092\u6700\u5f8c\u306b\u6301\u3063\u3066\u3044\u3051\u3070\u3001arr2\u304c\u3082\u3046\u4f7f\u308f\u308c\u306a\u3044\u305f\u3081\u3001\u53ef\u5909\u53c2\u7167\u306f\u81ea\u52d5\u3067\u7121\u52b9\u5316\u3055\u308c\u308b\u306e\u3067\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u901a\u308a\u307e\u3059\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">];<\/span>\r\n    \r\n    <span class=\"c1\">\/\/ println!(\"arr = {:?}\", arr); \/\/ \u3053\u3053\u3067\u306e\u51fa\u529b\u306f\u8ae6\u3081\u308b<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"c1\">\/\/ println!(\"arr = {:?}\", arr); \/\/ \u3053\u3053\u3067\u306e\u51fa\u529b\u306f\u8ae6\u3081\u308b<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n    \r\n    <span class=\"c1\">\/\/ \u3053\u3053\u3067arr2\u304c\u81ea\u52d5\u7684\u306b\u7121\u52b9\u5316\u3055\u308c\u308b<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\n<span class=\"nv\">$ <\/span>.\/main\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>1, 2, 3], <span class=\"o\">[<\/span>7, 8, 9]]\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>10, 2, 3], <span class=\"o\">[<\/span>7, 8, 9]]\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>10, 2, 3], <span class=\"o\">[<\/span>7, 8, 9]]\r\n<\/code><\/pre>\n<p>CSS\u300c\u3042\u308c\uff1f\u5b9f\u884c\u7d50\u679c\u304cTS\u3061\u3083\u3093\u306e\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u3068\u5168\u7136\u9055\u304f\u306a\u3044&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u8aac\u660e\u3092\u7c21\u5358\u306b\u3059\u308b\u305f\u3081\u306barr2\u306farr\u81ea\u4f53\u306e\u53ef\u5909\u53c2\u7167\u3068\u3057\u305f\u306e\u304c\u539f\u56e0\u3067\u3059\u306d\u3002\u56f3\u306b\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/234-0.png\" alt=\"image.png\" \/><\/div>\n<p>CSS\u300c\u5143\u306e\u56f3\u306f\u3053\u3063\u3061\u3060\u306d\u3002\u300d<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/236-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u3046\u30fc\u3093\u3068&#8230;\u3048\u30fc\u3063\u3068&#8230;\u3042\u30fc\u3093\u3068&#8230;\u3042\u3063\u3001\u300e\u53c2\u7167\u306e\u914d\u5217\u300f\u304c\u5fc5\u8981\u3067\u305d\u308c\u305e\u308c\u306e\u914d\u5217\u81ea\u4f53\u306e\u6240\u6709\u6a29\u306farr\u3068arr2\u306e\u305d\u308c\u305e\u308c\u306b\u3042\u308b\u611f\u3058&#8230;\uff1f\u3067\u3082\u96e3\u3057\u305d\u3046\u3060\u3088\u3049\u300d<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/238-0.png\" alt=\"image.png\" \/><\/div>\n<p>Rust\u300c\u3055\u3059\u304c\u306b\u3053\u308c\u306f\u79c1\u304c\u66f8\u304d\u307e\u3059\u306d\u3002\u3053\u3093\u306a\u611f\u3058\u3067\u3057\u3087\u3046\u304b\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">],<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"nf\">.iter_mut<\/span><span class=\"p\">()<\/span><span class=\"nf\">.collect<\/span><span class=\"p\">();<\/span>\r\n\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">new_vec<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">];<\/span>\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"n\">new_vec<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"c1\">\/\/ println!(\"arr = {:?}\", arr); \/\/ \u3053\u3053\u3067\u306e\u51fa\u529b\u306f\u8ae6\u3081\u308b<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"c1\">\/\/ println!(\"arr = {:?}\", arr); \/\/ \u3053\u3053\u3067\u306e\u51fa\u529b\u306f\u8ae6\u3081\u308b<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n    \r\n    <span class=\"c1\">\/\/ \u3053\u3053\u3067arr2\u304c\u81ea\u52d5\u7684\u306b\u7121\u52b9\u5316\u3055\u308c\u308b<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>Rust\u300c\u6700\u7d42\u7684\u306aarr\u3068arr2\u306e\u72b6\u614b\u306f\u5e0c\u671b\u3068\u4e00\u81f4\u3057\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002\u300d<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\n<span class=\"nv\">$ <\/span>.\/main\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>1, 2, 3], <span class=\"o\">[<\/span>7, 8, 9]]\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>10, 2, 3], <span class=\"o\">[<\/span>7, 8, 9]]\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[[<\/span>10, 2, 3], <span class=\"o\">[<\/span>4, 5, 6]]\r\n<\/code><\/pre>\n<p>TS\u300c\u5927\u304d\u304f\u5909\u308f\u3063\u305f\u306e\u306f<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"nf\">.iter_mut<\/span><span class=\"p\">()<\/span><span class=\"nf\">.collect<\/span><span class=\"p\">();<\/span>\r\n\r\n<span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">new_vec<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">];<\/span>\r\n<span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"n\">new_vec<\/span><span class=\"p\">;<\/span>\r\n<\/code><\/pre>\n<p>\u306e\u90e8\u5206\u3060\u306d\u300d<\/p>\n<p>Rust\u300c\u306f\u3044\u3002Vec&lt;&amp;mut Vec&gt;\u306b\u6ce8\u76ee\u3059\u308b\u3068\u3001arr2\u304c\u300e\u53c2\u7167\u306e\u914d\u5217\u300f\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002iter_mut\u306f\u300e\u8981\u7d20(\u3053\u3053\u3067\u306fVec\u578b\u306e\u5024\u304c\u8981\u7d20)\u305d\u308c\u305e\u308c\u3078\u306e\u53ef\u5909\u53c2\u7167\u306e\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u5f97\u308b\u300f\u30e1\u30bd\u30c3\u30c9\u3067\u3001collect\u306f\u300e\u30a4\u30c6\u30ec\u30fc\u30bf\u304b\u3089\u65b0\u3057\u3044\u914d\u5217(\u306a\u3069)\u3092\u5f97\u308b\u300f\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u300e\u53c2\u7167\u306e\u914d\u5217\u300f\u304c\u5f97\u3089\u308c\u307e\u3059\u3002\u300d<\/p>\n<p>CSS\u300c\u308f\u3056\u308f\u3056new_vec\u3068\u3044\u3046\u5909\u6570\u3092\u8a2d\u3051\u3066\u3044\u308b\u306e\u306f\u306a\u305c\uff1f\u300d<\/p>\n<p>Rust\u300c4\u756a\u306e\u300e\u53c2\u7167\u306f\u5909\u6570\u306e\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u304c\u6709\u52b9\u306a\u7bc4\u56f2\u3067\u306e\u307f\u5b58\u5728\u3067\u304d\u308b\u300f\u306e\u5f71\u97ff\u3067\u3059\u3002&amp;mut vec![7, 8 ,9]\u3068\u3057\u3066\u3057\u307e\u3046\u3068\u3001vec![7, 8, 9]\u3092\u6240\u6709\u3059\u308b\u5909\u6570\u304c\u5b58\u5728\u3057\u306a\u3044\u3053\u3068\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300c&amp;mut\u306f\u3042\u304f\u307e\u3067\u3082\u501f\u7528\u3060\u3082\u3093\u306d\u3002\u8cb8\u3057\u3066\u304f\u308c\u308b\u76f8\u624b&#8230;\u53c2\u7167\u5148\u304c\u3044\u306a\u3051\u308c\u3070\u305d\u3082\u305d\u3082\u501f\u308a\u3089\u308c\u306a\u3044\u308f\u3051\u3060\u300d<\/p>\n<p>Rust\u300c\u306f\u3044\u3001\u3067\u3059\u304b\u3089\u3001\u4f55\u304b\u3057\u3089\u306e\u5909\u6570\u306bvec![7, 8, 9]\u3092\u675f\u7e1b\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u306e\u3067\u3001new_vec\u306b\u675f\u7e1b\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u300d<\/p>\n<p>TS\u300c&#8230;\u3061\u3087\u3063\u3068\u5f85\u3063\u3066&#8230;\uff1farr\u3068arr2\u306e\u578b\u3063\u3066\u4e00\u81f4\u3057\u3066\u3044\u306a\u3044\u3068\u304a\u304b\u3057\u304f\u306a\u3044&#8230;\uff1f\u4eca\u3063\u3066\u56f3\u306b\u3059\u308b\u3068\u3053\u3046\u3044\u3046\u72b6\u614b\u3067\u306f&#8230;\uff1f\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/252-0.png\" alt=\"image.png\" \/><\/div>\n<p>CSS\u300c\u305d\u308c\u306b\u7d50\u5c40\u9014\u4e2d\u306earr\u306e\u72b6\u614b\u3092\u51fa\u529b\u3067\u304d\u3066\u306a\u3044\u3088\u306d\u3002\u300d<\/p>\n<p>Rust\u300c\u6c17\u3065\u3044\u3061\u3083\u3044\u307e\u3057\u305f\u304b&#8230;\u3053\u308c\u304c\u300e\u307e\u3060\u3042\u308b\u3042\u308b\u3092\u5b9f\u73fe\u3067\u304d\u306a\u3044\u300f\u3068\u8a00\u3063\u305f\u7406\u7531\u3067\u3059\u3002\u6b63\u78ba\u306b\u8868\u73fe\u3059\u308b\u306b\u306f\u3001\u3082\u3046\u5c11\u3057\u7d30\u5de5\u304c\u5fc5\u8981\u3067\u3059\u3002\u300d<\/p>\n<h1>\u53c2\u7167\u306e\u5236\u7d04\u3092\u8d85\u3048\u305f\u3044: Rc \u3068 RefCell<\/h1>\n<h2>RefCell<\/h2>\n<p>Rust\u300c\u6700\u5f8c\u306e\u30b3\u30fc\u30c9\u3067\u554f\u984c\u3068\u306a\u308b\u306e\u306f\u30013\u756a\u306e\u300e\u53ef\u5909\u53c2\u7167\u306f\u4e00\u3064\u3057\u304b\u5b58\u5728\u3067\u304d\u306a\u3044\u300f\u3067\u3059\u3002arr\u3068arr2\u306e\u578b\u3092\u4e00\u81f4\u3055\u305b\u5bfe\u7b49\u306b\u3059\u308b\u306b\u306f\u3001\u4e21\u65b9\u3068\u3082Vec&lt;&amp;mut Vec&gt;\u578b\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u304c\u3001Vec\u3078\u306e\u53ef\u5909\u53c2\u7167\u306f\u305d\u308c\u305e\u308c\u306b\u3064\u3044\u3066\u4e00\u3064\u3057\u304b\u53d6\u308c\u306a\u3044\u306e\u3067\u3001arr\u3068arr2\u306f\u540c\u6642\u306b\u5b58\u5728\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u300d<\/p>\n<p>TS\u300c\u78ba\u304b\u306b&#8230;\u5143\u306f\u3068\u8a00\u3048\u3070\u3001arr\u3068arr2\u304c\u3069\u3061\u3089\u304b\u3089\u3082\u304a\u4e92\u3044\u5171\u901a\u306e\u53c2\u7167\u5148\u3092\u5909\u66f4\u3067\u304d\u3066\u3057\u307e\u3046\u306e\u304c\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u306e\u554f\u984c\u70b9\u3060\u3082\u3093\u306d\u3002\u305d\u3046\u3044\u3046\u30b3\u30fc\u30c9\u306f\u305d\u3082\u305d\u3082\u66f8\u3051\u306a\u3044\u306e\u304b\u3002\u300d<\/p>\n<p>Rust\u300c\u305d\u306e\u7121\u7406\u3092\u62bc\u3057\u901a\u3059\u305f\u3081\u3001\u3082\u3046\u5c11\u3057\u67d4\u8edf\u306a&#8221;\u53ef\u5909\u53c2\u7167\u3063\u307d\u3044\u3082\u306e&#8221;\u3092\u4f7f\u3044\u307e\u3059\u3002\u300e\u53ef\u5909\u53c2\u7167\u4e2d\u300f\u304b\u3069\u3046\u304b\u306f\u3001\u901a\u5e38\u30b3\u30f3\u30d1\u30a4\u30eb\u524d\u306b\u8abf\u3079\u3089\u308c\u308b\u306e\u3067\u3059\u304c\u3001\u3053\u306e\u501f\u7528\u30c1\u30a7\u30c3\u30af\u3092\u30e9\u30f3\u30bf\u30a4\u30e0\u6642\u306b\u884c\u3046\u3001RefCell\u578b\u304c\u305d\u308c\u3067\u3059\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<ul class=\"post-ul\">RefCell\u3068\u5185\u90e8\u53ef\u5909\u6027\u30d1\u30bf\u30fc\u30f3 &#8211; The Rust Programming Language \u65e5\u672c\u8a9e\u7248<\/ul>\n<pre class=\"post-pre\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">cell<\/span><span class=\"p\">::{<\/span><span class=\"n\">RefCell<\/span><span class=\"p\">,<\/span> <span class=\"n\">RefMut<\/span><span class=\"p\">,<\/span> <span class=\"n\">BorrowMutError<\/span><span class=\"p\">};<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">x<\/span><span class=\"p\">:<\/span> <span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">y<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">x<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">z<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">x<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"p\">{<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"n\">x_mr<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">i32<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"o\">*<\/span><span class=\"n\">y<\/span><span class=\"nf\">.borrow_mut<\/span><span class=\"p\">();<\/span>\r\n        <span class=\"o\">*<\/span><span class=\"n\">x_mr<\/span> <span class=\"o\">+=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"p\">}<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"x = {:?}, y = {:?}, z = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">x<\/span><span class=\"p\">,<\/span> <span class=\"n\">y<\/span><span class=\"p\">,<\/span> <span class=\"n\">z<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"o\">*<\/span><span class=\"n\">z<\/span><span class=\"nf\">.borrow_mut<\/span><span class=\"p\">()<\/span> <span class=\"o\">+=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"x = {:?}, y = {:?}, z = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">x<\/span><span class=\"p\">,<\/span> <span class=\"n\">y<\/span><span class=\"p\">,<\/span> <span class=\"n\">z<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"c1\">\/\/ \u53ef\u5909\u53c2\u7167\u304c\u8907\u6570\u3042\u308b\u5834\u5408\u306b\u501f\u7528\u3067\u304d\u306a\u3044\u3053\u3068\u3092\u78ba\u8a8d<\/span>\r\n    <span class=\"p\">{<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"n\">x_mr<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"nb\">i32<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"o\">*<\/span><span class=\"n\">y<\/span><span class=\"nf\">.borrow_mut<\/span><span class=\"p\">();<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"nf\">Ok<\/span><span class=\"p\">(<\/span><span class=\"n\">x_mr_2<\/span><span class=\"p\">):<\/span> <span class=\"nb\">Result<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">RefMut<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">,<\/span> <span class=\"n\">BorrowMutError<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">z<\/span><span class=\"nf\">.try_borrow_mut<\/span><span class=\"p\">()<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\r\n            <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"x is already borrowed\"<\/span><span class=\"p\">);<\/span>\r\n            <span class=\"k\">return<\/span><span class=\"p\">;<\/span>\r\n        <span class=\"p\">};<\/span>\r\n\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"x_mr = {:?}, x_mr_2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">x_mr<\/span><span class=\"p\">,<\/span> <span class=\"n\">x_mr_2<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\n<span class=\"nv\">$ <\/span>.\/main\r\nx <span class=\"o\">=<\/span> RefCell <span class=\"o\">{<\/span> value: 6 <span class=\"o\">}<\/span>, y <span class=\"o\">=<\/span> RefCell <span class=\"o\">{<\/span> value: 6 <span class=\"o\">}<\/span>, z <span class=\"o\">=<\/span> RefCell <span class=\"o\">{<\/span> value: 6 <span class=\"o\">}<\/span>\r\nx <span class=\"o\">=<\/span> RefCell <span class=\"o\">{<\/span> value: 7 <span class=\"o\">}<\/span>, y <span class=\"o\">=<\/span> RefCell <span class=\"o\">{<\/span> value: 7 <span class=\"o\">}<\/span>, z <span class=\"o\">=<\/span> RefCell <span class=\"o\">{<\/span> value: 7 <span class=\"o\">}<\/span>\r\nx is already borrowed\r\n<\/code><\/pre>\n<p>Rust\u300cRefCell\u306f\u53ef\u5909\u53c2\u7167\u305d\u306e\u3082\u306e\u3067\u306f\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u300e\u30e9\u30f3\u30bf\u30a4\u30e0\u6642\u3001\u4e00\u6642\u7684\u306b\u53ef\u5909\u3092\u5f97\u308b\u300f\u3053\u3068\u304c\u3067\u304d\u308b\u69cb\u9020\u4f53\u3067\u3059\u3002\u300d<\/p>\n<p>TS\u300cy\u3084z\u306fx\u3078\u306e\u53ef\u5909\u53c2\u7167\u3058\u3083\u306a\u304f\u3066\u3001\u300e\u53ef\u5909\u53c2\u7167\u3092\u4e00\u6642\u7684\u306b\u5f97\u3089\u308c\u308bRefCell\u3078\u306e\u4e0d\u5909\u53c2\u7167\u300f\u3060\u304b\u3089\u5171\u5b58\u3067\u304d\u308b\u308f\u3051\u3060\u306d\u3002\u300d<\/p>\n<p>Rust\u300c\u306f\u3044\u3002\u305d\u3057\u3066\u30e9\u30f3\u30bf\u30a4\u30e0\u6642\u306b\u3066\u53ef\u5909\u53c2\u7167\u3092\u5f97\u308b\u969b\u306b\u53ef\u5909\u53c2\u7167\u304c\u8907\u6570\u306a\u3044\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u3059\u3067\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u30d1\u30cb\u30c3\u30af\u306b\u306a\u308a\u307e\u3059\u3002\u300d<\/p>\n<p>CSS\u300cRust\u3061\u3083\u3093\u304c\u30d2\u30b9\u30c6\u30ea\u30fc\u3092\u8d77\u3053\u3059\u3063\u3066\u3053\u3068&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u30d1\u30cb\u30c3\u30af\u306f\u3001\u7686\u3055\u3093\u3067\u8a00\u3046\u5b9f\u884c\u6642\u30a8\u30e9\u30fc\u306e\u3053\u3068\u3067\u3059&#8230;\u300d<\/p>\n<p>TS\u300c\u3069\u3046\u3044\u3046\u3082\u306e\u304b\u306f\u308f\u304b\u3063\u305f\u3051\u3069\u3001\u5404\u5834\u6240\u3067\u4f55\u3092\u3057\u3066\u3044\u308b\u306e\u304b\u304c\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u304b\u3082\u300d<\/p>\n<p>Rust\u300c9\u884c\u76ee\u306e&amp;mut *y.borrow_mut()\u304c\u5b9f\u969b\u306b\u53ef\u5909\u53c2\u7167\u3092\u5f97\u308b\u5834\u6240\u3067\u3059\u3002*\u8a18\u53f7\u306f\u300e\u53c2\u7167\u5916\u3057\u300f\u3068\u8a00\u3063\u3066\u3001&amp;T\u3084&amp;mut T\u3001RefMut\u7b498\u304b\u3089T\u578b\u306e\u5024\u3092\u5f97\u308b\u64cd\u4f5c\u3067\u3059\u3002\u305d\u306e\u5f8c\u3001\u6539\u3081\u3066&amp;mut\u3092\u4ed8\u3051\u308b\u3053\u3068\u3067\u53ef\u5909\u53c2\u7167\u3092\u5f97\u3089\u308c\u307e\u3059\u30029\u884c\u76ee\u3067\u306f\u3001RefMut\u304b\u3089&amp;mut i32\u3092\u5f97\u3066\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>CSS\u300c\u53c2\u7167\u5916\u3057\u306e\u77ac\u9593\u306f\u6240\u6709\u6a29\u3068\u3084\u3089\u306f\u596a\u308f\u308c\u306a\u3044\u306e\uff1f\u300d<\/p>\n<p>Rust\u300c\u3084\u3084\u3053\u3057\u3044\u90e8\u5206\u3067\u3059\u304c\u3001\u578b\u89e3\u6c7a\u306e\u305f\u3081\u306b\u53c2\u7167\u306a\u3057\u306e\u578b\u306b\u4e00\u65e6\u623b\u308b\u3060\u3051\u3067\u3001\u6240\u6709\u6a29\u8b72\u6e21\u306f\u767a\u751f\u3057\u307e\u305b\u30939\u3002\u300d<\/p>\n<p>TS\u300c10\u884c\u76ee\u3001\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u306e*x_mr += 1;\u3067\u306f\u53c2\u7167\u5916\u3057\u3092\u884c\u3063\u3066i32\u578b\u3092\u5f97\u3066\u3044\u308b\u3051\u3069\u3001x_mr\u304b\u3089\u4ed6\u306e\u5909\u6570\u306b\u6240\u6709\u6a29\u304c\u79fb\u3063\u305f\u308a\u3059\u308b\u3053\u3068\u306f\u306a\u3055\u305d\u3046\u3060\u3082\u3093\u306d\u300214\u884c\u76ee\u306e*z.borrow_mut() += 1;\u306f9\u884c\u76ee\u306810\u884c\u76ee\u3092\u4e00\u6c17\u306b\u884c\u3063\u3066\u3044\u308b\u611f\u3058\uff1f\u300d<\/p>\n<p>Rust\u300c\u305d\u3046\u306a\u308a\u307e\u3059\u3002z.borrow_mut()\u306fRefMut\u3092\u8fd4\u3057\u307e\u3059\u3002*\u3092\u4ed8\u3051\u3066i32\u578b\u3068\u3057\u3066\u6271\u3044\u3001\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>CSS\u300c\u3068\u3053\u308d\u3067\u3055\u3063\u304d\u304b\u3089\u6c17\u306b\u306a\u3063\u3066\u3044\u308b\u3093\u3060\u3051\u3069{\u3068}\u306e\u4e2d\u62ec\u5f27\u3067\u56f2\u3093\u3067\u30a4\u30f3\u30c7\u30f3\u30c8\u3057\u3066\u3044\u308b\u7b87\u6240\u304c\u3042\u308b\u306e\u306f\u306a\u3093\u306a\u306e&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u30b9\u30b3\u30fc\u30d7\u3092\u5b9a\u3081\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002x_mr\u306e\u30b9\u30b3\u30fc\u30d7\u3092\u72ed\u3081\u3001\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u3092\u72ed\u3081\u308b\u3053\u3068\u3067}\u3088\u308a\u5916\u3067\u306f\u53ef\u5909\u53c2\u7167\u304c\u7121\u52b9\u306b\u306a\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u305910\u3002\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u306b\u3064\u3044\u3066\u306f\u307e\u305f\u89e6\u308c\u308b\u306e\u3067\u305d\u306e\u6642\u89e3\u8aac\u3057\u307e\u3059\u306d\u3002\u300d<\/p>\n<p>TS\u300c\u7121\u52b9\u306b\u306a\u3089\u306a\u3044\u5834\u5408\u3001\u30e9\u30f3\u30bf\u30a4\u30e0\u6642\u3067\u306e\u501f\u7528\u30c1\u30a7\u30c3\u30af\u306b\u5931\u6557\u3057\u305d\u3046\u3060\u306d\u3002\u6700\u5f8c\u3042\u305f\u308a\u3067\u306f\u3042\u3048\u3066\u53ef\u5909\u53c2\u7167\u306e\u91cd\u8907\u501f\u7528\u3092\u8a66\u307f\u3066\u3044\u308b\u307f\u305f\u3044\u3060\u3051\u3069\u3001z.try_borrow_mut()\u3068\u3044\u3046\u306e\u306f&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u53ef\u5909\u53c2\u7167\u3068\u3057\u3066\u501f\u7528\u4e2d\u306e\u3082\u306e\u3067\u3042\u308b\u304b\u3092\u78ba\u304b\u3081\u306a\u304c\u3089\u3001\u53ef\u5909\u53c2\u7167\u3092\u5f97\u308b\u305f\u3081\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\u30d1\u30cb\u30c3\u30af\u305b\u305a\u306bResult\u578b\u306b\u3059\u308b\u3053\u3068\u3067\u3001\u53ef\u5909\u53c2\u7167\u304c\u3059\u3067\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u306b\u306f\u5206\u5c90\u3057\u3066\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300cResult\u578b\u3001\u51b7\u9759\u306b\u5bfe\u5fdc\u3067\u304d\u3066\u30af\u30fc\u30eb\u3060\u306a&#8230;\uff01\u300d<\/p>\n<p>CSS\u300c\u3068\u308a\u3042\u3048\u305aRefCell\u306b\u3064\u3044\u3066\u306f\u308f\u304b\u3063\u305f\u6c17\u304c\u3059\u308b&#8230;\u591a\u5206&#8230;\u3067\u3001\u3053\u308c\u3092\u7d50\u5c40\u3069\u3046\u4f7f\u3046\u306e\u3055\uff1f\u300d<\/p>\n<p>Rust\u300c\u3053\u3093\u306a\u611f\u3058\u3067&#8230;\u53ef\u5909\u501f\u7528\u3057\u305f\u3044\u5185\u5074\u306eVec\u3060\u3051RefCell&lt;Vec&gt;\u306b\u3059\u308c\u3070&#8230;\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">cell<\/span><span class=\"p\">::<\/span><span class=\"n\">RefCell<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">original_arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span>\r\n        <span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">]),<\/span>\r\n        <span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">])<\/span>\r\n    <span class=\"p\">];<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">new_vec<\/span><span class=\"p\">:<\/span> <span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">]);<\/span>\r\n\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;&amp;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">original_arr<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span><span class=\"nf\">.collect<\/span><span class=\"p\">();<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;&amp;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">original_arr<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span><span class=\"nf\">.collect<\/span><span class=\"p\">();<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">new_vec<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"p\">(<\/span><span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"nf\">.borrow_mut<\/span><span class=\"p\">())[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ \u3053\u306e\u6642\u70b9\u3067\u4ed6\u306b\u53ef\u5909\u53c2\u7167\u306f\u306a\u3044<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\n<span class=\"nv\">$ <\/span>.\/main\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>1, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>4, 5, 6] <span class=\"o\">}]<\/span>\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>1, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>7, 8, 9] <span class=\"o\">}]<\/span>\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>10, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>4, 5, 6] <span class=\"o\">}]<\/span>\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>10, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>7, 8, 9] <span class=\"o\">}]<\/span>\r\n<\/code><\/pre>\n<p>TS\u300c\u304a\u30fc\uff01arr\u3068arr2\u306e\u578b\u304cVec&lt;&amp;RefCell&lt;Vec&gt;&gt;\u3067\u4e00\u81f4\u3057\u3066\u3044\u308b\u3057\u3001\u300d<\/p>\n<p>CSS\u300carr\u306eprintln!\u51fa\u529b\u3082\u53ef\u80fd\u306b\u306a\u3063\u3066\u3044\u308b\u4e0a\u306b\u3001\u300d<\/p>\n<p>Rust\u300c\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u306e\u5b9f\u884c\u7d50\u679c\u3092\u5fe0\u5b9f\u306b\u518d\u73fe\u3067\u304d\u3066\u3044\u307e\u3059\u306d\u3002\u300d<\/p>\n<p>TS\u300c\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u306b\u3088\u308b\u30d0\u30b0\u3092\u518d\u73fe\u3067\u304d\u3066\u3053\u3053\u307e\u3067\u611f\u52d5\u3057\u305f\u306e\u306f\u521d\u3081\u3066\u3060\u3088&#8230;\u300d<\/p>\n<p>Rust\u300c\u3057\u304b\u3057\u307e\u3060&#8221;\u672c\u5bb6&#8221;\u3068\u306f\u5c11\u3057\u69cb\u9020\u304c\u9055\u3044\u307e\u3059\u3002\u56f3\u306b\u3059\u308b\u3068\u3053\u3046\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/288-0.png\" alt=\"image.png\" \/><\/div>\n<p>CSS\u300c&#8230;\uff1f\u3044\u3084\u307b\u3068\u3093\u3069\u540c\u3058\u3067\u3057\u3087\u300d<\/p>\n<p>TS\u300cRust\u3061\u3083\u3093\u3001\u3053\u3060\u308f\u308b\u306a\u3041&#8230;\u300d<\/p>\n<h2>\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u5236\u7d04<\/h2>\n<ul class=\"post-ul\">\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u3067\u53c2\u7167\u3092\u691c\u8a3c\u3059\u308b &#8211; The Rust Programming Language \u65e5\u672c\u8a9e\u7248<\/ul>\n<p>Rust\u300c\u30dd\u30a4\u30f3\u30c8\u306f\u3069\u3053\u304b\u3089\u501f\u7528\u3057\u3066\u3044\u308b\u304b\u3067\u3059\u3002\u8aac\u660e\u3092\u5148\u5ef6\u3070\u3057\u306b\u3057\u3066\u3044\u305f\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u304c\u95a2\u308f\u308b\u8a71\u3067\u3059\u304c\u3001arr\u3068arr2\u306f\u3001\u8cb8\u3057\u51fa\u3057\u4e3b\u3067\u3042\u308boriginal_arr\u3068new_vec\u304c\u751f\u304d\u3066\u3044\u308b\u9593\u3057\u304b\u5b58\u5728\u3067\u304d\u307e\u305b\u3093\u3002\u5177\u4f53\u7684\u306b\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u304c\u66f8\u3051\u307e\u305b\u3093\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">cell<\/span><span class=\"p\">::<\/span><span class=\"n\">RefCell<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;&amp;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;&amp;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"p\">{<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"n\">original_arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span>\r\n            <span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">]),<\/span>\r\n            <span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">])<\/span>\r\n        <span class=\"p\">];<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"n\">new_vec<\/span><span class=\"p\">:<\/span> <span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">]);<\/span>\r\n\r\n        <span class=\"n\">arr<\/span> <span class=\"o\">=<\/span> <span class=\"n\">original_arr<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span><span class=\"nf\">.collect<\/span><span class=\"p\">();<\/span>\r\n        <span class=\"n\">arr2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">original_arr<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span><span class=\"nf\">.collect<\/span><span class=\"p\">();<\/span>\r\n\r\n        <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">new_vec<\/span><span class=\"p\">;<\/span>\r\n\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n    \r\n        <span class=\"p\">(<\/span><span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"nf\">.borrow_mut<\/span><span class=\"p\">())[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"p\">}<\/span> <span class=\"c1\">\/\/ original_arr\u3068new_vec\u306f\u3053\u3053\u3067\u30c9\u30ed\u30c3\u30d7<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ \u8cb8\u3057\u51fa\u3057\u4e3b\u4e0d\u5728\u306a\u306e\u3067\u4e0d\u6b63\u306a\u53c2\u7167\u306b\u306a\u308a\u30a8\u30e9\u30fc<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\nerror[E0597]: <span class=\"sb\">`<\/span>original_arr<span class=\"sb\">`<\/span> does not live long enough\r\n  <span class=\"nt\">--<\/span><span class=\"o\">&gt;<\/span> main.rs:14:15\r\n   |\r\n14 |         arr <span class=\"o\">=<\/span> original_arr.iter<span class=\"o\">()<\/span>.collect<span class=\"o\">()<\/span><span class=\"p\">;<\/span>\r\n   |               ^^^^^^^^^^^^^^^^^^^ borrowed value does not live long enough\r\n...\r\n23 |     <span class=\"o\">}<\/span>\r\n   |     - <span class=\"sb\">`<\/span>original_arr<span class=\"sb\">`<\/span> dropped here <span class=\"k\">while <\/span>still borrowed\r\n24 |\r\n25 |     println!<span class=\"o\">(<\/span><span class=\"s2\">\"arr = {:?}\"<\/span>, arr<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n   |                            <span class=\"nt\">---<\/span> borrow later used here\r\n\r\nerror[E0597]: <span class=\"sb\">`<\/span>new_vec<span class=\"sb\">`<\/span> does not live long enough\r\n  <span class=\"nt\">--<\/span><span class=\"o\">&gt;<\/span> main.rs:17:19\r\n   |\r\n17 |         arr2[1] <span class=\"o\">=<\/span> &amp;new_vec<span class=\"p\">;<\/span>\r\n   |                   ^^^^^^^^ borrowed value does not live long enough\r\n...\r\n23 |     <span class=\"o\">}<\/span>\r\n   |     - <span class=\"sb\">`<\/span>new_vec<span class=\"sb\">`<\/span> dropped here <span class=\"k\">while <\/span>still borrowed\r\n...\r\n26 |     println!<span class=\"o\">(<\/span><span class=\"s2\">\"arr2 = {:?}\"<\/span>, arr2<span class=\"o\">)<\/span><span class=\"p\">;<\/span>\r\n   |                             <span class=\"nt\">----<\/span> borrow later used here\r\n\r\nerror: aborting due to 2 previous errors\r\n\r\nFor more information about this error, try <span class=\"sb\">`<\/span>rustc <span class=\"nt\">--explain<\/span> E0597<span class=\"sb\">`<\/span><span class=\"nb\">.<\/span>\r\n<\/code><\/pre>\n<p>Rust\u300c\u5148\u307b\u3069\u3082\u5c11\u3057\u3060\u3051\u767b\u5834\u3057\u307e\u3057\u305f\u304c\u3001\u4e2d\u62ec\u5f27{\u3068}\u306f\u305d\u306e\u5909\u6570\u3092\u4f7f\u3048\u308b\u30b9\u30b3\u30fc\u30d7\u3092\u5b9a\u3081\u3001\u3055\u3089\u306b\u30ea\u30bd\u30fc\u30b9\u306e\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0(=\u751f\u5b58\u671f\u9593)\u3082\u9650\u5b9a\u3057\u307e\u3059\u3002\u30ea\u30bd\u30fc\u30b9\u306e\u751f\u5b58\u671f\u9593\u304c\u672c\u5bb6\u306earr\u3068arr2\u3068\u306f\u7570\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u672c\u5bb6\u3068\u306f\u307e\u3060\u9055\u3046\u3068\u8a00\u3044\u307e\u3057\u305f\u3002\u300d<\/p>\n<p>CSS\u300c\u3053\u3060\u308f\u308a\u304c\u6700\u65e9\u30ef\u30ac\u30de\u30de\u30ec\u30d9\u30eb&#8230;(\u76ee\u7684\u306f\u9054\u6210\u3067\u304d\u3066\u308b\u3057\u3082\u3046\u826f\u304f\u306a\u3044\u304b&#8230;\uff1f\u7d9a\u3051\u308b\u306e&#8230;\uff1f\u3063\u3066\u601d\u3063\u305f\u8aad\u8005\u306f\u3042\u3068\u304c\u304d\u306b\u884c\u3063\u3061\u3083\u3063\u3066\u3044\u3044\u3068\u601d\u3046\u3088&#8230;)\u300d<\/p>\n<p>TS\u300c\u3046\u30fc\u3093\u3068\u3001\u3053\u306e\u5834\u5408&#8230;original_arr\u3068new_vec\u304c\u30b9\u30b3\u30fc\u30d7\u5916\u3067\u4f7f\u3048\u306a\u3044\u306e\u306f\u79c1\u3068\u4e00\u7dd2\u3060\u306d\u3002\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u3068\u3044\u3046\u306e\u304c&#8230;\u30a4\u30de\u30a4\u30c1\u30d4\u30f3\u3068\u6765\u306a\u3044&#8230;\u8cb8\u3057\u51fa\u3057\u4e3b\u672c\u4eba\u306b\u4f1a\u3048\u306a\u3044\u306e\u306b\u8cb8\u3057\u7d9a\u3051\u3066\u3082\u3089\u3046\u308f\u3051\u306b\u306f\u3044\u304b\u306a\u3044\u3001\u307f\u305f\u3044\u306a\uff1f\u300d<\/p>\n<p>Rust\u300c\u3053\u3053\u306f\u4f8b\u3048\u8a71\u3067\u306f\u306a\u304f\u79c1\u3068TS\u3055\u3093\u306e&#8221;\u9055\u3044&#8221;\u3092\u660e\u3089\u304b\u306b\u3057\u305f\u65b9\u304c\u308f\u304b\u308a\u3084\u3059\u3044\u304b\u3068\u3002\u300d<\/p>\n<p>\u9055\u3044&#8230;\uff1fRust\u3061\u3083\u3093\u306f\u4f55\u3068\u3082\u306a\u3057\u306b\u8a00\u3063\u305f\u3051\u3069\u3001\u4f55\u6545\u304b\u8eab\u4f53\u304c\u5f37\u5f35\u3063\u3066\u3057\u307e\u3063\u305f\u3002<\/p>\n<p>CSS\u300c\u3044\u3084\u3053\u3053\u307e\u3067\u305a\u3063\u3068\u9055\u3044\u3057\u304b\u898b\u3066\u3053\u306a\u304b\u3063\u305f\u3058\u3083\u3093www\u300d<\/p>\n<p>Rust\u300c\u3042\u3042\u3044\u3048\u3001\u3059\u307f\u307e\u305b\u3093\u3002TS\u3055\u3093\u3068\u306e\u9055\u3044\u3068\u3044\u3046\u3088\u308a\u306f\u79c1\u72ec\u7279\u306e\u6027\u8cea\u306a\u3093\u3067\u3059\u304c\u300d<\/p>\n<p>CSS\u300c&#8230;\u3075\u3056\u3051\u3066\u8a00\u3063\u3066\u308b&#8230;\uff1f\u305d\u308c\u3068\u3082\u5929\u7136\u3067\u8a00\u3063\u3066\u3044\u308b\u306e\u304b&#8230;\uff1f\u300d<\/p>\n<p>TS\u300c\u7d50\u5c40&#8221;\u9055\u3044&#8221;\u3068\u306f&#8230;\uff1f\u300d<\/p>\n<p>\u98df\u3044\u6c17\u5473\u306b\u805e\u3044\u3066\u3057\u307e\u3063\u305f<\/p>\n<p>Rust\u300c\u79c1&#8230;\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30bf\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u3093\u3067\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u4f7f\u308f\u306a\u304f\u306a\u3063\u305f\u30e1\u30e2\u30ea\u9818\u57df\u3092\u81ea\u52d5\u3067\u304a\u6383\u9664\u3057\u3066\u304f\u308c\u308b\u3042\u306e\u6a5f\u80fd&#8230;\uff1f\u300d<\/p>\n<p>Rust\u300c\u305d\u3046\u3067\u3059\u3002\u7121\u3044\u3063\u3066\u8a00\u3046\u3068\u4e0d\u6b63\u78ba\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c&#8230;\u79c1\u81ea\u8eab\u304c\u81ea\u5206\u3067\u30e1\u30e2\u30ea\u3092\u7247\u4ed8\u3051\u3066\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u3048\u3047\u30fc\uff1f\uff01\u305d\u306e\u795e\u696d\u304c\u3067\u304d\u308b\u306e\u3063\u3066C\u8a00\u8a9e\u5148\u751f\u3084C++\u5148\u751f\u3050\u3089\u3044\u3060\u3068\u601d\u3063\u3066\u305f&#8230;\u300d<\/p>\n<p>Rust\u300c\u59c9\u306e&#8230;C++\u306e\u8a71\u306f\u82e6\u624b\u306a\u306e\u3067\u907f\u3051\u3066\u3044\u305f\u3060\u3051\u308b\u3068&#8230;\u300d<\/p>\n<p>CSS\u300c\u305d\u3082\u305d\u3082\u59c9\u59b9\u306a\u306e\uff1f\uff01\u5168\u304f\u6c17\u4ed8\u304b\u306a\u304b\u3063\u305f&#8230;\u300d<\/p>\n<p>Rust\u300c\u7fa9\u7406\u3067\u3059\u304c\u306d\u3002\u305d\u308c\u306b\u59c9\u306e\u306f\u795e\u696d\u3067\u3082\u306a\u3093\u3067\u3082\u306a\u304f\u59c9\u304c\u30ba\u30dc\u30e9\u306a\u3060\u3051\u3067\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u5148\u751f\u76f8\u624b\u306b\u7d50\u69cb\u30ba\u30bf\u30dc\u30ed\u306b\u8a00\u3046\u306d&#8230;\u3068\u3053\u308d\u3067\u3001\u3058\u3083\u3042\u3069\u3046\u3084\u3063\u3066&#8221;\u304a\u6383\u9664&#8221;\u3057\u3066\u308b\u306e\uff1f\u300d<\/p>\n<p>Rust\u300c\u57fa\u672c\u7684\u306b\u306f\u3001\u30ea\u30bd\u30fc\u30b9\u306e\u6240\u6709\u6a29\u3092\u6301\u3064\u5909\u6570\u304c\u30b9\u30b3\u30fc\u30d7\u7d42\u7aef\u307e\u3067\u7740\u3044\u305f\u3089\u3001\u305d\u306e\u30ea\u30bd\u30fc\u30b9\u306f\u7247\u4ed8\u3051\u3066\u3044\u307e\u3059\u3002\u30ea\u30bd\u30fc\u30b9\u304c\u751f\u6210\u3055\u308c\u3066\u304b\u3089\u3053\u306e\u7247\u4ed8\u3051\u3089\u308c\u308b\u307e\u3067\u306e\u671f\u9593\u3092\u3001\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u3068\u547c\u3093\u3067\u3044\u307e\u3059\u30024\u756a\u76ee\u306e\u5236\u7d04\u3068\u3057\u3066\u7d39\u4ecb\u3057\u3066\u3044\u305f\u901a\u308a\u3001\u30ea\u30bd\u30fc\u30b9\u3078\u306e\u53c2\u7167\u3082\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u3088\u308a\u9577\u304f\u306f\u751f\u304d\u3089\u308c\u307e\u305b\u3093\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">x<\/span><span class=\"p\">:<\/span> <span class=\"nb\">i32<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">p<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"nb\">i32<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">x<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"x = {}, p = {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">x<\/span><span class=\"p\">,<\/span> <span class=\"n\">p<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"p\">{<\/span>\r\n        <span class=\"c1\">\/\/ \u3053\u3053\u3067\u5ba3\u8a00\u3057\u3066\u3044\u308by\u306f\u30b9\u30b3\u30fc\u30d7\u5916\u304b\u3089\u306f\u53c2\u7167\u3067\u304d\u306a\u3044<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"n\">y<\/span><span class=\"p\">:<\/span> <span class=\"nb\">i32<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">2<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ #### y\u306e\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u306f\u3053\u3053\u304b\u3089<\/span>\r\n        <span class=\"n\">p<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">y<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ y\u304c\u751f\u304d\u3066\u3044\u308b\u306e\u3067&amp;y\u3092p\u306b\u4ee3\u5165\u3067\u304d\u308b<\/span>\r\n\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"x = {}, y = {}, p = {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">x<\/span><span class=\"p\">,<\/span> <span class=\"n\">y<\/span><span class=\"p\">,<\/span> <span class=\"n\">p<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ x\u306f\u3053\u3053\u304b\u3089\u3067\u3082\u53c2\u7167\u53ef\u80fd<\/span>\r\n\r\n    <span class=\"p\">}<\/span> <span class=\"c1\">\/\/ \u3053\u3053\u3067y\u3092\u7247\u4ed8\u3051\u308b\u3002#### y\u306e\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u306f\u3053\u3053\u307e\u3067\u3002&amp;y\u3082\u6d88\u5931<\/span>\r\n\r\n    <span class=\"c1\">\/\/ p\u306e\u4e2d\u8eab\u3067\u3042\u308b&amp;y\u306f\u7121\u52b9\u306a\u53c2\u7167\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3053\u3053\u3067\u306e\u51fa\u529b\u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc<\/span>\r\n    <span class=\"c1\">\/\/ println!(\"x = {}, p = {}\", x, p);<\/span>\r\n\r\n    <span class=\"n\">p<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">x<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ x\u306f\u307e\u3060\u751f\u304d\u3066\u3044\u308b<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"x = {}, p = {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">x<\/span><span class=\"p\">,<\/span> <span class=\"n\">p<\/span><span class=\"p\">);<\/span>\r\n\r\n<span class=\"p\">}<\/span> <span class=\"c1\">\/\/ \u3053\u3053\u3067\u5168\u3066\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u89e3\u653e\u3055\u308c\u308b<\/span>\r\n<\/code><\/pre>\n<p>CSS\u300c\u30b9\u30b3\u30fc\u30d7\u306e\u7d42\u7aef\u3063\u3066\u4e2d\u62ec\u5f27\u306e\u7d42\u308f\u308a(})\u306e\u3053\u3068\u304b\u3002\u3055\u3063\u304d\u304b\u3089\u30ea\u30bd\u30fc\u30b9\u64cd\u4f5c\u306e\u305f\u3081\u306b{\u3084}\u304c\u767b\u5834\u3057\u3066\u3044\u305f\u3093\u3060\u306a\u3002\u300d<\/p>\n<p>TS\u300c\u305d\u3057\u3066\u6240\u6709\u6a29\u3092\u6c17\u306b\u3057\u3066\u3044\u308b\u306e\u306f\u7247\u4ed8\u3051\u308b\u6642\u306b\u56f0\u308b\u304b\u3089\u3060\u3063\u305f\u3093\u3060\u306d&#8230;\u306a\u308b\u307b\u3069&#8230;\u300d<\/p>\n<p>\u6240\u6709\u6a29\u3068\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u306f\u3001Rust\u3061\u3083\u3093\u6d41\u306e\u7247\u4ed8\u3051\u8853\u3001\u3068\u3044\u3063\u305f\u3068\u3053\u308d\u306a\u306e\u3060\u308d\u3046\u3002<\/p>\n<p>Rust\u300cTS\u3055\u3093\u306e\u30b3\u30fc\u30c9\u3067\u306f\u304a\u305d\u3089\u304f\u3001\u914d\u5217\u3078\u306e\u53c2\u7167\u304c\u6b8b\u3063\u3066\u3044\u308b\u9650\u308aarr\u3084arr2\u306e\u53c2\u7167\u5148\u306f\u7247\u4ed8\u3051\u3089\u308c\u305a\u306b\u6b8b\u3063\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002\u540c\u69d8\u306e\u4ed5\u7d44\u307f\u3092\u63d0\u4f9b\u3059\u308b\u6253\u3063\u3066\u4ed8\u3051\u306e\u578b\u304c\u3042\u308b\u306e\u3067\u3001\u305d\u308c\u3092\u4f7f\u3063\u3066\u66f8\u304d\u76f4\u305b\u3070\u5b8c\u6210\u306b\u306a\u308a\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300c&#8221;\u30de\u30b8&#8221;\u3067\u3053\u3060\u308f\u3063\u3066\u307e\u3059\u306d&#8230;\u305d\u3053\u307e\u3067\u30ea\u30bd\u30fc\u30b9\u306b\u3064\u3044\u3066\u8003\u3048\u305f\u3053\u3068\u306a\u3044\u3084\u300d<\/p>\n<p>CSS\u300c(&#8220;\u30de\u30b8&#8221;\u3067\u3053\u3060\u308f\u3063\u3066\u307e\u3059\u306d&#8230;\uff1f)\u300d<\/p>\n<h2>Rc<\/h2>\n<p>Rust\u300c\u3053\u3060\u308f\u308a\u5b9f\u73fe\u306e\u305f\u3081\u3001\u30b9\u30b3\u30fc\u30d7\u306e\u7d42\u7aef\u3067\u306f\u306a\u304f\u3001\u3059\u3079\u3066\u306e\u53c2\u7167\u304c\u306a\u304f\u306a\u3063\u305f\u6642\u306b\u30ea\u30bd\u30fc\u30b9\u3092\u89e3\u653e\u3059\u308b\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf Rc\u3092\u4f7f\u3044\u307e\u3059\u3002Rc\u306fReference Counter\u3001\u548c\u8a33\u3059\u308b\u3068\u53c2\u7167\u30ab\u30a6\u30f3\u30bf\u306e\u7565\u3067\u3059\u3002Rc\u306fDeref\u30c8\u30ec\u30a4\u30c8\u3092\u5b9f\u88c5\u3057\u3066\u304a\u308a\u4e0d\u5909\u53c2\u7167\u306e\u3088\u3046\u306b\u6271\u3048\u307e\u3059\u3002\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Rc\u306f\u3001\u53c2\u7167\u30ab\u30a6\u30f3\u30c8\u65b9\u5f0f\u306e\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf &#8211; The Rust Programming Language \u65e5\u672c\u8a9e\u7248<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Deref\u30c8\u30ec\u30a4\u30c8\u3067\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3092\u666e\u901a\u306e\u53c2\u7167\u306e\u3088\u3046\u306b\u6271\u3046 &#8211; The Rust Programming Language \u65e5\u672c\u8a9e\u7248<\/ul>\n<pre class=\"post-pre\"><code><span class=\"nd\">#[derive(Debug)]<\/span>\r\n<span class=\"k\">struct<\/span> <span class=\"n\">Hoge<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"k\">impl<\/span> <span class=\"n\">Hoge<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">fn<\/span> <span class=\"nf\">use_ref<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"k\">self<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"called use_ref: {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"k\">self<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">impl<\/span> <span class=\"nb\">Drop<\/span> <span class=\"k\">for<\/span> <span class=\"n\">Hoge<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">fn<\/span> <span class=\"nf\">drop<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"k\">mut<\/span> <span class=\"k\">self<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Hoge is dropped\"<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">rc<\/span><span class=\"p\">::<\/span><span class=\"nb\">Rc<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Program start\"<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">{<\/span>\r\n        <span class=\"k\">let<\/span> <span class=\"n\">joge<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Rc<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">Hoge<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">;<\/span>\r\n        <span class=\"p\">{<\/span>\r\n            <span class=\"k\">let<\/span> <span class=\"n\">ioge<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Rc<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">Hoge<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">;<\/span>\r\n            <span class=\"p\">{<\/span>\r\n                <span class=\"c1\">\/\/ \u521d\u3081\u3066\u306e\u30ea\u30bd\u30fc\u30b9\u78ba\u4fdd<\/span>\r\n                <span class=\"k\">let<\/span> <span class=\"n\">hoge<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Rc<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">Hoge<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">Rc<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"n\">Hoge<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ \u30ab\u30a6\u30f3\u30c81<\/span>\r\n                <span class=\"n\">ioge<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">Rc<\/span><span class=\"p\">::<\/span><span class=\"nf\">clone<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">hoge<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ ++\u30ab\u30a6\u30f3\u30c8 == 2<\/span>\r\n\r\n                <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?} hoge is dropping.\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">hoge<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ --\u30ab\u30a6\u30f3\u30c8 == 1<\/span>\r\n            <span class=\"p\">}<\/span>\r\n            <span class=\"c1\">\/\/ Rc::clone(&amp;hoge)\u3068\u540c\u3058<\/span>\r\n            <span class=\"n\">joge<\/span> <span class=\"o\">=<\/span> <span class=\"n\">ioge<\/span><span class=\"nf\">.clone<\/span><span class=\"p\">();<\/span> <span class=\"c1\">\/\/ ++\u30ab\u30a6\u30f3\u30c8 == 2<\/span>\r\n\r\n            <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?} ioge is dropping.\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">ioge<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ --\u30ab\u30a6\u30f3\u30c8 == 1<\/span>\r\n        <span class=\"p\">}<\/span>\r\n\r\n        <span class=\"n\">joge<\/span><span class=\"nf\">.use_ref<\/span><span class=\"p\">();<\/span> <span class=\"c1\">\/\/ Rc\u306fDeref\u30c8\u30ec\u30a4\u30c8\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u306e\u3067Rc&lt;Hoge&gt;\u306f&amp;Hoge\u3068\u3057\u3066\u4f7f\u3048\u308b<\/span>\r\n\r\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?} joge is dropping.\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">joge<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ --\u30ab\u30a6\u30f3\u30c8 == 0<\/span>\r\n    <span class=\"p\">}<\/span> <span class=\"c1\">\/\/ \u3053\u3053\u3067Hoge\u304cdrop\u3055\u308c\u308b<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Program end\"<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>Program start\r\nHoge hoge is dropping.\r\nHoge ioge is dropping.\r\ncalled use_ref: Hoge\r\nHoge joge is dropping.\r\nHoge is dropped\r\nProgram end\r\n<\/code><\/pre>\n<p>Rust\u300c\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001\u79c1\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u7834\u68c4(drop)\u3059\u308b\u969b\u306e\u6319\u52d5\u3092\u5b9f\u88c5\u3067\u304d\u308bDrop\u30c8\u30ec\u30a4\u30c8\u3092\u5229\u7528\u3057\u3066\u3001\u53c2\u7167\u304c\u3059\u3079\u3066\u6d88\u6ec5\u3057\u305f\u969b\u306b\u30ea\u30bd\u30fc\u30b9\u304c\u7247\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059\u3002\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/328-0.png\" alt=\"image.png\" \/><\/div>\n<p>Rust\u300choge\u3001ioge\u3001joge\u306e\u578b\u304c\u3059\u3079\u3066Rc\u3067\u3042\u308b\u70b9\u304c\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002Rc\u306b\u3088\u308b\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406\u3067\u306f\u300e\u8cb8\u3057\u51fa\u3057\u4e3b\u300f\u3068\u300e\u501f\u7528\u300f\u306e\u3088\u3046\u306a\u4e0a\u4e0b\u95a2\u4fc2\u3001\u8cb8\u501f\u95a2\u4fc2\u306f\u306a\u304f\u3001\u53c2\u7167\u81ea\u4f53\u304c\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406\u306e\u9375\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u300d<\/p>\n<p>CSS\u300c\u8cb8\u501f\u95a2\u4fc2\u304c\u306a\u3044&#8230;\u3055\u3063\u304d\u3067\u8a00\u3046\u3068\u8cb8\u3057\u51fa\u3057\u4e3b\u306eoriginal_arr\u3084new_vec\u304c\u8981\u3089\u306a\u304f\u306a\u308b\u308f\u3051\u3060\u3002\u300d<\/p>\n<p>Rust\u300c\u306f\u3044\u3002\u767b\u5834\u3059\u308b\u5909\u6570\u306f\u5bfe\u7b49\u306b\u30ea\u30bd\u30fc\u30b9\u3092\u53c2\u7167\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u3088\u3046\u306b\u5225\u306a\u898b\u65b9\u3068\u3057\u3066\u3001\u3057\u3070\u3057\u3070\u6240\u6709\u6a29\u3092\u8907\u6570\u3067\u5171\u6709\u3059\u308b\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3001\u3060\u3068\u7d39\u4ecb\u3055\u308c\u307e\u3059\u3002\u300d<\/p>\n<p>TS\u300c\u6319\u52d5\u306b\u3064\u3044\u3066\u306f\u3001\u56f3\u3092\u898b\u305f\u611f\u3058\u3001Rc::clone\u95a2\u657011\u3067\u53c2\u7167\u3060\u3051\u30b3\u30d4\u30fc\u3057\u3066\u3044\u308b\u307f\u305f\u3044\uff01\u3053\u308c\u3063\u3066\u3001\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u3067\u5143\u3005\u5b9f\u73fe\u3057\u305f\u304b\u3063\u305f\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u306e\u6319\u52d5\u3060\u306d\u3002\u300d<\/p>\n<p>Rust\u300c\u5b9f\u306f\u3053\u3060\u308f\u308a\u305f\u304b\u3063\u305f\u7406\u7531\u306f\u300e\u53c2\u7167\u3060\u3051\u30b3\u30d4\u30fc\u300f\u3068\u3044\u3046\u96f0\u56f2\u6c17\u3092\u51fa\u3057\u305f\u3044\u304b\u3089\u3068\u3044\u3046\u306e\u3082\u3042\u308a\u307e\u3057\u305f\u3002\u3067\u306f\u3044\u3088\u3044\u3088\u3001Rc\u3092\u4f7f\u3063\u3066\u3042\u308b\u3042\u308b\u3092\u5b9f\u73fe\u3057\u3066\u307f\u307e\u3059\u306d\u300d\uff76\uff80\uff76\uff80&#8230;<\/p>\n<p>TS\u300c\u3044\u3088\u3044\u3088\u3060\u306d\uff01\u7dca\u5f35\u3059\u308b&#8230;\u300d\uff84\uff9e\uff77\uff84\uff9e\uff77&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">cell<\/span><span class=\"p\">::<\/span><span class=\"n\">RefCell<\/span><span class=\"p\">;<\/span>\r\n<span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">rc<\/span><span class=\"p\">::<\/span><span class=\"nb\">Rc<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">arr<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Rc<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span>\r\n        <span class=\"nn\">Rc<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">])),<\/span>\r\n        <span class=\"nn\">Rc<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">])),<\/span>\r\n    <span class=\"p\">];<\/span>\r\n    <span class=\"c1\">\/\/ \u2193clone\u30e1\u30bd\u30c3\u30c9\u304c\u518d\u5e30\u7684\u306b\u547c\u3070\u308c\u308b\u3002Rc\u306eclone\u306f\u53c2\u7167\u3060\u3051\u30b3\u30d4\u30fc<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Rc<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">RefCell<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;&gt;&gt;&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">arr<\/span><span class=\"nf\">.clone<\/span><span class=\"p\">();<\/span>\r\n\r\n    <span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">Rc<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nn\">RefCell<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">9<\/span><span class=\"p\">]));<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"p\">(<\/span><span class=\"n\">arr2<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"nf\">.borrow_mut<\/span><span class=\"p\">())[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"arr2 = {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">arr2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>rustc main.rs\r\n<span class=\"nv\">$ <\/span>.\/main \r\narr <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>1, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>4, 5, 6] <span class=\"o\">}]<\/span>\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>1, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>7, 8, 9] <span class=\"o\">}]<\/span>\r\narr <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>10, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>4, 5, 6] <span class=\"o\">}]<\/span>\r\narr2 <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>10, 2, 3] <span class=\"o\">}<\/span>, RefCell <span class=\"o\">{<\/span> value: <span class=\"o\">[<\/span>7, 8, 9] <span class=\"o\">}]<\/span>\r\n<\/code><\/pre>\n<p>CSS\u300c\u5b9f\u884c\u7d50\u679c\u306f\u3061\u3083\u3093\u3068\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u3068\u304a\u3093\u306a\u3058\u3060\u300d<\/p>\n<p>TS\u300c\u5909\u6570\u304c\u6e1b\u3063\u305f\u5206\u3001\u3055\u3063\u304d\u3088\u308a\u3059\u3063\u304d\u308a\u3057\u305f\u306d\uff01\u300d<\/p>\n<p>Rust\u300c\u30ea\u30bd\u30fc\u30b9\u306e\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u306farr\u3068arr2\u4e21\u65b9\u304c\u6d88\u3048\u308b\u307e\u3067\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u56f3\u306b\u63cf\u304d\u8d77\u3053\u3059\u3068&#8230;\u300d\uff8e\uff9c\uff72\uff84\uff8e\uff9e\uff70\uff84\uff9e\uff76\uff77\uff76\uff77&#8230;<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/340-0.png\" alt=\"image.png\" \/><\/div>\n<p>TS\u300c\u7121\u4e8b\u3001\u521d\u898b\u6bba\u3057\u3042\u308b\u3042\u308b\u3092\u63cf\u304d\u5199\u3057\u305f\u611f\u3058\u306b\u306a\u3063\u305f\u306d\uff01\u300d<\/p>\n<h1>\u30a8\u30d4\u30ed\u30fc\u30b0<\/h1>\n<p>\u3082\u3046\u3059\u3067\u306b\u5916\u306f\u771f\u3063\u6697\u3067\u3001\u3044\u3064\u3082\u306e\u59d4\u54e1\u4f1a\u6d3b\u52d5\u306a\u3089\u3068\u3063\u304f\u306b\u5bb6\u306b\u5e30\u3063\u3066\u3044\u308b\u3088\u3046\u306a\u6642\u523b\u306b\u306a\u3063\u3066\u3044\u305f\u3002<\/p>\n<p>TS\u300c\u3057\u3063\u304b\u3057\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u306e\u5b9f\u88c5\u3060\u3051\u306b\u3053\u3093\u306a\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u3068\u306f\u601d\u308f\u306a\u304b\u3063\u305f\u3088&#8230;\u300d<\/p>\n<p>Rust\u300cTS\u3055\u3093\u304c\u4f1d\u3048\u305f\u304b\u3063\u305f\u51e6\u7406\u3092\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3068\u3057\u3066\u66f8\u3051\u3066\u3001\u79c1\u306b\u3068\u3063\u3066\u3082\u3068\u3066\u3082\u52c9\u5f37\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u300d<\/p>\n<p>CSS\u300c\u306a\u3093\u3067\u79c1\u307e\u3067&#8230;\u306a\u3093\u3066\u306d\u3002Rust\u3061\u3083\u3093\u306e\u3053\u3068\u3088\u304f\u308f\u304b\u3063\u305f\u6c17\u304c\u3059\u308b\u3057\u30012\u4eba\u304c\u4ef2\u826f\u304f\u306a\u308c\u305f\u307f\u305f\u3044\u3067\u826f\u304b\u3063\u305f\u826f\u304b\u3063\u305f\u3002\u300d<\/p>\n<p>TS\u300c\u306a\u3093\u304b\u6c17\u6065\u305a\u304b\u3057\u3044\u306a&#8230;\u30cf\u30cf\u30cf&#8230;\u305d\u308c\u306b\u3057\u3066\u3082\u6700\u5f8c\u306b\u66f8\u3044\u305f\u30b3\u30fc\u30c9\u3082\u5927\u5206\u8aad\u3080\u306e\u304c\u5927\u5909\u305d\u3046\u306a\u898b\u305f\u76ee\u3060\u3063\u305f\u3088\u306d\u3002\u3044\u3064\u3082\u3042\u3093\u306a\u306a\u306e\uff1f\u300d<\/p>\n<p>Rust\u300c\u3044\u3048\u3001\u300e\u3042\u3093\u306a\u5909\u306a\u3053\u3068\u300f\u306f\u666e\u6bb5\u3057\u306a\u3044\u306e\u3067&#8230;Rc\u3084RefCell\u304c\u5fc5\u8981\u306b\u306a\u308b\u3053\u3068\u306f\u6ec5\u591a\u306b\u306a\u3044\u3067\u3059\u306d\u3002\u300d<\/p>\n<p>TS\u300c\u3078\u3093&#8230;(\u6d99)\u300d<\/p>\n<p>CSS\u300c\u3042\u30fc\uff01\u307e\u305fTS\u3061\u3083\u3093\u3092\u843d\u3061\u8fbc\u307e\u305b\u3066\uff01Rust\u3061\u3083\u3093&#8230;\u305d\u3046\u3044\u3046\u3068\u3053\u3060\u305e&#8230;\u300d<\/p>\n<p>Rust\u3061\u3083\u3093\u3053\u305d\u5909\u306a\u3068\u3053\u308d\u3067\u5805\u3044\u3057\u3001\u4f55\u8003\u3048\u3066\u3044\u308b\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3057\u3001\u3067\u3082\u5b9f\u306f\u3059\u3054\u3044\u3068\u3053\u308d\u304c\u3042\u3063\u305f\u308a\u3057\u3066&#8230;\u305d\u3093\u306a\u79d8\u5bc6\u3092\u77e5\u308b\u3053\u3068\u304c\u3067\u304d\u3066\u3001\u4eca\u65e5\u306f\u3068\u3066\u3082\u697d\u3057\u3044\u4e00\u65e5\u3067\u3057\u305f\uff01<\/p>\n<p>\uff5e fin \uff5e<\/p>\n<h1>\u3042\u3068\u304c\u304d<\/h1>\n<p>\u672c\u5c0f\u8aac\u306f\u3001\u524d\u56de\u51fa\u3057\u305f\u8a18\u4e8b\u4e2d\u306e\u300cTypeScript\u3068Rust\u304c\u30da\u30a2\u30d7\u30ed\u3059\u308b\u7269\u8a9e\u304c\u66f8\u304d\u305f\u3044\uff01\u300d\u3068\u3044\u3046\u601d\u3044\u3092\u3053\u3089\u3048\u304d\u308c\u305a\u5177\u73fe\u5316\u3057\u305f\u3082\u306e\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u5c0f\u8aac\u30b9\u30bf\u30a4\u30eb\u3067\u6280\u8853\u7684\u306a\u8a71\u3092\u3059\u308b\u306e\u306f\u3001\u7d50\u69cb\u96e3\u3057\u3044\u90e8\u5206\u304c\u591a\u304b\u3063\u305f\u3067\u3059\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u8a71\u306e\u6587\u8108\u3092\u65ad\u3061\u5207\u308a\u3069\u3046\u3057\u3066\u3082\u4f1d\u3048\u305f\u3044\u3053\u3068\u3092\u66f8\u304f\u3001\u3068\u3044\u3046\u308f\u3051\u306b\u3044\u304b\u306a\u3044<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u76ee\u6b21\u3084\u307e\u3068\u3081\u304c\u5165\u308c\u306b\u304f\u3044<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u6700\u5f8c\u307e\u3067\u8aad\u3093\u3067\u3082\u3089\u308f\u306a\u3044\u3068\u4f55\u3092\u4f1d\u3048\u305f\u304b\u3063\u305f\u304b\u304c\u4f1d\u308f\u3089\u306a\u3044<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u305d\u3082\u305d\u3082\u4f1d\u3048\u305f\u3044\u3053\u3068\u3092\u30b9\u30c8\u30ec\u30fc\u30c8\u306b\u4f1d\u3048\u308b\u306e\u304c\u96e3\u3057\u3044<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u63a8\u6572\u304c\u96e3\u3057\u3059\u304e\u308b<\/ul>\n<p>&#8230;\u3068\u3044\u3046\u308f\u3051\u3067\u3053\u306e\u4f4d\u7f6e\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3053\u3068\u3092\u5f8c\u6094\u3057\u3064\u3064\u3001\u8a18\u4e8b\u3067\u4f1d\u3048\u305f\u304b\u3063\u305f\u3053\u3068\u3092\u66f8\u304d\u307e\u3059\u3002<\/p>\n<div>\n<p>\u4f1d\u3048\u305f\u304b\u3063\u305f\u3053\u3068<br \/>\nRust\u306f\u6240\u6709\u6a29\u3084\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u306e\u304a\u304b\u3052\u3067\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u306e\u3088\u3046\u306a\u8907\u96d1\u306a\u69cb\u9020\u306f\u8a18\u8ff0\u304c\u76ee\u7acb\u3064\u3088\u3046\u306b\u3067\u304d\u3066\u304a\u308a\u3001\u826f\u304f\u306a\u3044\u69cb\u9020\u304c\u66f8\u304d\u306b\u304f\u304f\u306a\u3063\u3066\u3044\u308b\u3002<br \/>\n\u6240\u6709\u6a29\u3084\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3068\u3044\u3063\u305f\u4ed5\u7d44\u307f\u306f\u6700\u9069\u5316\u306e\u305f\u3081\u306b\u79d1\u305b\u3089\u308c\u305f\u5fc5\u8981\u60aa\u3067\u306f\u306a\u304f\u3001\u5909\u306a\u8a2d\u8a08\u3092\u3057\u306a\u3044\u305f\u3081\u306e\u7a4d\u6975\u7684\u306a\u9632\u5fa1\u7b56\u3067\u3042\u308a\u3001\u5473\u65b9\u306b\u3064\u3051\u308b\u3068\u3068\u3066\u3082\u5fc3\u5f37\u3044<\/p>\n<\/div>\n<p>\u300c\u826f\u304f\u306a\u3044\u69cb\u9020\u304c\u66f8\u304d\u306b\u304f\u3044\u300d\u3068\u3044\u3046\u306e\u306f\u3001\u88cf\u3092\u8fd4\u3059\u3068\u300c\u66f8\u304d\u3084\u3059\u3044\u69cb\u9020\u306f\u826f\u3044\u69cb\u9020\u3067\u3042\u308b\u300d\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u305d\u3053\u3092\u524d\u534a\u306e\u300cRust\u306eclone\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\u3067\u3042\u308b\u300d\u306e\u3068\u3053\u308d\u3067\u8868\u73fe\u3057\u305f\u3064\u3082\u308a\u3067\u3057\u305f\u3002<\/p>\n<p>\u5f8c\u534a\u306eRust\u3061\u3083\u3093\u304c\u30e0\u30c3\u3063\u3068\u306a\u3063\u3066\u53ef\u5909\u53c2\u7167\u3084\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3092\u4f7f\u3063\u3066\u7121\u7406\u3084\u308a\u30b7\u30e3\u30ed\u30fc\u30b3\u30d4\u30fc\u3092\u5b9f\u73fe\u3057\u305f\u30d1\u30fc\u30c8\u3067\u306f\u3001\u672c\u5f53\u306b\u4f1d\u3048\u305f\u304b\u3063\u305f\u306e\u306f\u4e0a\u8ff0\u306e\u901a\u308a\u300cRust\u3067\u306f\u4e0b\u624b\u306a\u69cb\u9020\u306f\u305d\u3082\u305d\u3082\u66f8\u304d\u306b\u304f\u304f\u306a\u3063\u3066\u3044\u308b\u300d\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u5909\u306b\u300cRust\u306f\u3084\u3063\u3071\u308a\u96e3\u3057\u3044\u8a00\u8a9e&#8230;\u300d\u3068\u3044\u3046\u5370\u8c61\u3092\u3064\u3051\u3066\u3057\u307e\u3063\u305f\u304b\u3082\u3057\u308c\u305a\u3001\u3061\u3087\u3063\u3068\u3060\u3051\u5f8c\u6094\u3057\u3066\u3044\u307e\u3059\u3002\uff84\uff9e\uff78\uff7c\uff6c\uff7b\uff8f\uff84\uff9e\uff73\uff76\uff7b\uff72\uff7a\uff9e\uff89\uff71\uff84\uff76\uff9e\uff77\uff8f\uff83\uff9e\uff96\uff9d\uff83\uff9e\uff78\uff80\uff9e\uff7b\uff72\uff8f\uff7d\uff96\uff73\uff86&#8230;<\/p>\n<p>\u4f1d\u3048\u305f\u3044\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u5c11\u306a\u3044\u8a18\u4e8b\u306a\u3089\u3070\u3084\u3081\u592a\u90ce\u3055\u3093\u306e\u3088\u3046\u306b\u5bfe\u8a71\u578b\u3067\u66f8\u304f\u306e\u306f\u52b9\u679c\u7684\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u5c0f\u8aac\u30b9\u30bf\u30a4\u30eb\u3067\u66f8\u304b\u308c\u305f\u8a18\u4e8b\u304c\u3042\u3093\u307e\u308a\u306a\u3044\u7406\u7531\u306f\u4eca\u56de\u8eab\u306b\u67d3\u307f\u3066\u308f\u304b\u308a\u307e\u3057\u305f(\u82e6\u7b11)\u3002\u6b21\u56de\u8a18\u4e8b\u306f\u307e\u305f\u666e\u901a\u306e\u66f8\u304d\u65b9\u3092\u3057\u3066\u3044\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u591a\u5206\u3002<\/p>\n<p>\u3053\u3053\u307e\u3067\u8aad\u3093\u3067\u304f\u3060\u3055\u308a\u8aa0\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\uff01\uff01<\/p>\n<p>2023\/07\/19 \u8ffd\u8a18<\/p>\n<p>Rust\u3067\u306f\u306a\u304fReact\u304c\u984c\u6750\u3067\u3059\u304c\u3001\u7d9a\u304d\u3092\u66f8\u304d\u307e\u3057\u305f\uff01\u8aad\u3093\u3067\u3044\u305f\u3060\u3051\u305f\u3089\u5e78\u3044\u3067\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h1>\u304a\u307e\u3051 Copy\u30c8\u30ec\u30a4\u30c8<\/h1>\n<ul class=\"post-ul\">Copy in std::marker &#8211; Rust<\/ul>\n<p>\u672c\u6765\u306fClone\u30c8\u30ec\u30a4\u30c8\u306b\u3066\u4e00\u7dd2\u306b\u8aac\u660e\u3059\u308b\u3079\u304d\u30c8\u30ec\u30a4\u30c8\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u5c3a\u306e\u90fd\u5408\u4e0a\uff1f\u8aac\u660e\u3067\u304d\u306a\u304b\u3063\u305f\u305f\u3081\u304a\u307e\u3051\u306b\u63b2\u8f09\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3059\u3002<\/p>\n<p>Copy\u30c8\u30ec\u30a4\u30c8\u306f\u7c21\u5358\u306b\u8aac\u660e\u3059\u308b\u3068\u3001\u300c\u672c\u6765\u306f\u6240\u6709\u6a29\u8b72\u6e21\u304c\u884c\u308f\u308c\u308b\u5834\u6240\u30fb\u66f8\u304d\u65b9\u3067\u3001\u30af\u30ed\u30fc\u30f3\u3057\u306a\u3044\u3068\u30a8\u30e9\u30fc\u306b\u306a\u308b\u5834\u6240\u306b\u3064\u3044\u3066\u3001\u81ea\u52d5\u3067.clone()\u304c\u4ed8\u3044\u3066\u3044\u305f\u3053\u3068\u306b\u3057\u3066\u304f\u308c\u308b\u30de\u30fc\u30ab\u30fc\u30c8\u30ec\u30a4\u30c8\u300d\u3067\u3059\u3002<\/p>\n<p>\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002\u6240\u6709\u6a29\u8b72\u6e21\u306e\u305f\u3081\u4ee5\u4e0b\u306f\u30a8\u30e9\u30fc\u3067\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nd\">#[derive(Debug,<\/span> <span class=\"nd\">Clone)]<\/span>\r\n<span class=\"k\">struct<\/span> <span class=\"n\">Hoge<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">v<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">hoge<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Hoge<\/span> <span class=\"p\">{<\/span> <span class=\"n\">v<\/span><span class=\"p\">:<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">]<\/span> <span class=\"p\">};<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">hoge2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">hoge<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ \u6240\u6709\u6a29\u8b72\u6e21\u306e\u305f\u3081\u30a8\u30e9\u30fc\uff01<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">hoge<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">hoge2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>Clone\u30c8\u30ec\u30a4\u30c8\u306e\u7bc0\u3067\u306f\u8907\u88fd\u306b\u3088\u308a\u6240\u6709\u6a29\u8b72\u6e21\u304c\u767a\u751f\u3057\u306a\u3044\u3068\u3044\u3046clone\u30e1\u30bd\u30c3\u30c9\u3092\u7528\u3044\u305f\u89e3\u6c7a\u65b9\u6cd5\u3092\u63d0\u793a\u3057\u307e\u3057\u305f\u3002(#[derive(Clone)]\u3068\u66f8\u304f\u3053\u3068\u3067\u69cb\u9020\u4f53\u306bClone\u30c8\u30ec\u30a4\u30c8\u304c\u81ea\u52d5\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u3059\u3002)<\/p>\n<pre class=\"post-pre\"><code><span class=\"nd\">#[derive(Debug,<\/span> <span class=\"nd\">Clone)]<\/span>\r\n<span class=\"k\">struct<\/span> <span class=\"n\">Hoge<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">v<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">usize<\/span><span class=\"o\">&gt;<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">hoge<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Hoge<\/span> <span class=\"p\">{<\/span> <span class=\"n\">v<\/span><span class=\"p\">:<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">]<\/span> <span class=\"p\">};<\/span>\r\n<span class=\"hdl\"><span class=\"o\">- <\/span>   <span class=\"k\">let<\/span> <span class=\"n\">hoge2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">hoge<\/span><span class=\"p\">;<\/span>\r\n<\/span><span class=\"hil\"><span class=\"o\">+ <\/span>   <span class=\"k\">let<\/span> <span class=\"n\">hoge2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">hoge<\/span><span class=\"nf\">.clone<\/span><span class=\"p\">();<\/span>\r\n<\/span>    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">hoge<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">hoge2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u3057\u304b\u3057\u3001\u4f7f\u7528\u3059\u308b\u30e1\u30e2\u30ea\u9818\u57df\u304c\u5c0f\u3055\u304f\u3001\u3044\u3061\u3044\u3061clone\u3092\u547c\u3076\u65b9\u304c\u624b\u9593\u3060\u3068\u611f\u3058\u308b\u3088\u3046\u306a\u69cb\u9020\u4f53\u3082\u305f\u307e\u306b\u306f\u3042\u308b\u3067\u3057\u3087\u3046\u3002Copy\u30c8\u30ec\u30a4\u30c8\u306f\u305d\u3093\u306a\u3068\u304d\u306b\u4f7f\u3048\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nd\">#[derive(Debug,<\/span> <span class=\"nd\">Clone,<\/span> <span class=\"nd\">Copy)]<\/span>\r\n<span class=\"k\">struct<\/span> <span class=\"n\">Point<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">x<\/span><span class=\"p\">:<\/span> <span class=\"nb\">i32<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">y<\/span><span class=\"p\">:<\/span> <span class=\"nb\">i32<\/span><span class=\"p\">,<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">p<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Point<\/span> <span class=\"p\">{<\/span> <span class=\"n\">x<\/span><span class=\"p\">:<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">y<\/span><span class=\"p\">:<\/span> <span class=\"mi\">2<\/span> <span class=\"p\">};<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">p2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">p<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ \u88cf\u3067\u306fp.clone()\u3068\u306a\u3063\u3066\u3044\u308b\u3002<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">p<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">p2<\/span><span class=\"p\">);<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u6ce8\u76ee\u3057\u3066\u307b\u3057\u3044\u306e\u306f#[derive(Debug, Clone, Copy)]\u306eCopy\u3067\u3059\u3002#[derive(Copy)]\u3068\u3059\u308b\u3053\u3068\u3067\u3053\u306eCopy\u30c8\u30ec\u30a4\u30c8\u304c\u5b9f\u88c5\u3055\u308c\u3001.clone()\u3092\u7701\u7565\u3057\u3066\u3082\u6240\u6709\u6a29\u8b72\u6e21\u306e\u5834\u9762\u3067\u306f\u52dd\u624b\u306b\u8907\u88fd\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u3068\u3053\u308d\u3067\u4f55\u6545Clone\u30c8\u30ec\u30a4\u30c8\u3068Copy\u30c8\u30ec\u30a4\u30c8\u304c\u5206\u304b\u308c\u3066\u3044\u308b\u306e\u3067\u3057\u3087\u3046\u304b\uff1fClone\u30c8\u30ec\u30a4\u30c8\u3060\u3051\u3067\u306f\u81ea\u52d5\u3067\u30af\u30ed\u30fc\u30f3\u3057\u3066\u304f\u308c\u306a\u3044\u306e\u306f\u306a\u305c\u306a\u306e\u3067\u3057\u3087\u3046\uff1f\u3053\u308c\u306f\u30ea\u30bd\u30fc\u30b9\u306e\u8907\u88fd\u3068\u3044\u3046\u30b3\u30b9\u30c8\u304c\u304b\u304b\u308b\u64cd\u4f5c\u304c\u3069\u3053\u3067\u884c\u308f\u308c\u3066\u3044\u308b\u304b\u304c\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u8aad\u3081\u3070\u3059\u3050\u5206\u304b\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3067\u3059\u3002Copy\u30c8\u30ec\u30a4\u30c8\u3092\u3042\u3048\u3066\u5b9f\u88c5\u3057\u306a\u3044\u3053\u3068\u3067\u3001clone\u30e1\u30bd\u30c3\u30c9\u3092\u660e\u8a18\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u305a\u3001\u305d\u3053\u304c\u30b3\u30b9\u30c8\u304c\u304b\u304b\u308b\u7b87\u6240\u3060\u3068\u3059\u3050\u308f\u304b\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">s<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">String<\/span><span class=\"p\">::<\/span><span class=\"nf\">from<\/span><span class=\"p\">(<\/span><span class=\"s\">\"hoge\"<\/span><span class=\"p\">);<\/span>\r\n\r\n    <span class=\"c1\">\/\/ \u53c2\u7167\u3092\u53d6\u308b\u3060\u3051\u3002\u8efd\u305d\u3046<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">v1<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"o\">..<\/span><span class=\"mi\">10<\/span><span class=\"p\">)<\/span><span class=\"nf\">.map<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">|<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">s<\/span><span class=\"p\">)<\/span><span class=\"py\">.collect<\/span><span class=\"p\">::<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">_<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">();<\/span>\r\n\r\n    <span class=\"c1\">\/\/ .clone()\u304c\u547c\u3070\u308c\u3066\u308b\uff1f\uff01\u91cd\u305d\u3046\uff01\uff01\uff01<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">v2<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"o\">..<\/span><span class=\"mi\">10<\/span><span class=\"p\">)<\/span><span class=\"nf\">.map<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">|<\/span> <span class=\"n\">s<\/span><span class=\"nf\">.clone<\/span><span class=\"p\">())<\/span><span class=\"py\">.collect<\/span><span class=\"p\">::<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">_<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">();<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u3053\u306e\u8003\u3048\u306b\u5247\u308c\u3070\u3001Copy\u30c8\u30ec\u30a4\u30c8\u4ed8\u4e0e\u3092\u4e71\u7528\u3059\u308b\u306e\u306f\u907f\u3051\u308b\u3079\u304d\u3068\u3044\u3046\u3053\u3068\u304c\u308f\u304b\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u4ee5\u4e0b\u3001Clone\u30c8\u30ec\u30a4\u30c8\u3068Copy\u30c8\u30ec\u30a4\u30c8\u4ed8\u4e0e\u306e\u305f\u3081\u306b\u6c42\u3081\u3089\u308c\u308b\u69cb\u9020\u4f53\u306e\u6761\u4ef6\u3067\u3059\u3002<\/p>\n<p>Clone\u30c8\u30ec\u30a4\u30c8<\/p>\n<p>\u69cb\u9020\u4f53\u304c\u6301\u3064\u3059\u3079\u3066\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u578b\u304cClone\u30c8\u30ec\u30a4\u30c8\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3053\u3068<\/p>\n<p>Copy\u30c8\u30ec\u30a4\u30c8<\/p>\n<p>\u69cb\u9020\u4f53\u81ea\u4f53\u304cClone\u30c8\u30ec\u30a4\u30c8\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3053\u3068<br \/>\n\u69cb\u9020\u4f53\u304c\u6301\u3064\u3059\u3079\u3066\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u578b\u304cClone\u30c8\u30ec\u30a4\u30c8\u3068Copy\u30c8\u30ec\u30a4\u30c8\u3092\u5171\u306b\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3053\u3068<\/p>\n<p>\u3088\u304f\u300c\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u578b\u306f\u6240\u6709\u6a29\u8b72\u6e21\u304c\u767a\u751f\u3057\u306a\u3044\u3051\u3069\u69cb\u9020\u578b\u3084\u6587\u5b57\u5217\u578b\u3001\u30d9\u30af\u30bf\u578b\u306f\u6240\u6709\u6a29\u8b72\u6e21\u304c\u767a\u751f\u3059\u308b\u300d\u3068\u3044\u3063\u305f\u89e3\u8aac\u3092\u76ee\u306b\u3057\u307e\u3059\u304c\u3001\u3053\u308c\u306f\u4e8b\u5b9f\u3068\u3057\u3066\u306f\u5408\u3063\u3066\u3044\u307e\u3059\u304c\u3042\u307e\u308a\u7684\u3092\u5c04\u3066\u3044\u307e\u305b\u3093\u3002\u300c\u6240\u6709\u6a29\u8b72\u6e21\u304c\u767a\u751f\u3057\u306a\u3044\u3068\u3055\u308c\u308b\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u578b\u300d\u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u884c\u3063\u3066\u307f\u308b\u3068\u3001Copy\u30c8\u30ec\u30a4\u30c8\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u306e\u3092\u78ba\u8a8d\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u3002\u3059\u306a\u308f\u3061\u300cCopy\u30c8\u30ec\u30a4\u30c8\u304c\u5b9f\u88c5\u3055\u308c\u305f\u578b\u306f\u52dd\u624b\u306b\u8907\u88fd\u3055\u308c\u6240\u6709\u6a29\u8b72\u6e21\u304c\u767a\u751f\u3057\u306a\u3044\u300d\u3068\u8aac\u660e\u3057\u305f\u307b\u3046\u304c\u3088\u308a\u4e00\u822c\u7684\u306a\u89e3\u8aac\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h1>\u53c2\u8003\u30fb\u5f15\u7528<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u5909\u6570\u5ba3\u8a00: let\u3068const | TypeScript\u5165\u9580\u300e\u30b5\u30d0\u30a4\u30d0\u30ebTypeScript\u300f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u578b\u306ereadonly\u30d7\u30ed\u30d1\u30c6\u30a3 (readonly property) | TypeScript\u5165\u9580\u300e\u30b5\u30d0\u30a4\u30d0\u30ebTypeScript\u300f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u53c2\u7167\u3068\u501f\u7528 &#8211; The Rust Programming Language \u65e5\u672c\u8a9e\u7248<\/ul>\n<h1>\u5b9f\u884c\u74b0\u5883<\/h1>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>ts-node <span class=\"nt\">--version<\/span>\r\nv10.9.1\r\n<span class=\"nv\">$ <\/span>npm <span class=\"nb\">ls<\/span> <span class=\"nt\">-g<\/span> typescript\r\n\/usr\/local\/lib\r\n\u251c\u2500\u252c ts-node@10.9.1\r\n\u2502 \u2514\u2500\u2500 typescript@5.0.4\r\n\u2514\u2500\u2500 typescript@5.0.4\r\n<span class=\"nv\">$ <\/span>cargo <span class=\"nt\">--version<\/span>\r\ncargo 1.68.2 <span class=\"o\">(<\/span>6feb7c9cf 2023-03-26<span class=\"o\">)<\/span>\r\n<\/code><\/pre>\n<section>\u3053\u306e\u5236\u7d04\u306e\u305f\u3081\u306b\u5927\u4f53\u306f\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u578b\u304c\u5165\u308a\u307e\u3059\u304c\u3001\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u5024\u304c\u6c7a\u307e\u308b\u306a\u3089\u3070\u3069\u306e\u3088\u3046\u306a\u578b\u3067\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002\u4f8b\u3048\u3070&amp;&#8217;static str\u3084[usize; 3]\u307f\u305f\u3044\u306a\u3082\u306e\u306f\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\u4e00\u65b9\u3067\u3001\u52d5\u7684\u306a\u30d2\u30fc\u30d7\u78ba\u4fdd\u304c\u5fc5\u8981\u306b\u306a\u308bString\u306a\u3069\u3001(const fn\u3067\u306f\u306a\u3044)\u95a2\u6570\u3092\u547c\u3073\u51fa\u3055\u306a\u3044\u3068\u5024\u304c\u6c7a\u307e\u3089\u306a\u3044\u3088\u3046\u306a\u578b\u306f\u6307\u5b9a\u3067\u304d\u306a\u3044\u3053\u3068\u304c\u5927\u534a\u3067\u3059\u3002 \u21a9<\/p>\n<p>\u4ee5\u964d\u3067\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u304c\u3001\u914d\u5217\u578b\u306b\u306fClone\u30c8\u30ec\u30a4\u30c8\u53ca\u3073Copy\u30c8\u30ec\u30a4\u30c8\u306e\u4e21\u65b9\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u3066\u89e3\u8aac\u306e\u4e0a\u3067\u4e0d\u90fd\u5408\u3060\u3063\u305f\u306e\u3067Vec\u3092\u9078\u3093\u3060\u7d4c\u7def\u3082\u3042\u308a\u307e\u3059\u3002 \u21a9<\/p>\n<p>TypeScript\u3067\u306f\u304b\u306a\u308a\u8272\u3005\u306a\u4f7f\u308f\u308c\u65b9\u3092\u3057\u3066\u3044\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u3088\u3046\u3067\u3059\u306d\u3002\u4eca\u56de\u306e\u306fclass\u306bimplements\u3059\u308b\u4f7f\u3044\u65b9\u3092\u3059\u308binterface\u3067\u3059\u3002 \u21a9<\/p>\n<p>\u88cf\u3092\u8fd4\u3059\u3068Clone\u30c8\u30ec\u30a4\u30c8\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u306a\u3044\u578b\u304cVec\u306e\u8981\u7d20\u306b\u306a\u3063\u3066\u3044\u305f\u5834\u5408\u3001\u3064\u307e\u308a\u3001Clone\u3092\u5b9f\u88c5\u3057\u306a\u3044T\u306b\u5bfe\u3059\u308bVec\u306b\u3064\u3044\u3066\u306f\u3001Clone\u304c\u5b9f\u88c5\u3055\u308c\u305aclone\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30b8\u30a7\u30cd\u30ea\u30af\u30b9\u3092\u4e0a\u624b\u304f\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3053\u306e\u3088\u3046\u306a\u5b9f\u88c5\u304c\u53ef\u80fd\u3067\u3059\u3002 \u21a9<\/p>\n<p>\u4e0d\u5909\u6027\u306f\u57fa\u672c\u7684\u306b\u306f\u518d\u5e30\u7684\u306b\u6210\u308a\u7acb\u3061\u307e\u3059\u304c\u3001\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u3069\u3053\u304b\u306b\u53ef\u5909\u53c2\u7167\u3092\u5185\u5305\u3059\u308b\u3088\u3046\u306a\u69cb\u9020\u4f53\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u306e\u4e0d\u5909\u53c2\u7167\u304b\u3089\u3082\u53ef\u5909\u53c2\u7167\u3092\u901a\u3057\u3066&#8221;\u4e2d\u8eab\u3092\u5909\u3048\u3089\u308c\u308b&#8221;\u3053\u3068\u306b\u6c17\u3092\u4ed8\u3051\u3066\u304f\u3060\u3055\u3044\u3002 \u21a9<\/p>\n<p>\u30b9\u30e9\u30a4\u30b9\u306b\u5b58\u5728\u3059\u308bsort\u30e1\u30bd\u30c3\u30c9\u306e\u8eca\u8f2a\u518d\u958b\u767a\u3067\u3059\u3002 \u21a9<\/p>\n<p>Python\u306e\u5834\u5408\u306f\u5143\u306e\u914d\u5217\u306b\u4e00\u5207\u624b\u304c\u52a0\u308f\u308a\u307e\u305b\u3093\u3002Rust\u306e\u5834\u5408\u306f\u3069\u3063\u3061\u3068\u3082\u8a00\u3048\u305a\u3001clone\u3092\u4f7f\u3063\u3066\u8907\u88fd\u3057\u305f\u3082\u306e\u3092\u6e21\u3059\u5834\u5408\u306f\u5024\u6e21\u3057\u306e\u305f\u3081\u5143\u306e\u914d\u5217\u306b\u5f71\u97ff\u304c\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u305d\u306e\u307e\u307e\u6e21\u3059\u5834\u5408\u306f\u305d\u3082\u305d\u3082\u6240\u6709\u6a29\u304c\u596a\u308f\u308c\u307e\u3059\u3002 \u21a9<\/p>\n<p>\u6b63\u78ba\u306b\u306f\u3001Deref\u30c8\u30ec\u30a4\u30c8\u3084DerefMut\u30c8\u30ec\u30a4\u30c8\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u578b\u304b\u3089T\u3092\u53d6\u308a\u51fa\u3059\u64cd\u4f5c\u306b\u306a\u308a\u307e\u3059\u3002Deref\u30c8\u30ec\u30a4\u30c8\u3067\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3092\u666e\u901a\u306e\u53c2\u7167\u306e\u3088\u3046\u306b\u6271\u3046 &#8211; The Rust Programming Language \u65e5\u672c\u8a9e\u7248 \u21a9<\/p>\n<p>\u53c2\u7167\u5916\u3057\u3067\u6240\u6709\u6a29\u8b72\u6e21\u306e\u3088\u3046\u306a\u3053\u3068\u304c\u767a\u751f\u3057\u305d\u3046\u306a\u30b7\u30fc\u30f3\u3067\u306f\u3001Copy\u30c8\u30ec\u30a4\u30c8\u3092\u5b9f\u88c5\u3057\u305f\u578b\u3067\u306a\u3044\u3068\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\u3002Copy\u30c8\u30ec\u30a4\u30c8\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u3001Clone::clone(&amp;self)\u304c\u547c\u3070\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u7d50\u5c40\u6240\u6709\u6a29\u81ea\u4f53\u306f\u4e0d\u8981\u3067\u3059\u3002Copy\u30c8\u30ec\u30a4\u30c8\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u306f\u304a\u307e\u3051 Copy\u30c8\u30ec\u30a4\u30c8\u3092\u898b\u3066\u304f\u3060\u3055\u3044\u3002 \u21a9<\/p>\n<p>\u3053\u306e\u8fba\u3082\u6b63\u78ba\u306b\u3069\u306e\u3088\u3046\u306b\u53c2\u7167\u304c\u8a55\u4fa1\u3055\u308c\u3066\u3044\u308b\u304b\u3092\u8003\u3048\u308b\u306e\u304c\u96e3\u3057\u3044\u90e8\u5206\u306e\u305f\u3081\u3001\u89e3\u8aac\u306b\u8aa4\u308a\u304c\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3084\u3063\u3071\u30e9\u30a4\u30d5\u30bf\u30a4\u30e0\u3063\u3066\u96e3\u3057\u3044\u3067\u3059\u306d&#8230; \u21a9<\/p>\n<p>\u672c\u5f53\u306fRc\u578b\u306b\u5b9f\u88c5\u3055\u308c\u305fClone\u30c8\u30ec\u30a4\u30c8\u7531\u6765\u306e\u30e1\u30bd\u30c3\u30c9clone\u3067\u3001\u30b3\u30fc\u30c9\u4e2d\u306b\u3082\u66f8\u3044\u305f\u3088\u3046\u306bRc\u578b\u306e\u5909\u6570\u306b\u3064\u3044\u3066hoge.clone()\u306e\u3088\u3046\u306b\u547c\u3073\u51fa\u3059\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002\u4e00\u822c\u7684\u306aclone\u30e1\u30bd\u30c3\u30c9\u3067\u306f\u30ea\u30bd\u30fc\u30b9\u306e\u30af\u30ed\u30fc\u30f3\u304c\u884c\u308f\u308c\u308b\u30b3\u30b9\u30c8\u304c\u304b\u304b\u308b\u4e00\u65b9\u3001\u3053\u3061\u3089\u306f\u53c2\u7167\u306e\u307f\u30af\u30ed\u30fc\u30f3\u3055\u308c\u30b3\u30b9\u30c8\u304c\u304b\u304b\u308a\u307e\u305b\u3093\u3002\u305d\u308c\u3092\u533a\u5225\u3059\u308b\u305f\u3081\u3001\u6163\u4f8b\u7684\u306b\u95a2\u9023\u95a2\u6570\u306e\u3088\u3046\u306b\u547c\u3073\u51fa\u3059\u6587\u5316\u304c\u3042\u308b\u305d\u3046\u3067\u3059\u3002\u305d\u306e\u6587\u5316\u306b\u5408\u308f\u305b\u307e\u3057\u305f\u3002 \u21a9<\/p>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>\u203b \u5c0f\u8aac\u3067\u3059 \u203b \u8aad\u3080\u3068Rust\u3084\u6240\u6709\u6a29\u30fb\u53c2\u7167\u3068\u3061\u3087\u3063\u3068\u3060\u3051\u4ef2\u826f\u304f\u306a\u308c\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093 \u203b \u307e\u3068\u3081\u3084\u30e1\u30c3\u30bb\u30fc\u30b8 [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-44951","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>- Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:description\" content=\"\u203b \u5c0f\u8aac\u3067\u3059 \u203b \u8aad\u3080\u3068Rust\u3084\u6240\u6709\u6a29\u30fb\u53c2\u7167\u3068\u3061\u3087\u3063\u3068\u3060\u3051\u4ef2\u826f\u304f\u306a\u308c\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093 \u203b \u307e\u3068\u3081\u3084\u30e1\u30c3\u30bb\u30fc\u30b8 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-07T04:56:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T16:33:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/31-0.png\" \/>\n<meta name=\"author\" content=\"\u96c5, \u609f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u96c5, \u609f\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/\",\"name\":\"- Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-03-07T04:56:16+00:00\",\"dateModified\":\"2024-04-28T16:33:54+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\",\"name\":\"\u96c5, \u609f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"caption\":\"\u96c5, \u609f\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"- Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/","og_locale":"zh_CN","og_type":"article","og_description":"\u203b \u5c0f\u8aac\u3067\u3059 \u203b \u8aad\u3080\u3068Rust\u3084\u6240\u6709\u6a29\u30fb\u53c2\u7167\u3068\u3061\u3087\u3063\u3068\u3060\u3051\u4ef2\u826f\u304f\u306a\u308c\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093 \u203b \u307e\u3068\u3081\u3084\u30e1\u30c3\u30bb\u30fc\u30b8 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-03-07T04:56:16+00:00","article_modified_time":"2024-04-28T16:33:54+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d5bb537434c4406ceb8bf\/31-0.png"}],"author":"\u96c5, \u609f","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u96c5, \u609f","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"15 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/","name":"- Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-03-07T04:56:16+00:00","dateModified":"2024-04-28T16:33:54+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6","name":"\u96c5, \u609f","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","caption":"\u96c5, \u609f"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44951-2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=44951"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44951\/revisions"}],"predecessor-version":[{"id":68636,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44951\/revisions\/68636"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=44951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=44951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=44951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}