エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
後置演算マクロを定義するマクロ - Jack in the Sandbox
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
後置演算マクロを定義するマクロ - Jack in the Sandbox
後置インクリメントのような演算をマクロとして手軽に定義できるようにする、メタ・マクロ。 使い方は、... 後置インクリメントのような演算をマクロとして手軽に定義できるようにする、メタ・マクロ。 使い方は、3つの引数(定義するマクロ名、使用する演算名、第2オペランドのデフォルト値)を渡すだけ。演算名は単に貼り付けられるだけなので、マクロやラムダ式でも良い。 今回のバージョンでは、変数 place が delta の初期化部分でキャプチャできる(というか、できてしまう)。注意が必要かもしれない。 コード: (defmacro define-post-operator (name op default) `(defmacro ,name (place &optional (delta ,default)) (multiple-value-bind (dummies vals new setter getter) (get-setf-expansion place) `(let* (,@(mapcar