Может ли кто-нибудь дать некоторое представление о том, что означает этот символ и как он используется в Scala? Я впервые увидел этот символ в этом видео о функциональной структуре в Scala (вы можете увидеть, как он печатает символ здесь: https://thewikihow.com/video_tD_EyIKqqCk?t=3364)
Поиск в гугле выдал эту ссылку на устаревшее руководство HTCondor в разделе 4.1.3.3/Операторы сравнения/пункт 5 (https://research.cs.wisc.edu/htcondor/manual/v7.8/4_1HTCondor_s_ClassAd.html #ClassAd:оценка-мета)
Говорится: «Кроме того, операторы =?= и =!= ведут себя аналогично == и !=, но не являются строгими. Семантически =?= проверяет, являются ли его операнды identical,'' i.e., have the same type and the same value. For example, 10 == UNDEFINED and UNDEFINED == UNDEFINED both evaluate to UNDEFINED, but 10 =?= UNDEFINED and UNDEFINED =?= UNDEFINED evaluate to FALSE and TRUE respectively. The =!= operator test for the не идентичными условию».
Мой вопрос: даст ли использование '==' те же результаты в показанном коде?
Я думаю, что это функция, определенная в файле Equals.scala автором видео.
У вас есть цитата из какого-то языка ClassAd, который, похоже, не связан со Scala. Я никогда не видел этот метод =?= раньше.
Однако я нашел его определение здесь, в репозитории, принадлежащем Майклу Пилквисту, который также снял видео:
object IsEq {
implicit class Syntax[A](lhs: A) {
def =?=(rhs: A): IsEq[A] = IsEq(lhs, rhs)
}
}
IsEq определяется следующим образом:
case class IsEq[A](lhs: A, rhs: A) {
def isEqual(implicit eq: Equal[A]): Boolean = eq.isEqual(lhs, rhs)
}
И Equal кажется классом типов для ограничения равенства объектов одного типа и использования пользовательского поведения для сравнения (например, есть экземпляр Equal для List, который проверяет равенство всех элементов).
trait Equal[A] {
def isEqual(lhs: A, rhs: A): Boolean
}
Спасибо, пользователь, вы загадка, а ваш ответ - нет, он проясняет.
Взгляните на это. - TL;DR; понятия не имею, что это за символ, он может означать что угодно, поскольку он не является частью языка, без упоминания из какой библиотеки он исходит, невозможно узнать, что он означает.