我国古代就有占卜的丰富传统,古典将这些解读视为来自神的迹象,而现代学者则将这些信仰视为原始迷信。现代很多大众则局的这是一个奇怪但可观察的事实进行了微妙的研究——人类有时可能有不可思议的洞察力。近年来我发现越来越多的年轻人喜欢在宝宝起名的时候的参考一下八字什么的,可以寻求心理安慰,也可以寄寓更好的含义,希望小孩子一生平安顺风顺水,有的则纯属好玩。
起名源码及演示:m.appwin.top
测试部分源码:tests.el
;;; tests.el --- tests for i-ching.el -*- coding: utf-8; lexical-binding: t -*-
;; some simple tests...
(require 'i-ching)
(ert-deftest i-ching-qrnd ()
(should (numberp (i-ching-q64)))
(should (< 0 (i-ching-q64)))
(should (>= 64 (i-ching-q64))))
(ert-deftest i-ching-rrnd ()
(should (numberp (i-ching-r64)))
(should (< 0 (i-ching-r64)))
(should (>= 64 (i-ching-r64))))
(ert-deftest i-ching-random ()
(should (numberp (i-ching-random 'quantum)))
(should (numberp (i-ching-random 'atmospheric)))
(should (numberp (i-ching-random 'pseudo))))
(ert-deftest i-ching-n2h ()
(should (string= "䷁" (i-ching-number-to-hexagram 2)))
(should (string= "䷩" (i-ching-number-to-hexagram 42)))
(should (string= nil (i-ching-number-to-hexagram 65))))
(ert-deftest i-ching-h2n ()
(should (eql 2 (i-ching-hexagram-to-number "䷁")))
(should (eql 40 (i-ching-hexagram-to-number "䷧")))
(should-not (i-ching-hexagram-to-number "NOT")))
(ert-deftest i-ching-b2h ()
(string= "䷧" (i-ching-binary-to-hexagram #b010100)))
(ert-deftest i-ching-names ()
(should-not (i-ching-number-to-name 65))
(should (string= "HEXAGRAM FOR BEFORE COMPLETION"
(i-ching-number-to-unicode-name 64)))
(should (string= "Before Completion"
(i-ching-number-to-name 64))))
(ert-deftest i-ching-descriptions ()
(should (stringp (i-ching-number-to-description 43)))
(should (stringp (i-ching-number-to-judgment 27)))
(should (stringp (i-ching-number-to-image 13)))
(should-not (stringp (i-ching-number-to-description 65)))
(should-not (stringp (i-ching-number-to-judgment 65)))
(should-not (stringp (i-ching-number-to-image 65))))
(ert-deftest i-ching-all-descriptions ()
(dotimes (i 63)
(should-not (seq-empty-p (i-ching-number-to-unicode-name (1+ i))))
(should-not (seq-empty-p (i-ching-number-to-description (1+ i))))
(should-not (seq-empty-p (i-ching-number-to-judgment (1+ i))))
(should-not (seq-empty-p (i-ching-number-to-image (1+ i))))
(should-not (seq-empty-p (i-ching-number-to-name (1+ i))))
(should (stringp (i-ching-number-to-unicode-name (1+ i))))
(should (stringp (i-ching-number-to-description (1+ i))))
(should (stringp (i-ching-number-to-judgment (1+ i))))
(should (stringp (i-ching-number-to-image (1+ i))))
(should (stringp (i-ching-number-to-name (1+ i))))))
(ert-deftest i-ching-interprets ()
(should (stringp (i-ching-interpretation 49)))
(should-not (seq-empty-p (i-ching-interpretation 49))))
(ert-deftest i-ching-queries ()
(should (stringp (i-ching-query-string)))
(should (stringp (i-ching-query-string '3-coins))))
(ert-deftest i-ching-castings ()
(should (stringp (i-ching-cast 'yarrow-stalks)))
(should (stringp (i-ching-cast '3-coins)))
(should (stringp (i-ching-cast))))
;; (i-ching-query '6-bit)
;; (i-ching-query '3-coins)
;; (i-ching-query 'yarrow-stalks)
;; interactive testing
(ert-deftest i-ching-query-6bit ()
(should (with-simulated-input
"testing SPC circumstances RET"
(i-ching-query '6-bit))))
(ert-deftest i-ching-query-3coin ()
(should (with-simulated-input
"testing SPC circumstances RET"
(i-ching-query '3-coins))))
(ert-deftest i-ching-query-yarrow ()
(should (with-simulated-input
"testing SPC circumstances RET"
(i-ching-query 'yarrow-stalks))))
;; run them...
(ert t)
;;; tests.el ends here
安装和配置
(use-package i-ching
:config (setq i-ching-hexagram-size 18
i-ching-hexagram-font "DejaVu Sans"
i-ching-divination-method '3-coins
i-ching-randomness-source 'pseudo)
:bind (("H-i h" . i-ching-insert-hexagram)))
铸卦
从传统到现实操作,有几种方法可以铸卦。
几个世纪以来,铸造硬币一直被用作参考易经的一种方式,并且因其简单易行而受到青睐。相比之下,蓍草杆法被广泛认为更传统,需要奉献精神、时间和精心制作的过程。硬币可能会更快更直接地产生结果(阳),而蓍草杆会屈服于时间并可以产生沉思的焦点(阴)。
最快(到目前为止)是通用计算机,它可以看似瞬间产生八卦。
用蓍草杆模拟出六芒形
(i-ching-cast 'yarrow-stalks)
模拟三枚硬币
(i-ching-cast '3-coins)
对于最终的计算实用主义,您可以从单个 6 位数字生成一个八卦。
(i-ching-cast '6-bit)
可以通过变量设置或自定义首选方法i-ching-divination-method
还有其他重要的方法尚未(尚未)实施,特别是黄描述的“古代”(新儒家重建)和“改良”的蓍草秸秆铸造方法以及在公元 20 世纪。
也可以显示特定卦的解释(即描述,判断和图像)
(i-ching-interpretation 42)
如何使用
以最简单的形式将易经作为神谕开始咨询,包括提出问题、铸造卦和解释卦以及卦的任何可能变化。
您可以通过调用来查询易经M-x i-ching-query
或者以编程方式使用前面描述的任何铸造方法。
(i-ching-query 'yarrow-stalks)
打印和显示卦
您可以在当前点投射并插入一个卦,i-ching-insert-hexagram或根据需要插入一个特定的卦(i-ching-insert-hexagram 23)
有时八卦可能无法正确显示或太小而无法阅读。确保您安装了包含八卦字符的字体(例如DejaVu系列或macOS 上的Apple 符号)。可以根据需要调整字体和大小,而对其他字符的显示方式的干扰最小……
(setq i-ching-hexagram-size 18
i-ching-hexagram-font "DejaVu Sans")
如果字形似乎没有改变,您可能需要致电(i-ching-update-fontsize)
改变或移动线路
3-coins和方法计算八卦的yarrow-stalk行(6 或 9)和变化的行(7 或 8)的值,如文本和注释中所述。这些值在内部表示为二进制对,用于生成单个八卦,或八卦和变化的八卦。当前的包不提供对个别行或变化行的评论,更喜欢对卦的简明描述(可能还有变化的卦)。
如果铸造产生变化的线条,则产生的八卦将显示为䷂→䷇或䷥ (䷢)显示时出现。
概率和随机性
3-coins和方法产生的铸造八卦的概率分布略有不同,如下表所示
在运行源码时,机会、同步性或随机性的性质和来源可以被认为是该过程的重要方面。因此,该软件包可以利用多种随机源,包括(通过ANUquantum对真空的量子涨落进行采样)、 (通过random.org 获取大气噪声)或(由本地计算环境提供的伪随机数)。可以评估每种方法的适用性并根据需要进行设置。
(setq i-ching-randomness-source 'quantum)
随机性的quantum和atmospheric来源都使用公共 API,并且可以进行数百次调用(特别是该方法的 121、125、129 或 133 yarrow-stalk),这可能需要几秒钟或几分钟,具体取决于可能受到速率限制的服务。这可以用作反思的时间。如果您希望更快地投射,您可以注册一个 API 密钥或使用本地pseudo随机源。
通过结合多种翻译、注释和评论,为“加密目的论唯我论研究”提供了指南,但存在于版权灰色地带。它采用了稍微不同的方法,并包括一些其他方法,包括日历、珠子和不幸的是未实现仿真模式,还有一个编程复制易经占卜的蓍草杆法在 javascript 中可用。