我拥有的一段历史 Perl 代码具有以下功能:
sub binds { join(",", ("?")x$_[0]) }
稍后使用
binds(4)
等调用它。据我所知,它正在加入 ?
s 和 ,
s,但我不知 Prop 体是如何加入的,我也不了解 x$_[0]
部分。 最佳答案
这个函数接受一个整数(比如 n
)作为它的第一个参数,并返回一个由逗号分隔的 n
问号字符串。这是它的分解方式:
sub binds {
join(",", ("?") x $_[0]);
# │ │ └──── the first argument to the subroutine.
# │ └── the repetition operator (think multiply).
# └─── a list containing only the string literal "?".
}
binds(4) # => "?,?,?,?"
它可能是数据库接口(interface)的实用函数,用于创建指定数量的
?
占位符,这些占位符稍后将作为 SQL 语句的一部分绑定(bind)到某些特定值。关于perl - 这个子程序究竟是做什么的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9689999/