Какова противоположность chr () в Ruby?

Неустранимая ошибка: вызов неопределенной функции XXX

Случается, когда вы пытаетесь вызвать функцию, которая еще не определена. Общие причины включают отсутствующие расширения и включают в себя объявление условной функции, функцию в объявлении функции или простые опечатки.

Пример 1 - Декларация условной функции

$someCondition = false;
if ($someCondition === true) {
    function fn() {
        return 1;
    }
}
echo fn(); // triggers error

В этом случае fn() никогда не будет объявлено, потому что $someCondition не соответствует действительности.

Пример 2 - Функция в объявлении функции

function createFn() 
{
    function fn() {
        return 1;
    }
}
echo fn(); // triggers error

В этом случае fn будет объявлен только после вызова createFn(). Обратите внимание, что последующие вызовы createFn() вызовут ошибку об обновлении существующей функции.

Вы также можете увидеть это для встроенной функции PHP. Попробуйте найти функцию в официальном руководстве и проверьте, к какому «расширению» (к нему принадлежит PHP-модуль), и какие версии PHP поддерживают его.

В случае отсутствующее расширение, установите это расширение и включите его в php.ini. Обратитесь к Инструкции по установке в Руководстве по PHP для расширения вашей функции. Возможно, вы также сможете включить или установить расширение с помощью диспетчера пакетов (например, apt в Debian или Ubuntu, yum в Red Hat или CentOS ) или панель управления в среде общедоступного хостинга.

Если функция была введена в более новой версии PHP из того, что вы используете, вы можете найти ссылки на альтернативные реализации в руководстве или в разделе комментариев , Если он был удален из PHP, найдите информацию о том, почему, поскольку это может быть уже не нужно.

В случае отсутствия включено, обязательно включите файл, объявляющий функцию перед вызовом функции.

В случае опечаток исправить опечатку.

Вопросы, относящиеся

97
задан barelyknown 2 March 2013 в 20:30
поделиться

4 ответа

В Ruby до и включая 1,8 ряда, следующее оба произведет 65 (для ASCII):

puts ?A
'A'[0]

поведение изменилось в Ruby 1.9, оба из вышеупомянутого произведет "A" вместо этого. Корректный способ сделать это в Ruby 1.9:

'A'[0].ord

, К сожалению, ord метод не существует в Ruby 1.8.

33
ответ дан Robert Gamble 24 November 2019 в 05:28
поделиться

Попытка:

'A'.unpack('c')
13
ответ дан dylanfm 24 November 2019 в 05:28
поделиться

Кроме того, если у Вас есть символ в строке, и Вы хотите декодировать его без цикла:

puts 'Az'[0]
=> 65
puts 'Az'[1]
=> 122
3
ответ дан Kent Fredric 24 November 2019 в 05:28
поделиться

Как насчет

помещает?

2
ответ дан GregD 24 November 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: