プログラミング
Clojure 1.13でチェック付きキーのサポートが追加
Clojure 1.13 adds support for checked keys (clojure.org)
要約
Clojure 1.13.0-alpha1がリリースされ、マップの分割代入時に必須キーが存在しない場合にエラーを発生させる「チェック付きキー」機能が追加されました。これにより、コードの堅牢性が向上します。また、PersistentArrayMapのパフォーマンス改善やその他の変更も含まれています。
全文翻訳
Clojure clojure.org ask.clojure.org Clojure 1.13.0-alpha1 Clojure 1.13.0-alpha1 2026年7月2日 Alex Miller
Clojure 1.13.0-alpha1が利用可能になりました!ダウンロードと使用方法については、ダウンロードページをご覧ください。
チェック付きキー
新しい:keys!/:syms!/:strs!ディレクティブのチェック付きバリアントを使用することで、マップの分割代入時に必須キーがバインドされていることを保証できるようになりました。キーが存在しない場合は例外が発生します。また、すべてのディレクティブで、&の後に指定されたキーはバインドされず、ドキュメントやチェックの目的で使用できます。
CLJ-2961 チェック付きキー
CLJ-2960 チェック付きキーの仕様
CLJ-2949 req! - キーが見つからない場合に報告するgetのバリアント
CLJ-2954 let/loop/let* - ローカルバインディングとしての&を禁止
Clojure 1.12.5以降のその他の変更点
キーワードキーのみを持つPersistentArrayMapは、PersistentHashMapsに移行する前にサイズ64(以前は8)まで成長するようになりました。この範囲ではPAMのIDスキャンはPHMのルックアップよりも効率的であり、多くの使用箇所がモノモルフィックになり最適化が容易になります。
CLJ-2891 静的イニシャライザ定数からACC_FINAL指定子を削除しました。この変更は、新しい検証チェックに対処するためにJavaバイトコードのベースラインを移動するための準備ステップとして行われました。
ランタイムおよびテストの依存関係が最新バージョンに更新されました
試してみてください
deps.ednの:depsを以下のように更新してください:
org.clojure/clojure {:mvn/version "1.13.0-alpha1"}
Clojure CLI(任意のバージョン)でREPLを開始するには:
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha1"}}}'
コミュニティリソース
貢献
企業
サイト
法的情報
ライセンス
プライバシーポリシー
ドキュメント
概要
リファレンス
API
ガイド
ライブラリとツール
アップデート
ニュース
イベント
ETC
ClojureTV
書籍
スワッグ
コードリリース
ソース
ClojureScript
ClojureCLR
Copyright 2008-2022 Rich Hickey | プライバシーポリシー
Logo & site design by Tom Hickey
公開日 2026-07-04
このページを更新