Каталог сравнения не работает в дартс? - PullRequest
0 голосов
/ 09 июля 2019

Почему сравнение каталогов не работает ожидаемым образом в Dart?

import 'dart:io';

void main() {
  Directory d = Directory('/kek');
  Directory e = Directory('/kek');
  print(d==e);  // false
  print(d.hashCode);  // 123456
  print(e.hashCode);  // 654321
}

1 Ответ

1 голос
/ 09 июля 2019

Когда я читаю документацию для объекта Directory, методы hashCode и operator== просто наследуются от Object и, таким образом, не имеют специальной реализации, которая заставила бы два разных объекта Directory сравниваться, если они указывают на одно и то же.place.

Это было бы сложно реализовать.Должен ли hashCode канонизировать относительные пути и пути, содержащие "."а также ".."?Должен ли он следовать символическим ссылкам?А как насчет файлов с несколькими жесткими ссылками?

...