Entry tags:
(no subject)
Если вы хотите связать два массива в твайн сугаркуб 2, вы можете использовать один из следующих способов:
======================================================
Извините за путаницу. На самом деле, в Twine/SugarCube 2 нет встроенного метода zip для объединения двух массивов в пары. Вместо этого, вы можете воспользоваться циклом for для создания нового массива, содержащего пары элементов из исходных массивов. Вот пример, как это можно сделать:
- Создать новый массив, который будет содержать пары значений из двух массивов. Например, вы можете написать:
<<set $monthDays to []>> <<for _i to 0; _i lt $monthNames.length; _i++>> <<set $monthDays.push([$monthNames[_i], $daysInMonth[_i]])>> <</for>>
Тогда вы сможете обращаться к элементам нового массива по индексу и получать название месяца и количество дней в нем. Например, если вы хотите отобразить информацию о феврале, вы можете написать:
<<print $monthDays[1][0] + " имеет " + $monthDays[1][1] + " дней">>
- Использовать ассоциативный массив, который будет использовать названия месяцев в качестве ключей и количество дней в качестве значений. Например, вы можете написать:
<<set $monthDays to {}>> <<for _i to 0; _i lt $monthNames.length; _i++>> <<set $monthDays[$monthNames[_i]] to $daysInMonth[_i]>> <</for>>
Тогда вы сможете обращаться к элементам ассоциативного массива по ключу и получать количество дней в месяце. Например, если вы хотите отобразить информацию о марте, вы можете написать:
<<print "Март имеет " + $monthDays["Март"] + " дней">>
Вы можете узнать больше о работе с массивами и ассоциативными массивами в твайн сугаркуб 2 в этой статье или этом вопросе.
Надеюсь, это поможет вам решить вашу задачу. Если у вас есть еще вопросы, я буду рад ответить на них.
======================================================
Извините за путаницу. На самом деле, в Twine/SugarCube 2 нет встроенного метода zip для объединения двух массивов в пары. Вместо этого, вы можете воспользоваться циклом for для создания нового массива, содержащего пары элементов из исходных массивов. Вот пример, как это можно сделать:
twine
<<set $monthNames to ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]>>
<<set $daysInMonth to [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]>>
<<set $monthData to []>>
<<for _i to 0; _i lt $monthNames.length; _i++>>
<<set _pair to {name: $monthNames[_i], days: $daysInMonth[_i]}>>
<<set $monthData.push(_pair)>>
<</for>>
В этом примере, мы используем цикл for, чтобы создать новый массив $monthData, содержащий пары элементов из массивов $monthNames и $daysInMonth. Каждая пара представлена объектом, содержащим название месяца и количество дней в этом месяце.