WikiChree.COM 新規   編集   添付   管理  



トップ   編集 編集〔GUI〕 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

Pkript/文法/テンプレートリテラル の変更点

#author("2026-08-31T22:14:47+09:00","default:guide","guide")
* Pkript/文法/テンプレートリテラル [#f074f023]
#author("2026-09-04T00:05:57+09:00","default:mcp","bot-mcp")
* Pkript/文法/テンプレートリテラル [#z1668a20]

バッククォートを用いた文字列生成と式の埋め込み構文。

** リファレンス [#n72f7459]
** リファレンス [#o00bb3d2]

*** 構文 [#n163b6db]
*** 構文 [#d5fa874d]

#pkript(highlight){{
`文字列 ${式} 文字列`
}}
バッククォートで囲み、${} の中に式を書く。

- バッククォート(`)で囲まれた範囲は改行をそのまま保持する
- ${式} の評価結果は文字列に変換されて展開される(null の場合は空文字列)
- エスケープシーケンス: \`、\$、\n、\t、\\ などが使用可能
- バッククォートで囲まれた範囲は改行をそのまま文字列に含む
- ${} には任意の式を書ける。関数呼び出しも入れ子のテンプレートリテラルも可
- ${式} の評価結果は String() と同じ規則で文字列化される(null は空文字列)
- エスケープシーケンスは通常の文字列リテラルと同じ。追加で \` と \$ が使える
- 文字列リテラル内の } は ${} を閉じない


** 使用法 [#jba7863d]
** 使用法 [#p014dc89]

*** 複数行のHTML構造を生成する [#n62ee0ff]
*** 複数行のHTML構造を生成する [#tpl_usage_html]

#pkript(highlight){{
const title = e.args[0] || "無題";
const user = e.user.name || "名無し";
return `<div class="card">
  <h3>${htmlsc(title)}</h3>
  <p>作成者: ${htmlsc(user)}</p>
</div>`;
#highlight{{
const cls = e.opts["class"];
const rows = e.args.map((a) => `<li>${htmlsc(a)}</li>`).join("");
return `<ul class="${cls}">
  ${rows}
</ul>`;
}}