Sou (marca) novo no zsh, então isso provavelmente poderia ser melhorado:
tile_lengths=()
num=19
times=6
repeat $times { tile_lengths+=( $num ); ((--times)) }
num=18
times=9
repeat $times { tile_lengths+=( $num ); ((--times)) }
print $tile_lengths
19 19 19 19 19 19 18 18 18 18 18 18 18 18 18
Inspirado pela resposta de terdon, acho que essa é uma variação mais clara da minha primeira tentativa:
tile_lengths=()
times=6 num=19 tile_lengths+=( $(repeat $times echo $num) )
times=9 num=18 tile_lengths+=( $(repeat $times echo $num) )
print $tile_lengths
19 19 19 19 19 19 18 18 18 18 18 18 18 18 18