1樓:永恆
lua5中,求字串長度的函式名為string.len
lua4中,求字串長度的函式名為strlen
用lua語言程式設計:輸入一個字串,長度不超過50,要求求出字串中任意字元出現的次數。
2樓:匿名使用者
將以下**儲存為lua_string.lua:
#!/usr/bin/env lua
s = {}
a = io.read() -- 讀入字串,可含漢字
len = #(string.gsub(a, "[\128-\191]", "")) -- 計算字元數(不是位元組數)
print(len)
for c in string.gmatch(a, ".[\128-\191]*") do -- 迭代出每一個字元
if s[c] == nil then -- 並計算出現次數
s[c] = 1
else
s[c] = s[c]+1
endend
for k,v in pairs(s) do -- 列印結果
print(k, v)
end雖然題主沒有特別提到對unicode友好,不過考慮到多位元組字元現在很常用,所以把utf-8的支援也加進去了。
其中的知識點,參考《programming in lua》第三版中以下章節:
-- 2.1 nil
-- 4.3 control structures
-- 7.2 the semantics of the generic for
-- 21.1 basic string functions
-- 21.2 pattern-matching functions
-- 21.7 unicode
-- 22.1 the ****** i/o model
測試輸出如下:
nihao你好
7a 1
h 1
好 1
i 1
你 1
o 1
n 1
你好你好
4好 2
你 2
用lua語言程式設計:輸入一個字串,長度不超過50,要求求出字串中任意字元出現的次數。
43a 1
符 3
一 1
中 1
, 2
不 1
求 2
串 2
l 1
0 1
度 1
超 1
u 1
出 2
數 1
個 1
次 1
輸 1
程 1
: 1
的 1
意 1
語 1
編 1
。 1
入 1
現 1
用 1
長 1
任 1
5 1
字 3
言 1
要 1
過 1
lua怎麼把函式名字當引數傳遞
3樓:啥孩紙
function b:hi(k) 可以說是 b.hi = function(self, k),在a:
fun裡呼叫時,k實質上是傳給了self,所以bye(k) -> bye(nil, k)即可。
lua中變數和字串連線怎麼表示??
4樓:我是苦頭陀螺
用vbs指令碼抄
,在baii/o域的輸出屬du性zhi裡寫指令碼dao
:item.outputvalue = hmiruntime.
tags("tag1").read & hmiruntime.tags("tag2").
read & hmiruntime.tags("tag3").read
5樓:匿名使用者
for i=1,50 do
_g["abc"..i] = rgb()
end然後就可以全域性用abc1到abc50了
6樓:匿名使用者
-- .. 是連線符操作.
for i =1, 50 do
"abc"..iend
c語言如何把某個函式名轉換為字串
根據編譯環境,有如下方式 1 部分編譯器中,支援 function 或 func 巨集。該巨集為編譯器定義,值為被呼叫函式的函式名轉換成的字串。如在func 中呼叫 function 則該巨集的值為 func 2 如果編譯器不支援上述巨集名,那麼需要手動新增巨集。可以有如下兩種方式 a.直接定義對應...
C語言求字串中最長單詞的長度問題
文字 include stdio.h define n 1000 int main int argc,char argv char s n 1 ch int k,t,n printf enter a text.n for n 0 nif ch getchar n break s n ch s n 0...
求救!C語言中字串函式strncpy的輸出問題
strncpy 不會在目標字串末尾加 0 字元。而函式的臨時變數一般儲存在棧中 先進後出 所以就輸出了 s2 中複製的 today 然後輸出s2陣列6個字元之後的部分,即棧中的垃圾資料 未初始化的陣列在記憶體中一般是 0xcc,就是燙燙燙 然後輸出字串 s,直到 s 中的 0 字元輸出結束。因為st...