Как `find` действительно обнаружил символ в строке, когда ему передали строку, а не символ? - PullRequest
0 голосов
/ 19 января 2019

Я был удивлен, заметив, что find "rspq" "q" действительно нашел q в серии. Причина, по которой меня это удивило, состоит в том, что строка "rpsq" представляет собой серию символов, и я ожидал, что должен указать "q" как символ, а не как строку.

Это приводит к 2 вопросам для меня: 1. как указать символ q красным цветом? 1. почему поиск прошел успешно, хотя я передал строку, а не символ?

Ответы [ 2 ]

0 голосов
/ 19 января 2019
  1. Символы являются значениями типа char! и указываются следующим образом: c: #"q".
  2. Я бы сказал, что это потому, что Красный пытается скопировать поведение Ребола. И в документации Ребола вы можете найти этот пример:
probe find "here and now" "and"
"and now"
0 голосов
/ 19 января 2019
  1. Обратитесь к официальной справочной документации .
  2. Функции в красном очень полиморфны. find может выполнять поиск заданного элемента или первое появление подсерии.
...