Tôi đang bối rối về tham số và đối số trong PowerShell. bạn có thể giúp tôi giải thích sự khác biệt giữa param và arg là gì? Cảm ơn.sự khác nhau giữa tham số và đối số trong PowerShell là gì?
Trả lời
Theo truyền thống trong ngôn ngữ lập trình, tham số xác định đầu vào cho hàm mà hàm được khai báo. Đối số là các giá trị được cung cấp khi gọi hàm. Đối số các giá trị ánh xạ tới các tham số hàm. Bạn có thể đọc thêm về điều này trên Wikipedia.
Bạn đang nói về tham số được xác định với param
và các đối số được truy cập thông qua $args
?
Nói chung, tham số là biến là một phần của chữ ký của phương thức (khai báo phương thức). Đối số là một biểu thức được sử dụng khi gọi phương thức.
Nhưng với mục đích phân biệt param
và args
, bạn có thể xem xét trước đây là xác định tham số có thể được chuyển đến tập lệnh (hoặc hàm vv) bằng cách sử dụng tên tham số và cung cấp giá trị của nó (đối số được đặt tên) hoặc đối số vị trí xác định chỉ có giá trị và sau khi truy cập vào đối số vị trí vượt trội so với các thông số mong đợi của các kịch bản theo quy định tại param
Hãy xem xét kịch bản có tên test.ps1 sau:
param($param1,$param2)
write-host param1 is $param1
write-host param2 is $param2
write-host arg1 is $args[0]
write-host arg2 is $args[1]
và giả sử tôi gọi là kịch bản như:
.\test.ps1 1 2 3 4
tôi sẽ nhận được kết quả:
param1 is 1
param2 is 2
arg1 is 3
arg2 is 4
này tương đương với gọi nó như:
.\test.ps1 -param1 1 -param2 2 3 4
hoặc thậm chí
.\test.ps1 3 4 -param2 2 -param1 1
- 1. PowerShell: Sự khác nhau giữa 1234 và (1234) là gì?
- 2. Sự khác nhau giữa thuộc tính và hàm được tham số trong vb.net là gì?
- 3. Sự khác nhau giữa các tham số gcc `-fpic` và` -fPIC` là gì?
- 4. Sự khác nhau giữa tham số truy vấn HTTP và tham số biểu mẫu HTTP?
- 5. Sự khác nhau giữa mảng và đối tượng là gì?
- 6. Sự khác nhau giữa các cơ chế nhập tham số trong Perl là gì?
- 7. Sự khác nhau giữa các tham chiếu và các đối tượng trong java là gì?
- 8. Sự khác nhau giữa .replace và -replace trong powershell là gì?
- 9. Sự khác nhau giữa "số nhận dạng loại" và "loại" trong Cython là gì?
- 10. Sự khác nhau giữa proxy và reify là gì?
- 11. Sự khác biệt giữa biến, tham số và trường trong JasperReport là gì?
- 12. Sự khác nhau giữa WebConfigurationManager và ConfigurationManager là gì?
- 13. Sự khác nhau giữa $ el và el trong số lần xem Backbone.js là gì?
- 14. Sự khác nhau giữa fancyLocalization và preferredLanguage là gì?
- 15. Sự khác nhau giữa GetBlobReference và GetBlobReferenceFromServer là gì?
- 16. Sự khác nhau giữa tham chiếu yếu và tham chiếu yếu kém là gì?
- 17. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 18. Sự khác nhau giữa NHibernate và iBATIS.NET là gì?
- 19. Sự khác nhau giữa NSIndexSet và NSSet là gì?
- 20. Sự khác nhau giữa Uri.ToString() và Uri.AbsoluteUri là gì?
- 21. Trong Oracle sự khác nhau giữa mở và mở con trỏ với các tham số là gì?
- 22. Sự khác nhau giữa NaN và None là gì?
- 23. Sự khác nhau giữa static_cast và reinterpret_cast là gì?
- 24. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 25. Sự khác nhau giữa == và = trong Prolog là gì?
- 26. Sự khác nhau giữa // và /// trong Visual Studio là gì?
- 27. Sự khác nhau giữa: = và + = trong tạo tệp là gì?
- 28. Sự khác nhau giữa * và. * Trong MATLAB là gì?
- 29. Sự khác nhau giữa $ @ và $ * trong UNIX là gì?
- 30. Sự khác nhau giữa: = và = trong MySQL là gì?
Tôi đã nói rằng trong câu trả lời của tôi là tốt, nhưng tôi cho rằng OP yêu cầu sự khác biệt giữa param và args từ cơ thể câu hỏi – manojlds