如何使用循环将字符串连接成一个?

2024-04-07

有人可以帮我解决字符串连接问题吗?我从寄存器读取数据。它的函数 utf(regAddr, length)。我得到带有十进制数字的表格,然后将其转换为十六进制并循环字符串。我需要将这些字符串连接成一个。 Lua中没有像.=这样的操作符

function utf(regAddr, length)
  stringTable = {} 
  table.insert(stringTable, {mb:readregisters(regAddr-1,length)})

  for key, value in pairs(stringTable) do
    for i=1, length do
      v = value[i]
      v = lmcore.inttohex(v, 4)
      v = cnv.hextostr(v)   
      log(v)
    end  
  end
end

-- function(regAddr, length)
utf(30,20)

字符串没有附加运算符。字符串是不可变的值。

The ..运算符连接两个字符串,生成第三个字符串:

local b = "con"
local c = "catenate"
local a = b .. c  -- "concatenate"

The table.concat函数连接表中的字符串,生成字符串结果:

local t = { "con", "catenate" }
local a = table.concat(t)  -- "concatenate"

local t = { "two", "words" }
local a = table.concat(t, " ") -- "two words"

The string.format函数采用带有兼容值列表的格式模式,生成字符串结果:

local b = 2
local c = "words"
local a = string.format("%i %s", b, c)  -- "2 words"

local t = { 2, "words" }
local a = string.format("%i %s", unpack(t))  -- "2 words"

如果您正在积累大量最终想要连接的字符串,则可以使用表作为临时数据结构,并在完成积累后进行连接:

local t = {}
for i = 1, 1000 do
    table.insert(t, tostring(i))
end
local a = table.concat(t) -- "1234...9991000"

对于大量字符串,您可以增量连接。看LTN 9:逐段创建字符串 http://www.lua.org/notes/ltn009.html以及相关讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用循环将字符串连接成一个? 的相关文章

随机推荐

  • 有人可以向我解释一下这个“StaleDataException”吗

    有人可以向我解释一下吗StaleDataException 07 11 19 58 23 298 E AndroidRuntime 1044 Uncaught handler thread main exiting due to uncau
  • 如何在 JavaScript 和 Python 中对 unicode 字符串进行 Base64 编码?

    我需要一种加密算法 将文本加密到文本 输入文本可以是 unicode 输出应该是 a z A Z 0 9 最多 64 个字符 并且可以再次解密为unicode 它应该用 javascript 和 python 实现 如果已经有一些图书馆可以
  • 无法打开意图android的pdf文件

    我彻底检查了pdf文件是 在 storage emulated 0 Download Abcd pdf 但无法有意打开它 我在各种视图中打开它 其中一些会导致错误 无法打开文件 微软的话说道 check file in the device
  • 在tkinter中生成点击事件

    我正在尝试对我的 tkinter GUI 进行单元测试 因此我尝试从单独的线程生成点击事件 下面是测试 Tkinter Button 的示例 import unittest threading from Tkinter import cla
  • 我的枚举可以有友好的名称吗? [复制]

    这个问题在这里已经有答案了 我有以下内容enum public enum myEnum ThisNameWorks This Name doesn t work Neither does this 是不是不可能有enum带有 友好名称 你可
  • PHP如何获取基域/url?

    function url if isset SERVER HTTPS protocol SERVER HTTPS SERVER HTTPS off https http else protocol http return protocol
  • 删除文本文件 php 中的一行[重复]

    这个问题在这里已经有答案了 所以我的想法是使用正则表达式在文本文件中查找特定行 然后用空白替换该行 实质上将其删除 但是 我正在努力在文本文件中重写带有空白的行 elseif inquiry delete file fopen databa
  • 使用 getopt 时“for i”没有“in [sequence]”结尾

    我找到了在 shell 中使用 getopt 命令的示例脚本 bin bash args getopt ab set args for i do case i in a shift echo it was a b shift echo it
  • RNC 中交织

    我有三个具有不同属性值的 p 的源代码 我尝试对元素进行任意顺序以及一个强制元素 p class paragraph1 即任意数量的第 1 段 第 2 段和第 3 段 按任意顺序 但必须至少有一个段落 1 下面我尝试了 RNC 中的交错选项
  • PDF Tm 运算符

    我试图突出显示 PDF 文档中的文本 但我发现了一个带有以下操作数的 Tm 运算符 0 7 98 7 98 0 90 8898 715 4183 Tm Tm 运算符应该仅在其操作数上替换文本矩阵和文本行矩阵 根据Pdf Reference
  • 如何使用.NET设置文件夹权限?

    是否可以使用小型 NET 页面来设置其所在服务器上某些文件夹的文件夹权限 可用于此目的的代码或对象是什么 我使用的是 Windows Server 2003 基本上我想使用 GET 或 POST 访问页面并运行它并检查和 或更新文件夹的权限
  • Delphi Datasnap ISAPI 模块上的 CORS 问题

    我们在 AngularJS 客户端访问 Datasnap REST Delphi 10 1 Berlin 服务器时遇到问题 我无法激活授权 因为 Angular 无法在 Pragma 标头中发送 dssession 这似乎是 CORS 的问
  • 如何处理时间耦合?

    我正因为这个而挣扎 我的类有一些具有时间耦合的方法 这是一些方法MethodA必须首先调用来 初始化 数据MethodB需要正常工作 我通常通过将有问题的依赖传递给 方法B 作为论据 就像这个片段中一样 private class Some
  • vue组件名必须小写?

    我正在尝试在我的视图文件中使用一个组件 以下不起作用 当我尝试在我的视图中安装组件时
  • 根据列表从表中选择行

    我有这张表 col1 lt c 1 2 3 4 5 col1 lt sample col1 1000 replace TRUE prob c 0 2 0 2 0 2 0 2 0 2 col2 lt c 6 7 8 col2 lt sampl
  • 使用 StreamWriter 将行附加到文件

    我想将行附加到我的文件中 我正在使用 StreamWriter StreamWriter file2 new StreamWriter c file txt file2 WriteLine someString file2 Close 我的
  • cscope 或 ctags 为什么选择其中之一? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我主要使用 vim gvim 作为编辑器 并且正在考虑结合使用lxr Linux 交叉参考 http
  • 使用 CMake 添加仅标头依赖项

    我有一个简单的项目 需要三个仅头文件库才能编译 网络套接字 https github com zaphoyd websocketpp spdlog https github com gabime spdlog and 恩洛曼 json ht
  • Visual Studio 2015 IIS Express 500 错误

    我有一个 ASP Net 网站项目 我正在将其迁移到 Net 4 6 1 我已经安装了 Visual Studio 2015 Community 并且已成功编译并构建了网站及其组件 DLL 当我尝试使用 IIS Express 通过 F5
  • 如何使用循环将字符串连接成一个?

    有人可以帮我解决字符串连接问题吗 我从寄存器读取数据 它的函数 utf regAddr length 我得到带有十进制数字的表格 然后将其转换为十六进制并循环字符串 我需要将这些字符串连接成一个 Lua中没有像 这样的操作符 functio