如何在函數調用中將哈希擴展到參數列表中?我在搜索Perl的語法相當於Perl:somefunc(**somedict)
或somefunc(*somelist)
。在Perl中可能嗎?如何在函數調用中將哈希擴展到參數列表中?
2
A
回答
3
在Perl中,所有函數參數都以列表形式傳遞,並存儲在特殊數組變量@_
中。您可以將這些值複製到其他數組中,或者直接複製到散列中(就像使用任何數組/列表一樣)。
如果你正在寫一個函數,你可以直接傳遞參數到一個數組或哈希:
sub hashFunc {
my %args = @_;
....
}
sub arrayFunc {
my @args = @_;
...
}
要調用一個這樣的功能,只是通過他們,如果他們是一個列表或散列:
hashFunc(arg1 => 'someVal', arg2 => 'someOtherVal');
arrayFunc('someVal', 'someOtherVal');
如果你已經有一個可變的參數,只是通過他們和Perl拉平數組/哈希到參數列表:
hashFunc(%someHash);
arrayFunc(@someArray);
調用函數時,3210個
2
哈希也擴大到一個列表:
my %h = (a => 1, b => 2, c => 3);
sub foo {
# prints the key-value pairs in unsorted order
print "@_\n";
}
foo %h;
相關問題
- 1. 可擴展哈希 - 析構函數C++
- 2. 如何在函數中使用JavaScript哈希作爲參數?
- 3. 如何將兩個哈希合併到數組的哈希中?
- 4. 可擴展哈希
- 5. 在javascript中構建哈希表和完美的哈希函數
- 6. 如何將哈希數組推送到哈希數組?
- 7. 將列表展開到函數參數中?
- 8. 如何實現動態哈希表的哈希函數?
- 9. 在Python中利用哈希函數
- 10. 函數擴展列表
- 11. 列表的非加密哈希函數
- 12. 如何從Perl中的哈希數組創建哈希散列?
- 13. 如何在java中執行哈希表的數組列表?
- 14. InvalidCastException當調用哈希函數
- 15. 如何在Java中擴展參數?
- 16. Bash擴展哈希表(字典)
- 17. 如何在powershell中的哈希表中添加哈希表?
- 18. 如何在TypeScript中擴展JQuery函數
- 19. 如何在可擴展哈希中創建空桶
- 20. 如何在java中實現可擴展哈希?
- 21. 如何從Julia中的函數調用參數列表
- 22. 在Rails中修改參數哈希值
- 23. 將列表參數傳遞給Jinja2擴展中的調用節點
- 24. 如何擴大數組哈希?
- 25. 將哈希合併到數組中
- 26. 如何在JavaScript哈希函數中調用另一個在同一個哈希安全
- 27. PHP哈希函數
- 28. Java哈希函數
- 29. 哈希Python函數
- 30. 在PHP函數中重現Authlogic哈希
它也正是通過區域在那裏我想擴大哈希 - 調用someFunc(%哈希),這使%散列成@_ ,而不是@_ [0] –
@ts:是的,剛剛添加了 –
@ts:你不需要那個「神祕的操作數」,這是Perl的默認行爲。 –