Страница 1 из 1
Массив в строку
Добавлено: 18 янв 2022, 16:22
DrScorpion86
Подскажите, пожалуйста, как перевести весь массив в строку?
Т.е. Имеется массив из 100 значений (индекс 0 = значение 0, индекс 1 = значение 1, индекс 2 = значение 2, .... индекс 99 = значение 99)
этот массив нужно записать в переменную(String) такого вида - значение 0, значение 1, значение 2, .... значение 99
При этом, если в массиве нет значение (например индекс 42 = "пустая строка"), то в переменную должно записаться "undefined"(да в принципе можно любое слово/знак).
Массив в строку
Добавлено: 18 янв 2022, 17:12
Dryundel
Так обычное сложение строк. Складываешь элементы массива плюс запятые. Волшебного блока для этого нет.
Массив в строку
Добавлено: 18 янв 2022, 18:24
AlexCrane
[ref]DrScorpion86[/ref], Попробуй
Новая версия сдесь
viewtopic.php?p=111436#p111436
Массив в строку
Добавлено: 19 янв 2022, 08:18
DrScorpion86
AlexCrane писал(а): 18 янв 2022, 18:24
[ref]DrScorpion86[/ref], Попробуй
Массив в строку.flp
Шикарно! То что нужно

Массив в строку
Добавлено: 19 янв 2022, 09:05
Sancho
Имхо.
[ref]AlexCrane[/ref], Ваша помощь очень востребована пользователями.
Но такие простые решения реализуются средствами flp.
Давно замечаю, что народу проще попросить сделать готовый блок, чем самому попробовать сложить несколько блоков в цепочку. Печально.
Ещё раз замечу - сугубо моё мнение.
Массив в строку
Добавлено: 19 янв 2022, 10:10
aidar_i
Sancho писал(а): 19 янв 2022, 09:05
Имхо.
[ref]AlexCrane[/ref], Ваша помощь очень востребована пользователями.
Но такие простые решения реализуются средствами flp.
Давно замечаю, что народу проще попросить сделать готовый блок, чем самому попробовать сложить несколько блоков в цепочку. Печально.
Ещё раз замечу - сугубо моё мнение.
Не суди уж его так строго, он блок не просил же, спросил как сделать. Можно было показать в флпроге или послать.... изучать матчасть. И его вопрос решается без экстрасенсов

Массив в строку
Добавлено: 19 янв 2022, 13:31
Dryundel
Sancho писал(а): 19 янв 2022, 09:05
Давно замечаю, что народу проще попросить сделать готовый блок, чем самому попробовать сложить несколько блоков в цепочку.
Полностью согласен.
DrScorpion86 писал(а): 19 янв 2022, 08:18
Можно было показать в флпроге или послать...
Дык была же уже подсказка.
AlexCrane писал(а): 18 янв 2022, 18:24
[ref]DrScorpion86[/ref], Попробуй
Массив в строку.flp
А теперь в защиту автора.
Сделал таки волшебный блок.

Ай млодца.
Конечно же этот блок займёт гораздо меньше памяти МК нежели "веревочка со стрингами" из 99 значений средствами FLProg. Цикл однако.
Подобный блок уже давно напрашивался.
[ref]AlexCrane[/ref], не останавливайся. Продолжи мысль и дополни его склеиванием цифровых значений без использования стрингов.
И в конце то концов выставляй уже R-триггеры внутрь блоков где необходимо. Постоянно на тебя ворчу за это, про себя правда.
А вообще уже Давненько мысль бродит дополнить набор блоков для работы с массивами.
К примеру сделать нормальный стек, а то в штатном вложить элемент можно, а вот забрать нельзя. Буфер FIFO надо бы сделать нормальный. Склейка массивов тоже не помешает.
Многомерный массив ещё хочется и динамический тоже.
Чёт меня понесло...

Массив в строку
Добавлено: 19 янв 2022, 14:00
Ingwar
Dryundel писал(а): 19 янв 2022, 13:31
А вообще уже Давненько мысль бродит дополнить набор блоков для работы с массивами.
К примеру сделать нормальный стек, а то в штатном вложить элемент можно, а вот забрать нельзя. Буфер FIFO надо бы сделать нормальный. Склейка массивов тоже не помешает.
Многомерный массив ещё хочется и динамический тоже.
В догонку - блок для заполнения массива копипастом (с каким нибудь разделителем)...

Массив в строку
Добавлено: 19 янв 2022, 15:48
AlexCrane
[ref]DrScorpion86[/ref], Исправил блок. Добавил разделитель. Потестируй
Массив в строку v1.2.flp
(исправленный)
Sancho писал(а): 19 янв 2022, 09:05
Но такие простые решения реализуются средствами flp.
Возможно, я учился расставлять кубики изучая чужие проекты, потом научился делать блоки изучая чужие блоки. Может и мои блоки пойдут кому-то в пользу
Dryundel писал(а): 19 янв 2022, 13:31
И в конце то концов выставляй уже R-триггеры внутрь блоков где необходимо.
Там где это необходимо пусть решают пользователи, я на входе всегда подсказываю значком _|_ , что тут нужен RTrig
Dryundel писал(а): 19 янв 2022, 13:31
К примеру сделать нормальный стек, а то в штатном вложить элемент можно, а вот забрать нельзя. Буфер FIFO надо бы сделать нормальный. Склейка массивов тоже не помешает.
Многомерный массив ещё хочется и динамический тоже.
Помедленнее, я не успеваю записывать....
Массив в строку
Добавлено: 19 янв 2022, 15:49
DrScorpion86
Ingwar писал(а): 19 янв 2022, 14:00
В догонку - блок для заполнения массива копипастом (с каким нибудь разделителем)...
Вот это, как раз, не сложно сделать:)
arr01.jpg
[ref=#ff8000]Sancho[/ref], [ref=#000080]aidar_i[/ref], [ref]Dryundel[/ref],
Раз 10 просмотрев все стандартные блоки понял, что на реализации задуманного можно заблудится.
arr01.jpg
Изучаю щас Javascript и знаю, что с помощью циклов можно перебрать массив и сделать с ним всё что угодно:)
Но т.к. я ещё не изучал синтаксис С и создания пользовательских блок, обратился за помощью:)
А вот и он... тот самый цикл перебора массива и записи его в другую переменную:)
arr03.jpg
Массив в строку
Добавлено: 19 янв 2022, 15:56
Dryundel
AlexCrane писал(а): 19 янв 2022, 15:48
Там где это необходимо пусть решают пользователи, я на входе всегда подсказываю значком _|_ , что тут нужен RTrig
Если он нужен в 100% случаев нафига подсказывать? Логичней "укомплектовать". ИМХО
AlexCrane писал(а): 19 янв 2022, 15:48
Помедленнее, я не успеваю записывать....

Расслабься. Часть из этих пожеланий к Автору.
Отправлено спустя 1 минуту 53 секунды:
DrScorpion86 писал(а): 19 янв 2022, 15:49
Вот это, как раз, не сложно сделать:)
Не про то речь идет. Суть в том, что бы изначально заполнить массив из какой нибудь таблицы копипастом, а не набивать ручками.
Массив в строку
Добавлено: 19 янв 2022, 16:03
Ingwar
Dryundel писал(а): 19 янв 2022, 15:56
Не про то речь идет. Суть в том, что бы изначально заполнить массив из какой нибудь таблицы копипастом, а не набивать ручками.

Массив в строку
Добавлено: 19 янв 2022, 16:07
DrScorpion86
AlexCrane писал(а): 19 янв 2022, 15:48
[ref]DrScorpion86[/ref], Исправил блок. Добавил разделитель. Потестируй
Массив в строку v1.2.flp
ФЛПрог 7.4.2
arr04.jpg
Test_7_4_2_Массивы.zip
Массив в строку
Добавлено: 19 янв 2022, 16:27
AlexCrane
[ref]DrScorpion86[/ref], Недосмотрел, исправил, перекачай выше
viewtopic.php?f=112&t=7843&p=111436#p111436
Массив в строку
Добавлено: 19 янв 2022, 16:46
DrScorpion86
[ref]AlexCrane[/ref], Весчь!!!
arr05.jpg
всё выводится на вэб интерфейс
Screenshot_2022-01-19-16-42-33-213_com.android.chrome.jpg
Массив в строку
Добавлено: 19 янв 2022, 19:47
Sancho
Dryundel писал(а): 19 янв 2022, 13:31
Конечно же этот блок займёт гораздо меньше памяти МК нежели "веревочка со стрингами" из 99 значений средствами FLProg. Цикл однако.
DrScorpion86 писал(а): 19 янв 2022, 15:49
Раз 10 просмотрев все стандартные блоки понял, что на реализации задуманного можно заблудится.
А ежели всё-таки из кубиков?
Не проверял.
Отправлено спустя 3 минуты 36 секунд:
Для понимания возможностей кубиков и плат
Массив в строку
Добавлено: 19 янв 2022, 20:21
Dryundel
Sancho писал(а): 19 янв 2022, 19:47
А ежели всё-таки из кубиков?
Эко ты
изъе.. умудрился.
Работает в принципе.
Но ...
Есть несколько НО.
1. Объяснить весь этот компот новичку довольно сложно. Сложней чем написать блок.
2. Требовалось вводить undefined если строка (этемент) пустая. Стринговый массив на входе видимо.
Можно и эту проверку было добавить, не спорю. Но как все это объяснить? С ума сойдешь.
Конечно, понимая что такое циклы, зная их синтаксис, да еще и четко зная что плата может быть циклом можно и
умудриться, ах да, правильно, умудриться.