Lua裡求字串長度的函式名 不帶括號和變數

2021-04-21 02:38:08 字數 2609 閱讀 3114

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...