Re: немерле: сравнение с None()
От: Vermicious Knid  
Дата: 23.09.06 12:20
Оценка: 2 (1) +1
Здравствуйте, PhantomIvan, Вы писали:

PI>обратите внимание на

PI>
PI>.Equals(None())
PI>

В данном случае можно так:
 is None()
Re: немерле: сравнение с None()
От: ie Россия http://ziez.blogspot.com/
Дата: 23.09.06 11:57
Оценка: 2 (1)
Здравствуйте, PhantomIvan, Вы писали:

PI>но почему компилятор не заменяет == на equals?

PI>не справляется со спецификацией generic-типа option? или я что-то недопонимаю?

Немерл ,и снова вопрос
Автор: chudo19
Дата: 19.09.06
... << RSDN@Home 1.2.0 alpha rev. 655>>
Превратим окружающую нас среду в воскресенье.
немерле: сравнение с None()
От: PhantomIvan  
Дата: 23.09.06 10:02
Оценка:
есть строка в коде
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
Re[2]: немерле: сравнение с None()
От: PhantomIvan  
Дата: 23.09.06 12:28
Оценка:
PI>>но почему компилятор не заменяет == на equals?
PI>>не справляется со спецификацией generic-типа option? или я что-то недопонимаю?

ie>Немерл ,и снова вопрос
Автор: chudo19
Дата: 19.09.06


ага, понял
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: немерле: сравнение с None()
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.09.06 21:44
Оценка:
Здравствуйте, 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>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.