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

Аргументы в rs.setBundled [CC]

Вопрос

Есть переменная типа string

a='1+2+4'

Мне нужно сделать так, чтобы rs.setBundledOutput принял её т.е. чтобы работало

rs.setBundledOutput("right",a)

Сейчас выдаёт ошибку, что это не число.

Изменено пользователем Lionzxy

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


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

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

  • 0

Чтобы оно выдавало сигнал на белый провод, оранжевый и т.д.

тогда просто коды плюсуй как числа и передавай в функцию.

а = 4 + 8 + 16

а будет равно 28

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


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

Конечно не число, а строка. Тебе нужно эту строку в число преобразовать. Просто tonumber не поможет, поскольку а представляет собой не число, а арифметическое выражение. Можешь сделать функцию для разбора арифметических выражений. А можешь воспользоваться функцией loadstring

a="1+2+4"
n=loadstring("return "..a)()
rs.setBundledOutput("right",n)

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Конечно не число, а строка. Тебе нужно эту строку в число преобразовать. Просто tonumber не поможет, поскольку а представляет собой не число, а арифметическое выражение. Можешь сделать функцию для разбора арифметических выражений. А можешь воспользоваться функцией loadstring

a="1+2+4"
n=loadstring("return "..a)()
rs.setBundledOutput("right",n)

Вы понимаете, что мне нужно сохранить в rs.setBundledOutput полную строку? Мне не надо её складывать, тоесть,чтобы в итоге

rs.setBundledOutpu("right",1+2+4)

Спасибо за ответ

И что делает loadstring?

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


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

Bundled работает по принципу бинарника

00000000 = 0 нет сигналов

00000001 = 1 сигнал только на одном цвете

00000010 = 2 сигнал на другом цвете

00000011 = 4 сигнал на обоих цветах

00000111 = 8 сигнал на 3 цветах

00001111 = 16 сигнал на 4 цветах

 

Он как раз таки принимает число, чтобы работать с сигналами, а не стринги типа тех, что ты привел в пример их туда никак не впихнуть

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


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

00000000 = 0 нет сигналов

00000001 = 1 сигнал только на одном цвете

00000010 = 2 сигнал на другом цвете

00000011 = 4 сигнал на обоих цветах

 

Он как раз таки принимает число, чтобы работать с сигналами, а не стринги типа тех, что ты привел в пример

Так как мне заставить его работать с string? Тоесть преобразовать string в понятную ему форму.

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


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

Так как мне заставить его работать с string? Тоесть преобразовать string в понятную ему форму.

Для начала объясни, зачем тебе было впихивать туда стринг с плюсами?

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Для начала объясни, зачем тебе было впихивать туда стринг с плюсами?

Чтобы оно выдавало сигнал на белый провод, оранжевый и т.д.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
тогда просто коды плюсуй как числа и передавай в функцию.

а = 4 + 8 + 16

а будет равно 28

Ого. Не знал, что так можно. Спасибо.

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


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

Да. А еще Луа вычитать может, умножать и даже страшно подумать, извлекать корни

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Да. А еще Луа вычитать может, умножать и даже страшно подумать, извлекать корни

Да вы что?! И в квадрат возводить может? Очуметь. Такой функционал

Да. А еще Луа вычитать может, умножать и даже страшно подумать, извлекать корни

Просто думал, что изначально по setBundble отправляется 1+2+4, а потом разбивается по цифрам. Не думал, что оно складывает

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


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

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

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

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

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

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

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

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

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


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