热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

返回数组的Computercraft函数,将第一个元素用作布尔值

编辑以获取更多详细信息:我正在尝试让一只坐在树苗前的乌龟等待其生

编辑以获取更多详细信息:

我正在尝试让一只坐在树苗前的乌龟等待其生长,然后再将其砍倒。它将日志与前面的项目进行比较,直到匹配为止。我当前正在使用的系统可以运行,但是我希望有一种稍微更简单的编写方式。

checkTarget = {
forward = function(tgt)
check = {turtle.inspect()} --creates table with first as boolean,second as information table
local rtn = {false,check[2]}
if type(tgt) == "table" then
for k,v in pairs(tgt) do
if check[2].name == v then
rtn = {true,v}
break
end
end
elseif tgt == nil then
return check[1]
elseif check[2].name == tgt then
rtn[1] = true
end
return rtn
end,--continued

这需要一个参数(一个字符串或一个字符串数组)进行比较。当检查前面的块时,会将详细信息保存到rtn中的第二个元素中,第一个保存为默认值false。如果字符串与选中块的名称匹配,则将rtn [1]更改为true并返回所有字符串,这是执行checkTarget.forward(“ minecraft:log”)时位于底部的表。

我的问题是,我当前正在制作一个一次性变量来存储从checkTarget返回的数组,然后调用该变量的第一个元素来获取它是否为真。我希望有一种方法可以将它包含在if语句中,而无需使用一次性变量(tempV)

repeat
local tempV = fox.checkTarget.forward("minecraft:log")
if tempV[1] then
cut()
fox.goTo({x = 0,y = 0,z = 0})
fox.face(0)
end
tempV = fox.checkTarget.forward("minecraft:log")
until not run

{
false,{
state = {
stage = 0,type = "birch",},name = "minecraft:sapling",metadata = 2
}
}



代替

local tempV = fox.checkTarget.forward("minecraft:log")
if tempV[1] then
end

你可以

if fox.checkTarget.forward("minecraft:log")[1] then
end


  

,然后调用变量的第一个元素以获取它是否为true或
  不是。

使用tempV[1]时,您不会调用第一个元素,而是对其进行索引。

要调用某项内容,您必须使用调用运算符(),因为布尔运算符是不可调用的,因此该调用运算符是不可调用的。


推荐阅读
  • 2023年最新指南:如何在PHP中屏蔽警告和错误
    本文详细介绍了如何在PHP中屏蔽警告和错误,包括多种方法和最佳实践,帮助开发者提升代码质量和安全性。 ... [详细]
  • PHP函数的工作原理与性能分析
    在编程语言中,函数是最基本的组成单元。本文将探讨PHP函数的特点、调用机制以及性能表现,并通过实际测试给出优化建议。 ... [详细]
  • 在移动端开发中,多点触控手势是提升用户体验的重要手段。然而,目前只有iOS浏览器原生支持手势事件,其他设备需要通过touchstart、touchmove和touchend等基础事件进行自定义实现。本文将详细介绍如何在Vue项目中实现多点触控手势。 ... [详细]
  • 使用 Mui.js 获取复选框值的方法
    本文介绍如何使用 Mui.js 框架来获取复选框的值,并通过数组进行处理和展示。 ... [详细]
  • LeetCode 312. 戳气球 【动态规划】【Java】【困难】
    本文将详细介绍 LeetCode 312. 戳气球 问题的背景、解题思路及实现方法,包括题目描述、解题策略、代码实现及解题过程。 ... [详细]
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • h5调用本地摄像头和麦克风一
    h5调用本地摄像头和麦克风一,Go语言社区,Golang程序员人脉社 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 检查 Kubernetes 系统命名空间中的 Pod 状态时,发现 Metric Server Pod 虽然处于运行状态,但存在异常:日志显示 'it doesn’t contain any IP SANs'。 ... [详细]
  • 在C#中开发MP3播放器时,我正在考虑如何高效存储元数据以便快速检索。选择合适的数据结构,如字典或数组,对于优化性能至关重要。字典能够提供快速的键值对查找,而数组则在连续存储和遍历方面表现优异。根据具体需求,合理选择数据结构将显著提升应用的响应速度和用户体验。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本文详细介绍了 Android 开发中常用的单位 dip(设备独立像素)、px(像素)、pt(点)和 sp(可缩放像素),并解释了它们在不同屏幕密度下的应用。 ... [详细]
  • ipsec 加密流程(二):ipsec初始化操作
    《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。Author:叨陪鲤Email:vip_13031075266163.comDate:2020.1 ... [详细]
  • 本题涉及一种由Chip和Dale设计的文本加密方法。该方法通过预先约定的矩阵行数和列数,将字符转换为特定的二进制形式,并以螺旋方式填充矩阵。最终将矩阵中的二进制数连接成一个字符串,实现加密。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
author-avatar
奥桑黑黑更健康
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有