Класс для работы со строками. В выражении строка считается определенной (def), если она не пуста. Если в строке содержится число, то при попытке использовать его в математических выражениях содержимое строки будет автоматически преобразовано к double. Если строка пуста, ее числовое "значение" в математических выражениях считается нулем.
Создание объекта класса string:
$str[Строка, которая содержится в объекте]
Для совместимости с пустым хешом пустая и пробельная строка позволяют обращение к произвольным полям ($str.key) без сообщения об ошибке. [3.4.5]
Ниже пример кода, когда это удобно:
Если оба условия будут ложны, то в качестве опций в метод будет передан не хеш, а строка, состоящая из пробельных символов. Тем не менее, благодаря совместимости с пустым хешом код будет работать как задумано.