在 Applescript 中向字符串添加填充字符的最有效方法?
Most efficient way to add filler characters to a string in 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
虽然这确实有效,但 运行 有点慢,所以我希望找到更好的解决方案。
谢谢。
对我来说似乎足够快;你确定那是你的瓶颈所在吗?
如果它处于 运行 >10,000 次的性能敏感循环中,您可以使用预制的 slug 每次迭代多挤出几微秒,例如:
property padding : "████████████████████████████████"
set s to "Taco"
if length of s < 32 then set s to text 1 thru 32 of (s & padding)
return s
但是对于用户输入等非性能关键任务,您的原始代码非常好,我不会费心去改变它。 "Premature optimization is the root of all evil",等等。
我一直在编写一个脚本,该脚本要求您输入的用户名始终等于或小于 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
虽然这确实有效,但 运行 有点慢,所以我希望找到更好的解决方案。
谢谢。
对我来说似乎足够快;你确定那是你的瓶颈所在吗?
如果它处于 运行 >10,000 次的性能敏感循环中,您可以使用预制的 slug 每次迭代多挤出几微秒,例如:
property padding : "████████████████████████████████"
set s to "Taco"
if length of s < 32 then set s to text 1 thru 32 of (s & padding)
return s
但是对于用户输入等非性能关键任务,您的原始代码非常好,我不会费心去改变它。 "Premature optimization is the root of all evil",等等。