Перейти к содержанию
  • 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
Да. А еще Луа вычитать может, умножать и даже страшно подумать, извлекать корни

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

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

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

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


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

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

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

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

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

Авторизация  

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