Аргументы как выражения

Рассмотрим вот такой код:

var result = Math.min(1, 5);

Функция Math.min вызывается с аргументами 1 и 5.

Мы выяснили, что выражения превращаются в значения. То есть с точки зрения Java, значения и выражения — это что-то схожее. Поэтому любые значения в программе технически можно заменить выражениями.

При вызове функции можно передать в неё аргументом выражение:

var result = Math.min(1, 2 + 3);

Результат будет таким же, как в первом примере, потому что выражение 2 + 3 превратится в значение 5, и произойдет вызов Math.min с аргументами 1 и 5.

Более того, можно использовать переменные вперемешку со значениями и другими выражениями:

var number = 2 + 2;
var result = Math.min(1, 1 + number);

Естественно, это работает не только с числами, а с любыми значениями и выражениями. Например, со строками.

Давайте подытожим. Взгляните на несколько примеров из текущего урока:


// простые вызовы
var result = Math.min(1, 5);       // 1

// выражения в аргументах
var result = Math.min(1, 2 + 3);   // 1

// выражения с переменными в аргументах
var number = 2 + 2;
var result = Math.min(1, 1 + number);  // 1

Заметьте схожесть: во всех вызовах в функции передается какая-то информация, но иногда это простое, «готовое» значение, а иногда составное выражение — «неготовое» значение (2 + 3, 1 + number и т.д.). При этом во всех примерах передаётся два аргумента.

Задание

Вам доступна функция Functions.calculateDistanceBetweenTowns. Она принимает один аргумент, в котором должны содержаться названия двух городов через дефис. В ответ она возвращает расстояние между этими городами. Вот пример использования:

var distance = Functions.calculateDistanceBetweenTowns("Lannisport-Bayasabhad");

Напишите программу, которая использует функцию Functions.calculateDistanceBetweenTowns и выводит на экран расстояние между городами, записанными в переменные from и to.


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

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

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