blocknote ([personal profile] blocknote) wrote2024-01-11 03:44 am
Entry tags:

(no subject)

 Если вы хотите связать два массива в твайн сугаркуб 2, вы можете использовать один из следующих способов:
  • Создать новый массив, который будет содержать пары значений из двух массивов. Например, вы можете написать:
<<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. Каждая пара представлена объектом, содержащим название месяца и количество дней в этом месяце.

Post a comment in response:

(will be screened)
(will be screened)
(will be screened)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting