对于工作,我想以最简洁的方式描述标准医学公式(用于报告药物副作用)的格式。(粗略地说,通过打嗝来渲染它,但不仅如此,这就是为什么我不直接把它写成打嗝结构)
例如,部分描述将是:
{"reportertitle" [:one-of "Dr" "Pr" "Mrs" "Mr"] ; the reporter is usually the physician
"reportergivenname" :text
"reporterfamilyname" :text
"reporterorganization" :text
"reporterdepartment" :text
....
"literaturereference" :text
"studyname" :text
....}
键是标准名称,我无法更改它们,但我希望能够轻松分解事物:例如,前缀“reporter”在整个地图中被高度使用,我希望能够分解它,例如通过做:
{ (prefix "reporter"
"title" [:one-of "Dr" "Pr" "Mrs" "Mr"]
"givenname" :text
"familyname" :text
"organization" :text
"department" :text)
.....
"literaturereference" :text
"studyname" :text
....}
但这行不通,因为我认为我无法在外部映射内“整合”(拼接,我相信是正确的术语)“前缀”的结果,无论是函数还是宏。
是否有解决方案来实现这一点,同时保持高水平的声明性/简洁性?(整个表格很大,非开发人员可能会阅读)
(因为我是 Clojure 的新手,所以几乎所有的设计建议都是受欢迎的;))
谢谢!