Предикатная логика, функциональное программирование, Скала

Moderator: Little Muk

vovan
Posts: 1513
Joined: 22 Sep 2011, 13:21

Re: Предикатная логика, функциональное программирование, Ска

Post by vovan »

Simple wrote:Функция ж всегда возвращает одно и то же значение.
Круто! Только где же функция?

Здесь функция есть и ты её можешь запросто протестировать на всех граничных условиях:

Code: Select all

 int[] numbers = { 0, 30, 20, 15, 90, 85, 40, 75 };

foreach (int number in numbers.Where(MySearch)
{
      Console.WriteLine(number);
}

bool MySearch(int number, int index)
{
   return number <= index * 10;
}
А вот здесь тестировать функцию гораздо сложнее:

Code: Select all

 int[] numbers = { 0, 30, 20, 15, 90, 85, 40, 75 };

foreach (int number in numbers.Where((number, index) => number <= index * 10))
{
      Console.WriteLine(number);
}
Если трудно написать юнит тесты то в ход идёт дебагер и тестируем все граничные условия. А с дебагером в данном коде проблема ;)
User avatar
Simple
Posts: 8678
Joined: 28 Sep 2011, 10:46
ник с it-ru.de: верифицирован
Location: Питер - Ганновер

Re: Предикатная логика, функциональное программирование, Ска

Post by Simple »

Get it.
Is this your homework, Larry? (c)
User avatar
Джимми
Posts: 8239
Joined: 20 Jan 2012, 17:02
Location: Одесса-Rheinbach

Re: Предикатная логика, функциональное программирование, Ска

Post by Джимми »

vovan wrote:

Code: Select all

 int[] numbers = { 0, 30, 20, 15, 90, 85, 40, 75 };

foreach (int number in numbers.Where((number, index) => number <= index * 10))
{
      Console.WriteLine(number);
}
Если трудно написать юнит тесты то в ход идёт дебагер и тестируем все граничные условия. А с дебагером в данном коде проблема ;)
какие проблемы, в vs ты можешь поставить точку останова внутрь лямбды
потому что Джим каждое утро делает зарядку
User avatar
Golem
Posts: 2060
Joined: 07 Feb 2012, 12:16

Re: Предикатная логика, функциональное программирование, Ска

Post by Golem »

Simple wrote:Get it.
GOT IT. Grammar Nazi Otake!
- Учение Маркса всесильно, потому что оно верно!
- А почему оно верно?
- Потому что гладиолус!

(c) Роберт Галантович Нефтянников, почетный зиц-председатель казахстанского общества общепризнанных авиационных экспертов мирового масштаба.
vovan
Posts: 1513
Joined: 22 Sep 2011, 13:21

Re: Предикатная логика, функциональное программирование, Ска

Post by vovan »

Джимми wrote:какие проблемы, в vs ты можешь поставить точку останова внутрь лямбды
Джимми, просвети как в этой строчке поставить брэйкпоинт внутрь лямбды:

Code: Select all

foreach (int number in numbers.Where((number, index) => number <= index * 10))
Конечно если переписать код так что это будет несколько строчек, то конечно можно.

Мне нравится простое правило: не делай много действий в одной строчке. А приведённый код однозначно перегружен.
User avatar
Simple
Posts: 8678
Joined: 28 Sep 2011, 10:46
ник с it-ru.de: верифицирован
Location: Питер - Ганновер

Re: Предикатная логика, функциональное программирование, Ска

Post by Simple »

Golem wrote:
Simple wrote:Get it.
GOT IT. Grammar Nazi Otake!
Nobody like a smart ass! :-D
Is this your homework, Larry? (c)
User avatar
Джимми
Posts: 8239
Joined: 20 Jan 2012, 17:02
Location: Одесса-Rheinbach

Re: Предикатная логика, функциональное программирование, Ска

Post by Джимми »

vovan wrote:Джимми, просвети как в этой строчке поставить брэйкпоинт внутрь лямбды:
untitled.JPG
untitled.JPG (30.49 KiB) Viewed 3028 times
ставишь курсор на начало и жмешь Ф9
потому что Джим каждое утро делает зарядку
User avatar
Golem
Posts: 2060
Joined: 07 Feb 2012, 12:16

Re: Предикатная логика, функциональное программирование, Ска

Post by Golem »

Simple wrote:
Golem wrote:
Simple wrote:Get it.
GOT IT. Grammar Nazi Otake!
Nobody likeS a smart ass! :-D
- Учение Маркса всесильно, потому что оно верно!
- А почему оно верно?
- Потому что гладиолус!

(c) Роберт Галантович Нефтянников, почетный зиц-председатель казахстанского общества общепризнанных авиационных экспертов мирового масштаба.
User avatar
Simple
Posts: 8678
Joined: 28 Sep 2011, 10:46
ник с it-ru.de: верифицирован
Location: Питер - Ганновер

Re: Предикатная логика, функциональное программирование, Ска

Post by Simple »

Whatever ;)
Is this your homework, Larry? (c)
Guest

Re: Предикатная логика, функциональное программирование, Ска

Post by Guest »

vovan wrote:Если трудно написать юнит тесты то в ход идёт дебагер и тестируем все граничные условия. А с дебагером в данном коде проблема ;)
Ну, не все в жизни меряется тестируется дебаггером. В GHC Хаскеле дебаггера нет как явления - и ниче, живем...
"Надо себя заставлять"
Post Reply