Предикаты

Вспомним функцию isInfant из прошлого урока:

<?php

function isInfant($age)
{
    return $age < 1;
}

var_dump(isInfant(3));
bool(false)

isInfant — это функция-предикат.

Предикат отвечает на утвердительный вопрос «да» или «нет», возвращая значение типа bool.

Предикаты во всех языках принято именовать особым образом для простоты анализа. В PHP предикаты как правило начинаются с префикса is или has:

  • isInfant — «младенец ли?»
  • hasChildren — «есть ли дети?»
  • isEmpty — «пустой ли?»
  • hasErrors — «есть ли ошибки?»

Функция может считаться предикатом только если она возвращает bool.


Давайте напишем еще одну функцию-предикат. Она принимает строку и проверяет, является ли она словом 'Castle':

<?php

function isCastle($str)
{
    return $str === 'Castle';
}

var_dump(isCastle('Sea'));
bool(false)

Задание

Напишите функцию isMister, которая принимает строку и проверяет, является ли она словом 'Mister'.


Советы
Определения
  • Предикат — выражение, отвечающее на вопрос «да» или «нет» с помощью типа bool.

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.