本人初學(xué)perl,請教如何將一個數(shù)組多值轉(zhuǎn)成一個字符串的多個值。以@a = ('P','e','r','l')為例,想要得到$b = ['P','e','r','l']值。應(yīng)該就是把@a $VAR1 = 'P';$VAR2 = 'e';$VAR3 = 'r';$VAR4 = 'l';變成$b$VAR1 = ['P','e','r','l'];順便問下,倒過來的話,數(shù)組逐行push去字符串push($b,shift(@a)) , 這里push怎么用的?
3 回答

三國紛爭
TA貢獻1804條經(jīng)驗 獲得超7個贊
你就用push唄,push是每次往列表的右邊加上一個元素;你說的逐行去除那是pop.
列表變量本來就可以轉(zhuǎn)化為content變量,直接轉(zhuǎn)就是了。
@a = ('P','e','r','l');
my ($b)=[0,1,2,3];

心有法竹
TA貢獻1866條經(jīng)驗 獲得超5個贊
$b = [@a];
push @$b, shift @a while @a;
順便說兩句:
這不叫字符串多值, 這叫 Array Reference (數(shù)組引用, 引用數(shù)組 ... ) Perl 不會將 string 當成 char array 的. perl 沒有 char 這種變量形態(tài)
如可以, 請避用 $a $b (或 @a @b ) , 這兩個變量盡量留給 sort {} 用.
- 3 回答
- 0 關(guān)注
- 651 瀏覽
添加回答
舉報
0/150
提交
取消