在Applescript中为字符串添加填充字符的最有效方法是什么?

时间:2015-05-07 03:53:52

标签: macos applescript

我一直在处理一个脚本,要求您输入一个总是等于或少于32个字符的用户名。我的目标是在字符串末尾添加额外的字符,如果它少于32个字符。例如,如果我使用单词" Taco"这是四个字符,我需要添加28个填充字符才能实现我的目标。

这是我到目前为止的代码:

set localUN to "Taco"
set UNLength to length of localUN
set blanksToAdd to (32 - UNLength)
set authID to localUN
repeat blanksToAdd times
    set authID to authID & "█"
end repeat

虽然这确实有效,但运行起来有点慢,所以我希望找到更好的解决方案。

感谢。

1 个答案:

答案 0 :(得分:1)

对我来说似乎足够快;你确定那是你的瓶颈所在吗?

如果它在一个性能敏感的循环中运行> 10,000次,你可以使用premade slug在每次迭代中挤出几μs,例如:

property padding : "████████████████████████████████"

set s to "Taco"
if length of s < 32 then set s to text 1 thru 32 of (s & padding)
return s

但对于非性能关键任务(如用户输入),您的原始代码非常好,我不会费心去更改它。 “过早的优化是所有邪恶的根源”,以及所有这些。