Здравствуйте, PhantomIvan, Вы писали:
PI>обратите внимание на
PI>PI>.Equals(None())
PI>
В данном случае можно так:
is None()
Здравствуйте, PhantomIvan, Вы писали:
PI>но почему компилятор не заменяет == на equals?
PI>не справляется со спецификацией generic-типа option? или я что-то недопонимаю?
Немерл ,и снова вопросАвтор: chudo19
Дата: 19.09.06
... << RSDN@Home 1.2.0 alpha rev. 655>>
есть строка в коде
def entries = entries.Filter(entry => exclude.Find(folder => File.Exists(folder + local(entry))).Equals(None()));
она работает
обратите внимание на
.Equals(None())
по идее, я сначала написал
def entries = entries.Filter(entry => exclude.Find(folder => File.Exists(folder + local(entry))) == None());
но так он выдает
Error : comparing values of types option[string] and option[?] with reference equality
но почему компилятор не заменяет == на equals?
не справляется со спецификацией generic-типа option? или я что-то недопонимаю?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
30.01.07 18:14: Перенесено модератором из 'Декларативное программирование' — IT
PI>>но почему компилятор не заменяет == на equals?
PI>>не справляется со спецификацией generic-типа option? или я что-то недопонимаю?
ie>Немерл ,и снова вопросАвтор: chudo19
Дата: 19.09.06
ага, понял
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, PhantomIvan, Вы писали:
PI>есть строка в коде
PI>PI>def entries = entries.Filter(entry => exclude.Find(folder => File.Exists(folder + local(entry))).Equals(None()));
PI>
None — это опция варианта option[T]? Если так, то лучше вместо ".Equals(None())" или "... == None()" применять сокращенный вариант паттерн-матчинга "... is None". В принципе, в этом случае "... == None()" даст тот же эффект. Но вот если понадобится сделать проверку вроде '... == Some("некий паттерн")', то 'is' уже будет предпочтительнее.
... << RSDN@Home 1.2.0 alpha rev. 637>>