Emacs

Emacs Lispで(a==1 && a==2 && a==3) を true にしてみたい

元ネタ: javascript - Can (a ==1 && a== 2 && a==3) ever evaluate to true? - Stack Overflow

これに対する Qiita 記事のまとめが以下。

flet使えば良いですね。cl-fletを使うのが推奨されているようです。ちなみにfletとcl-fletの挙動は微妙に違うのですが(たしか)、今回に限っていうとどちらでも変わらず。

(require 'cl)

(cl-flet ((= (x y) t))
  (let ((a 10))
    (and (= a 1) (= a 2) (= a 3))))
; => t