私はコンスセルのためのElisp destructuring-bind?
(destructuring-bind (start end) (bounds-of-thing-at-point 'symbol))
をしたい。しかしbounds-of-thing-at-point
コンスセルとないリストを返すので、 destructuring-bind
が動作しないと思います。 このケースではどのようなことができますか?
私はコンスセルのためのElisp destructuring-bind?
(destructuring-bind (start end) (bounds-of-thing-at-point 'symbol))
をしたい。しかしbounds-of-thing-at-point
コンスセルとないリストを返すので、 destructuring-bind
が動作しないと思います。 このケースではどのようなことができますか?
destructuring-bind
がcl
パッケージからマクロなので、より多くの例については、Common Lispのドキュメントを検討する価値があるかもしれません。
This pageは、マクロの構文を示しています。 (wholevar reqvars optvars . var)
に注意してください。確かに私は確信していませんcl
バージョンdestructuring-bind
は、あまり一般的でないすべてのケースを実際にサポートしています(多くのキーワードはCommon Lispのマクロ/関数で使用すると意味がありますが、Emacs Lispではその意味はありません)。したがって
:
(destructuring-bind (start . end) (bounds-of-thing-at-point 'symbol) ;...)
が動作するはずです。
私は
(pcase-let ((`(,start . ,end) (bounds-of-thing-at-point 'symbol)))
...)
'使用すると思います(非構造バインドを(開始。最後に)(短所 'X' y)は(メッセージ "%sの%sは"))'私のために動作します。 Emacsのどのバージョンですか? –
完全に動作します。@ wvxvw。ドットを使うことを考えなかった。しかし、ドキュメンテーションはあまり有益ではなかった。私が受け入れることができるように答えを投稿できますか? –