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