当传递给字符串而不是字符时,“find”实际上如何定位字符串中的字符?
How did `find` actually locate a character in a string, when it was passed a string, not a character?
我惊讶地发现 find "rspq" "q"
实际上在该系列中找到了 q。让我感到惊讶的原因是字符串 "rpsq"
是一系列字符,我希望必须将 "q"
指定为字符而不是字符串。
这给我带来了 2 个问题:
1.如何在红色中指定字符q
?
1. 为什么我传入的是字符串而不是字符,却搜索成功?
- 参考official reference documentation。
- Red 中的函数是高度多态的。
find
可以搜索给定元素或子系列的第一次出现。
- 字符是
char!
类型的值,指定如下:c: #"q"
.
- 我会说这是因为 Red 试图复制 Rebol 的行为。在 Rebol's documentation 你可以找到这个例子:
probe find "here and now" "and"
"and now"
我惊讶地发现 find "rspq" "q"
实际上在该系列中找到了 q。让我感到惊讶的原因是字符串 "rpsq"
是一系列字符,我希望必须将 "q"
指定为字符而不是字符串。
这给我带来了 2 个问题:
1.如何在红色中指定字符q
?
1. 为什么我传入的是字符串而不是字符,却搜索成功?
- 参考official reference documentation。
- Red 中的函数是高度多态的。
find
可以搜索给定元素或子系列的第一次出现。
- 字符是
char!
类型的值,指定如下:c: #"q"
. - 我会说这是因为 Red 试图复制 Rebol 的行为。在 Rebol's documentation 你可以找到这个例子:
probe find "here and now" "and"
"and now"