我搜索并阅读了与条件格式相关的答案,但我似乎无法让我的工作,所以也许我做错了.
我有一份工作表.它包含我们住所中的动物清单.我试图做的是将整行绿色(如果它们已被采用)(在"G"栏中用"X"表示).我已经=$G$2="X"和=$G2="X",但都没有工作.它只会为我设置规则时处于活动状态的一行着色,而当我在另一行中输入"X"时,它什么都不做.我错过了什么?
有人告诉我有关超载操作员的问题,但我甚至不确定如何开始这样做.我试图做的是改变:
table["key"]=table["key"]+12345
Run Code Online (Sandbox Code Playgroud)
成
table["key"]+=12345
Run Code Online (Sandbox Code Playgroud)
甚至使用一个功能,这将是美妙的.我已经搜索过,但找不到答案,所以我希望有人可以指导我或者直接回答问题.如果做它的缩写形式最终将是最短的方式,那么我想我会坚持这一点.我只是想尽可能多地保存击键,因为我确实有数百个可以实现的地方.谢谢!
我是C#的新手,因此我正在寻找外行的条款.基本上,我想做的是转:
键1 = VAL1 |键2 =值2 | ... | keyN = VALN
进入数据库数组,你猜对了,key1返回val1,key2返回val2等等.我知道我可以使用split返回一个字符串,但从那时起,我就不知所措了.任何帮助将不胜感激!我希望我的意图明确,但如果您有任何疑问,请不要犹豫!
由于数字索引,我不确定这是否可能,但希望有人能指出正确的方向。
给定表:
t = { 13, 200, 12, 15, 23 }
Run Code Online (Sandbox Code Playgroud)
如何使用数字嵌套表格?
t["200"] = {"stuff", "more stuff", "even more stuff"}
Run Code Online (Sandbox Code Playgroud)
似乎不起作用,因为它会创建一个位置 200 并用 null 填充空单元格。我会添加一个字母作为后缀/前缀,但问题是试图对表进行数字排序。这是否可能,或者我是否坚持使用不同的方法?谢谢!
由于认识而略有编辑:
t["200"] = {"stuff", "more stuff", "even more stuff"}
Run Code Online (Sandbox Code Playgroud)
实际上创建了一个键“200”,而:
t[200] = {"stuff", "more stuff", "even more stuff"}
Run Code Online (Sandbox Code Playgroud)
创建索引 200,其他所有内容均为空。
我开始了解io.函数,我试图在我的代码中实现它们.我已经搜索了这个问题的答案,似乎没有给出明确的是或否,或者至少我没有看到一个.我希望有人能够知道答案,并能够帮助解决这个问题.
我想创建一个文本文件,随着时间的推移我可以写入.它基本上是一个日志,我将附加输出行.显然io.open("textfile.txt")不会创建文件,或者它出现.
有没有办法在Lua中创建一个文本文件,以后可以使用io.read/write访问?另外,在打开或创建新文本文件之前,是否需要调用io.close()?我感谢任何帮助.谢谢!
我试图比较两个相等长度的表和一个函数,因为我不知道有任何其他方法这样做.但是,使用以下功能,它无法注册,我也不知道为什么.我希望有人可以提供对此问题的深入了解,或者有更好的方法来比较这两个表.
这些表格使用以下代码填充:
str = "parameters determined by program (all digits)"
tableone = {}
for word in str:gmatch("%d") do table.insert(tableone,word) end
Run Code Online (Sandbox Code Playgroud)
两个表都是相同的,当然除了各个表名.表格正确填充,并在打印时正确显示.为了这个问题,这里有两个表:
tableone = {}
tabletwo = {}
for i=1,4 do table.insert(tableone, i) end
for i=1,4 do table.insert(tabletwo, i) end
Run Code Online (Sandbox Code Playgroud)
显然,这两个表将彼此相等.我写的比较索引表的函数如下:
function comparetables(t1, t2)
matchct = 0
for i=1,#t1 do
if t1[i] == t2[i] then
matchct = matchct + 1
end
if matchct == #t1 then
return true
end
end
Run Code Online (Sandbox Code Playgroud)
我试过了
print(comparetables(tableone,tabletwo))
Run Code Online (Sandbox Code Playgroud)
看它是否打印"真实"但没有运气.对我而言,它似乎应该没有问题.但事实并非如此.我错过了什么?我已经尝试过像某个人可能已经编写的table.compare函数一样的东西,但找不到这样的运气.谢谢你的任何建议!
附加信息:
我正在比较表格的原因是为了一个主人型游戏.这意味着在比较表时必须遵循以下三条规则.我创建的功能是让我开始,以为我可以从那里工作.
例如,使用值{1,3,3,4}的值表和{4,4,3,1}的猜测,它将返回Pcount为2(一个4和1)和一个Ccount为1 (三位在第三位).我认为最困难的部分之一就是要进行比较,以确认猜测中的第二个4不应该增加Pcount.
我在Lua中有以下功能:
function iffunc(k,str,str1)
if k ~= 0 then
return str .. k .. (str1 or "")
end
end
Run Code Online (Sandbox Code Playgroud)
此功能允许我检查是否填充了值k.我实际上是用它来确定我是否要显示零值的东西.我的问题是:我正在尝试连接一个iffunc()字符串,但由于某些值为0,它会返回尝试连接nil值的错误.例如:
levellbon = iffunc(levellrep["BonusStr"],"@wStr@r{@x111","@r}") .. iffunc(levellrep["BonusInt"],"@wInt@r{@x111","@r}") .. iffunc(levellrep["BonusWis"],"@wWis@r{@x111","@r}")
Run Code Online (Sandbox Code Playgroud)
如果任何表值为0,它将返回错误.我可以很容易地在iffunc本身中放入'return 0'; 但是,我也不想要一串000.那么我怎么能在无论哪个值为零的情况下工作呢,我都不会得到那个错误?最终,我将在levellbon变量上做一个iffunc,看看是否填充了这个,但我已经找到了那个部分.我现在只需要克服这个小障碍.谢谢!
我一直试图解决这个问题,我不能.我使用一个程序(CMUD),其中我广泛使用Lua脚本语言进行数据挖掘.我编写的脚本使用他们的API(不需要身份验证)从wunderground.com收集天气信息,并且我使用数据挖掘urbandictionary.com获取俚语术语.现在我正在尝试利用Wordnik的json解析器来返回单词的定义.但是,我对API很陌生,虽然我已经很好地掌握了Lua,但我仍然是新手.因此,我转向你,寻找我迫切需要的答案.
根据Wordnik API文档,验证用户的正确方法是使用以下URL:
http://api.wordnik.com/v4/account.{format}/{username}?password={password}
Run Code Online (Sandbox Code Playgroud)
{format}可以是xml或json,但我更喜欢json.使用:
print(http.request("http://api.wordnik.com/v4/account.json/username?password=password"))
Run Code Online (Sandbox Code Playgroud)
返回"未经授权"的错误.使用:
r,c = http.request{ url = "http://api.wordnik.com/v4/account.json/username?password=password", headers = {api_key = "MY_API_KEY"}}
Run Code Online (Sandbox Code Playgroud)
返回r = 1且c = 401.
我只是完全混淆了如何通过我使用的程序验证自己并通过Lua使用Wordnik的API.任何帮助将不胜感激!或者,如果你知道任何返回json格式的字典,我也会很感激这些建议!
为澄清目的:
我希望能够检索单词定义的json格式.执行直接API调用似乎不起作用,并且似乎确实需要登录(或进行身份验证).
我试着搜索这些信息,但没有运气.
我试图做的是访问Lua中的变量路径,所以不必每次都将路径更改为其绝对值,我可以这样做:C:/%UserProfile%/path相反.有没有办法做到这一点?
我看到了一个luafilesystem网站,但它似乎没有做我需要它做的事情.基本上,我想做的是以下内容:
savepath = "%UserProfile%/Saves"
Run Code Online (Sandbox Code Playgroud)
如果我必须有两个步骤或只有一个步骤,只要它有效就没关系.
在过去的12个小时里,我一直在研究这个问题,而我似乎无法随时随地.我甚至都不知道这是否可能,但我希望这是因为继续我的项目会有很长的路要走.
我试图做的是创建协同程序,因此我使用的特定程序不会因为无法执行异步http请求而冻结.我已经想出了如何做到这一点,尽管我对协同程序的理解仍然在"嗯?这是如何工作的?" 相.我现在的问题是能够使用正确的信息响应多个请求.例如,以下内容应产生三个单独的响应:
foo(a)
foo(b)
foo(c)
Run Code Online (Sandbox Code Playgroud)
其中foo使用里面的参数启动协同程序.如果全部单独请求,则返回正确的结果.但是,如果作为块请求,它将仅返回foo(c)结果.现在,我理解这背后的原因,但是当我作为一个块请求时,我找不到让它返回所有三个结果的方法.为了帮助理解这个问题,这里是实际的代码:
function background_weather()
local loc = url.escape(querystring)
weatherpage = http.request("http://api.wunderground.com/api/004678614f27ceae/conditions/q/" .. loc .. ".json")
wresults = json.decode(weatherpage)
--process some stuff here, mainly datamining
end
--send datamined information as a response
coroutine.yield()
end
Run Code Online (Sandbox Code Playgroud)
和协程的创建:
function getweather ()
-- see if backgrounder running
if background_task == nil or
coroutine.status (background_task) == "dead" then
-- not running, create it
background_task = coroutine.create (background_weather)
-- make timer to keep it going
AddTimer ("tickler", 0, …Run Code Online (Sandbox Code Playgroud) 这个问题困扰了我一段时间,我不确定是否有答案。我知道有像 Love2D 这样的模块可以完成渐变,我猜它使用 RGB 着色。然而,我需要使用 xterm 256 颜色找到非常相似的东西,但我似乎无法在任何地方找到渐变贴图来帮助实现这一点。
我的猜测是,我必须创建一个“最接近 RGB 颜色”并从中创建一个渐变,将相应的 RBG 与最近的 xterm 匹配相匹配,但说实话,我什至不知道从哪里开始这。我知道Python中有一个“将xterm转换为RGB十六进制”脚本(位于此处),但由于我不了解Python,所以我不知道如何将其转换为Lua。
最终,我想做的是能够将文本或多或少地变成彩虹渐变。我目前有一个返回 xterm 颜色的函数,但它是完全随机的,并且输出可能有点难以阅读。这是我对该代码的内容。代表@x“转换为 xterm 颜色”,后面跟着一个三位数代码(001 到 255),然后是文本。
function rainbow(text)
local rtext = ""
local xcolor = 1
local sbyte = 1
for i = 1, #text do
math.randomseed(os.time() * xcolor * sbyte)
sbyte = string.byte(i)
xcolor = math.random(1, 255)
rtext = rtext .. "@x" .. string.rep("0", 3 - string.len(xcolor)) .. xcolor .. text:sub(i,i)
end
return rtext
end
Run Code Online (Sandbox Code Playgroud)
因此,例如,print(rainbow("Test"))会导致:
@x211T@x069e@x154s@x177t …
我有,我已经花了几个小时,试图找出问题,但由于Lua是还比较新的给我,我想不通为什么它不工作.
这就是我想要做的.如果我第一次敲击一个项目,它将不会出现在spikeRates表中,所以我需要添加它.如果我之前已经刺穿了这个项目,但从未使用过我喜欢的项目,那么我需要在spikeRates [itemSpiked]表中反映出来.我写的代码如下,但无法填充表格.
spikeRates={}
itemSpiked = "leather"
mySpike = "iron"
if not spikeRates[itemSpiked] then
spikeRates[itemSpiked]={}
spikeRates[itemSpiked][mySpike]={}
print("This is your first time spiking "..itemSpiked.."!")
elseif not spikeRates[itemSpiked][mySpike] then
spikeRates[itemSpiked][mySpike]={Failure=0,Success=0}
print("This is your first time spiking "..itemSpiked.." with "..mySpike.."!")
end
for i,v in pairs(spikeRates) do
print(i .. ": " .. v)
end
Run Code Online (Sandbox Code Playgroud)
当它运行时,我得到一个错误,试图连接数据库打印的零值(v).一切看起来都是正确的,或者我认为.我错过了一些完全明显的东西吗 谢谢!