【发布时间】:2023-03-04 11:31:02
【问题描述】:
我在 R2 和处理面孔方面遇到了很多困难。 get-facet 对我来说似乎非常不直观。
假设我有一个区域:
view [c: area "hello"] print get-facet c 'text-edit
get-facet 总是返回"hello",即使我在该区域输入了其他内容。这是怎么回事? 'caret 和 'state 构面对象包含正确的文本,但我找不到访问它们的方法。
【问题讨论】:
我在 R2 和处理面孔方面遇到了很多困难。 get-facet 对我来说似乎非常不直观。
假设我有一个区域:
view [c: area "hello"] print get-facet c 'text-edit
get-facet 总是返回"hello",即使我在该区域输入了其他内容。这是怎么回事? 'caret 和 'state 构面对象包含正确的文本,但我找不到访问它们的方法。
【问题讨论】:
正确的命令是get-face。获取方面应该用于
对于上面的示例,它是通过以下方式修复的:
view [c: area "hello"] print get-face c
来自 Cyphre 的解释:get-face 适用于应用程序程序员,但 get-facet 适用于样式开发人员,因为它直接访问样式内部。如果样式更新,如果不使用get-face,它可能会破坏代码。应该避免在面部上使用 /text 或 /data 之类的细化,因为这在 R2 中很容易做到
AREA 的 facet TEXT-EDIT 看起来只是存储初始化,而 state/caret facet 对象包含运行时数据
【讨论】: