【发布时间】:2020-01-18 13:26:28
【问题描述】:
在 Julia 中使用相同的参数调用函数 n 次并将结果返回到数组中的最简单方法是什么?例如,我想得到一个随机字符串数组,每个字符串都有一定的长度。我能想到的最好的是
julia> map(_ -> randstring(4), 1:6)
6-element Array{String,1}:
"xBWv"
"CxJm"
"KsHk"
"UUIP"
"64o4"
"QNgm"
另一种选择是使用广播,例如以下任一方式:
# Broadcast over an array of 4's
randstring.(fill(4, 6))
# Broadcast over an iterator that repeats the number 4 six times
using Base.Iterators
randstring.(repeated(4, 6))
但是,我更喜欢replicate(randstring(4), 6) 这样的语法。为了比较,在 R 中我会做以下事情:
> # Sample from lower-case letters only:
> random_string <- function(n) paste(sample(letters, n, replace = TRUE), collapse = '')
> replicate(6, random_string(4))
[1] "adru" "neyf" "snuo" "xvnq" "yqfv" "gept"
【问题讨论】:
-
考虑将标题更新为“... in Julia”。
-
@logankilpatrick
julia标记足以表示编程语言,您会发现该标记也被 google 和堆栈溢出搜索拾取。
标签: julia