| |||
![]()
|
![]() ![]() |
![]()
Адказ на Extra Credit EC1. $a = one, two, three; Чаму роўнае $a? Мы ўжо ведаем, што калi: $a = (one, two, three); то дужкi зусiм не азначаюць масыў, а выконваецца аперацыя "коска". Здаецца, тут павiнна быць тое-ж самае: выканацца "коска" на one, two, three, i $a атрымаць апошняе значэньне - three. Дык не! У гульню ўступаюць прыярытэты апэрацыяў - прысваеньне мае большы прыярытэт i выконваецца перад коскай. Таму EC1 можна запiсаць як: ($a=one), two, three. Рэзультатам гэтага выразу будзе three, але $a атрымае значэньне one. Менавiта таму дужкi ў $a = (one, two, three); проста неабходныя. EC2. EC2a. $b = (one, two, three); Тут зразумела - аперацыя "коска", $b = "three" EC2b. @a = (one, two, three); $b = @a Калi скаляру прысвойваем масыў - атрымлiваем памер масыва, дакладней, колькасьць элементаў. Таму $b = 3 (болей наглядна можна запiсаць як $b = scalar @a. Scalar @list - гэта тое-ж самае, што $#list+1) Добавить комментарий: |
||||
![]() |
![]() |