Перейти к содержимому
  • 0
ArtHacker

Как принимать аргументы в функциях?

Вопрос

Всем драсте.

Я с @maxutka99 делаю библиотеку.

И там есть одна вещь:

function color.set(number)
    local col = tonumber(number)
    local colors.setColor(col)
    print("Color Updated to:" ..col .."^_^")
end

при выполнении ошибка.

Она связана с тем что я как-то не правильно принимаю аргументы

Мне нужно чтобы если набрали color.set(88005553535) то это число было заключено в переменной. Именно число а не строка.

помогите плз 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

  • 1

Сначала нотации. Пока сам не понимаешь ошибку, другим нельзя писать, что "при выполнении ошибка". Я, конечно, пойму, что не так, но это займёт лишнее время. Сразу нужно описывать ошибку со стэком и прочим.

 

А теперь к сути. В третьей строке лишний local. local — это объявление локальной переменной. colors.setColor(col) — это вызов функции, но не объявление локальной переменной. Поэтому local здесь невалидный.

 

Придирки. Если функция требует число, зачем ещё раз его пропускать через tonumber?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А почему просто не проверять тип аргумента через:

checkArg(1,number,"number")

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
19 минут назад, Fingercomp сказал:

Сначала нотации. Пока сам не понимаешь ошибку, другим нельзя писать, что "при выполнении ошибка". Я, конечно, пойму, что не так, но это займёт лишнее время. Сразу нужно описывать ошибку со стэком и прочим.

 

А теперь к сути. В третьей строке лишний local. local — это объявление локальной переменной. colors.setColor(col) — это вызов функции, но не объявление локальной переменной. Поэтому local здесь невалидный.

 

Придирки. Если функция требует число, зачем ещё раз его пропускать через tonumber?

Спасибо, помог.

просто я немного туповат

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...