Giả sử tôi có một mảng
> words=(foo bar baz)
Bây giờ tôi có thể tham gia các yếu tố
> echo ${(j., .)words}
foo, bar, baz
Và tôi có thể nối một chuỗi vào các phần tử:
> echo ${^words}yeah
fooyeah baryeah bazyeah
Với những điều sau đây, tôi có thể nối và tham gia các yếu tố:
> wordsyeah=(${^words}yeah)
> echo ${(j., .)wordsyeah}
fooyeah, baryeah, bazyeah
Có thể thực hiện in "fooyeah, baryeah, bazyeah" trong một biểu thức, tức là không sử dụng các biến bổ sung?
Phần thưởng: Tôi có thể in mà không sử dụng bất kỳ biến nào không?
Theo như tôi có thể nói, điều này giúp giảm bớt việc mở rộng tham số trên các chuỗi, nhưng tôi không thể tìm ra cách (hoặc nếu) điều đó là có thể.
echo ${(j:, :):-${^${=:-foo bar baz}}yeah}
, điều này thực sự khó nhập và dài hơn 12 ký tựecho fooyeah, baryeah, bazyeah
. Vì vậy, nó chủ yếu có ý nghĩa nếu các biến có liên quan, ví dụecho ${(j:, :):-${^${words}}yeah}
(vớiwords
một mảng).