文字列に「 -- 」が出現する回数を数えようとしています。
たとえば、ここでは 'a --b --c' が 2 回発生します。
次のことを試しましたが、2 ではなく 4 になりました。
argv='a --b --c'
count = 0
for i in string.gfind(argv, " --") do
count = count + 1
end
print(count)
文字列に「 -- 」が出現する回数を数えようとしています。
たとえば、ここでは 'a --b --c' が 2 回発生します。
次のことを試しましたが、2 ではなく 4 になりました。
argv='a --b --c'
count = 0
for i in string.gfind(argv, " --") do
count = count + 1
end
print(count)
実際には、次を使用してワンライナーでこれを行うことができますstring.gsub
。
local _, count = string.gsub(argv, " %-%-", "")
print(count)
ループ不要!
関数は処理された入力を変数に返し、_
変数が破棄されるまでメモリを保持するため、大きな入力にはお勧めできません。
-
文字はパターンで特別な意味を持ち、貪欲でない繰り返しに使用されます。
あなたはそれをエスケープする必要があります、すなわちパターンを使用します" %-%-"
。