From 65d4bc509dbbd3ccd753c06dbef0a4b30f700d68 Mon Sep 17 00:00:00 2001 From: "Matsuura Tomoya(Windows)" Date: Wed, 13 Aug 2025 02:55:44 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-08-13 02:55:43[ --- content/mimiumのレコード型.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/content/mimiumのレコード型.md b/content/mimiumのレコード型.md index 201ed2a9..c896096c 100644 --- a/content/mimiumのレコード型.md +++ b/content/mimiumのレコード型.md @@ -13,16 +13,24 @@ date: 2025-07-02 11:40 ## 基本構文 -構文のベースは [Elm](https://elm-lang.org/docs/records) である。小竹は Rust 風にはしない。 +構文のベースは [Elm](https://elm-lang.org/docs/records) である。この部分だけは Rust 風にはしない。 匿名レコード型を正の文脈で使う。 ```rust -let myadsr_param = { attack = 100.0, decay = 200.0, sustain:float = 0.6, // let 式同様に型注釈は省略可能だ release = 2000.0, // 末尾のカンマも許可されるべきだ } let singlerecord = { value = 100, // フィールドが1つだけのレコードは、ブロックや代入構文と区別するために末尾カンマが必須だ } +let myadsr_param = { +    attack = 100.0, +    decay = 200.0, +    sustain:float = 0.6, // let 式同様に型注釈は省略可能だ +    release = 2000.0, // 末尾のカンマも許可されるべきだ +} +let singlerecord = { +    value = 100, // フィールドが1つだけのレコードは、ブロックや代入構文と区別するために末尾カンマが必須だ +} ``` -後で実装予定だが、型エイリアス/新規型宣言の中でもデフォルト値を設定できる。宣言内のデフォルト値はリテラルである必要がある。 +後で実装予定だが、型エイリアス/新規型宣言の中でもデフォルト値を設定できる。宣言内のデフォルト値はリテラルである必要がある(のか?)。 ```rust @@ -50,7 +58,8 @@ Elm 由来の「update」構文も加える。ただし区切りにはパイプ ```rust -let newadsr = { myadsr_param <- attack = 4000.0, decay = 2000.0 } // attack フィールドのみ上書きして新しいレコードを生成 +let newadsr = { myadsr_param <- attack = 4000.0, decay = 2000.0 } +// attack,decay フィールドのみ上書きして新しいレコードを生成 ``` これは以下のような構文糖衣として実装できる。