変数で利用する文字列を式で表現する方法
mabl文字列テンプレートの有効な式
mabl文字列テンプレートでは、定数値、ランダム値、変数、数式から文字列を作成できます。mablは、ランダム文字列を生成するために文字列テンプレートで特定のマクロをサポートし、文字列テンプレートへの変数値の埋め込みもサポートします。マクロと変数は、二重中括弧で囲みます。
文字列テンプレートの変数の先頭にも、@を付加します。文字列テンプレートで使用可能な変数を使用した有効な式の例を次に示します。
{{@variable}}
Viewed {{@two}} elements
マクロの後にはコロンと数字を使用します。数字は、作成するランダムな文字の数を示します。文字列テンプレートに使用可能なサポート対象のマクロのリストは次のとおりです。
alpha
- 大文字と小文字alphaLower
- 小文字 (a~z)alphaUpper
- 大文字 (A~Z)digit
- 数字 (0~9)alnum
- 英数字 (つまり、英字と数字の組み合わせ)
マクロを使用した有効な式の例を次に示します。
{{alpha:3}}
abc{{alphaLower:4}}
ABC{{alphaUpper:5}}
123-{{digit:4}}
random{{alnum:6}}


ランダムデータを生成するための有効な式
mablは、文字列テンプレートを使用して現実的なランダムデータを生成することもできます。ランダムデータ式は、二重中括弧で囲み、"fake" を前に付ける必要があります。構文は {{fake.type.subtype}} の形式で、たとえば、{{fake.name.lastName}} のように指定します。文字列テンプレートを使用してランダムデータを作成する方法を例で示します。


ランダムな名の作成
ランダムな金額も生成できます。


ランダムな金額の作成
ランダムなタイトルも作成できます。


ランダムデータを作成するために一般的に使用される式の一部を次に示します。
式 | 想定 | 結果の例 |
---|---|---|
| ランダムな名 | "Garfield" |
| ランダムな姓 | "Larson" |
| ランダムな住所 | "840 Roberts Burg" |
| ランダムな都市名 | "Manteton" |
| ランダムな米国の州名 | "North Carolina" |
| ランダムな米国の郵便番号 | "02160" |
| ランダムな2文字の国コード | "TN" |
| ランダムな会社名 | "Sawayn Group" |
| 複数の形式のいずれかのランダムな電話番号 | "1-968-628-9831 x738" |
| ###-###-####形式のランダムな電話番号 | "776-705-5652" |
| ランダムなフィラーテキスト | "consequatur omnis neque" |
| ランダムなUUID | "71bcc5d3-7f24-4b08-bcf8-f9b8e0d6d913" |
| ランダムな金額 | "17.78" |
有効なすべてのタイプとサブタイプのリストについては、faker.jsのドキュメントにアクセスしてください。
faker.jsのドキュメントを使用して式を作成する方法
faker.jsのドキュメントには、有効なタイプとサブタイプがtype.subtypeの形式でリストされています。mablは、式が {{fake.type.subtype}} の形式であることを想定しています。
有効な数式
mablは、文字列テンプレート内で基本的な数学演算を実行し、結果を新しい変数に保存したり、既存の変数を上書きしたりできます。式の作成は、正しい結果を得るために重要です。評価対象の数式は、二重中括弧で囲む必要があります。文字列テンプレートで有効な数式を作成する方法を次の例で示します。
- 以下は、数学演算でdigitマクロを使用する例です。ここでは、9と評価されたマクロに100が加算されます。


- 数式は、PEMDASルールに基づいて評価されます。
例: {{5 + 3 / 2}} は6.5と評価されます。 - 数学演算を特定の順序で評価するには、括弧を使用します。
例: {{(5 + 3) / 2}} は4と評価されます - 結果の文字列値に単位を付けるには、$や%などの文字列を連結します。
例: ${{(5 + 3) / 2}} は$4と評価されます。
高度な数式
mablは、数式の数値結果を特定の形式にする特定の数学関数もサポートしています。サポートされている関数は次のとおりです。
- round(number, numberOfDecialPlaces) - 数学演算の結果を小数点以下numberOfDecialPlaces桁に丸めます。


JavaScript浮動小数点精度
浮動小数点数の格納方法に起因する丸め誤差のため、0.1 + 0.2 === 0.3のような算術式はfalseを返します。これを解決するには、結果を丸める必要があります。たとえば、round(0.1 + 0.2, 1) または (0.1 + 0.2).toFixed(1) のように指定します。
-
abs(number) - 数学演算の絶対値を返します。
例: {{abs(-6)}} は6と評価されます。 -
randomInt(min, max) - min以上、max未満のランダムな整数を返します。
例: {{randomInt(0, 11)}} は、0~10のランダムな整数を返します。
Updated 4 months ago