自动全屏网站模板wordpress Apache升级

news/2025/9/22 17:44:40/文章来源:
自动全屏网站模板,wordpress Apache升级,网站建设专业吗,网站开发支付宝概述 之前在《【Godot4.2】Tree控件自定义树形数据ETD及其解析》一文中#xff0c;实现了对带缩进的层级结构文本的解析#xff0c;并将其用于Tree控件的列表项构造。 不过当时并没有实现专门的类#xff0c;今天花了一点时间实现了一下。现在可以更方便的构造和解析ETD数…概述 之前在《【Godot4.2】Tree控件自定义树形数据ETD及其解析》一文中实现了对带缩进的层级结构文本的解析并将其用于Tree控件的列表项构造。 不过当时并没有实现专门的类今天花了一点时间实现了一下。现在可以更方便的构造和解析ETD数据并转化为其他格式。 并且EasyTreeData类可以被理解为一个树型数据结构可以基于它构造数据结构中的树。 本篇就介绍一下这个类的使用方法。 代码 # # 名称EasyTreeData # 类型类 # 简介专用于构造树形结构数据的类 # 作者巽星石 # Godot版本v4.2.2.stable.official [15073afe3] # 创建时间2024年4月29日23:20:02 # 最后修改时间2024年4月30日00:57:15 # class_name EasyTreeDatavar _root:EasyTreeItem# 内部类 # 单项数据 class EasyTreeItem:var data:Stringvar deep:intvar parent:EasyTreeItemvar children:Array[EasyTreeItem]func _init(_data:String,_deep:int) - void:data _datadeep _deepchildren []# 输出ETD多行文本格式func _to_string() - String:var sttr: %s%s\n % [\t.repeat(deep),data]for child in children:sttr child.to_string()return sttr# 输出MarkDown带缩进无序列表字符串func to_MD_ul() - String:var sttr: %s- %s\n % [\t.repeat(deep),data]for child in children:sttr child.to_MD_ul()return sttr# 输出可识别的LaTex总结字符串func to_LaTex() - String:var list_str \n/begin{cases}\n%s/end{cases}\nvar sttr: %s%sif children.size()!0:var subs for child in children:subs child.to_LaTex() //\nsttr sttr % [data,list_str % subs]else:sttr sttr % [data,]return sttr.replace(/,\\)# 虚函数 # 转化为字符串 func _to_string() - String:return if !_root else _root.to_string()# 返回ETD多行文本 func get_data() - String:return _to_string()# 输出MarkDown带缩进无序列表字符串 func to_MD_ul() - String:return if !_root else _root.to_MD_ul()func to_LaTex() - String:return if !_root else _root.to_LaTex() # 方法 # 创建并返回一个EasyTreeItem实例 func create_item(text:String,p_node:EasyTreeItem null) - EasyTreeItem:var itm EasyTreeItem.new(text,0)if _root:if p_node:itm.deep p_node.deep 1itm.parent p_nodep_node.children.append(itm)else:itm.deep _root.deep 1itm.parent _root_root.children.append(itm)else:_root itmreturn itm# 由多行文本创建 static func new_with_etd_str(etd_str:String) -EasyTreeData:var edt EasyTreeData.new()var items etd_str.split(\n,false) # 将ETD字符串按行切分为字符串数组var pre_itm:EasyTreeItem # 记录前一项var p_itm:EasyTreeItem null # 记录父节点# 遍历每行数据for i in range(items.size()):# 第1行直接添加为Tree控件的根节点跳过下面if部分# 从第2行开始比较当前行与前一行的缩进深度也就是\t的数目if i 0: var d_deep deep(items[i-1]) - deep(items[i]) # 与前一行数据的缩进差值match d_deep:-1: # 缩进比前一项深p_itm pre_itm # 将前一项作为父节点0: # 缩进深度与前一项一样p_itm pre_itm.parent # 父节点与前一项父节点一样_: if d_deep0: # 缩进比前一项浅# 通过缩进差值计算获得合适的父节点p_itm pre_itm for j in range(d_deep1):p_itm p_itm.parent# 实际创建和添加TreeItem到Tree控件var itm:EasyTreeItem edt.create_item(items[i].replace(\t,),p_itm)pre_itm itm # 将当前项记录为前一项return edt# 返回字符串的Tab缩进值 static func deep(sttr:String):return sttr.rstrip( ).count(\t)使用方法 基础使用 EasyTreeData在使用和API名称上模仿了Godot的Tree控件和TreeItem类。所以熟悉Tree控件和TreeItem的Godoter可以直接零难度上手。 var edt EasyTreeData.new() # 创建实例 # 创建根节点 var root edt.create_item(根节点) var itm edt.create_item(节点1,root) # 创建根节点的子节点 print(edt) # 打印输出相应的EDT字符串输出 根节点节点1用ETD多行文本数据创建 你可以用多行文本形式构造一个ETD数据字符串也就是一个带层级关系和缩进关系的多行文本 var etd 条目1条目1.1条目1.2条目1.2.1条目1.2.2条目1.3通过调用new_with_etd_str()静态方法并传入上面的ETD数据字符串可以构造一个新的EasyTreeData实例。 var edt EasyTreeData.new_with_etd_str(etd) print(edt)输出 条目1条目1.1条目1.2条目1.2.1条目1.2.2条目1.3可以看到与传入的ETD数据字符串一致但是你可以在此基础上继续添加新的数据项。 获取MarkDown的无序列表字符串 print(edt.to_MD_ul()) 输出 - 条目1- 条目1.1- 条目1.2- 条目1.2.1- 条目1.2.2- 条目1.3这段代码可以直接粘贴到MarkDown编辑器中变为带层级的无序列表样式效果如下 条目1 条目1.1条目1.2 条目1.2.1条目1.2.2 条目1.3 将ETD解析为LaTex总结笔记 print(edt.to_LaTex())输出 条目1 \begin{cases} 条目1.1\\ 条目1.2 \begin{cases} 条目1.2.1\\ 条目1.2.2\\ \end{cases} \\ 条目1.3\\ \end{cases}粘贴到MarkDown编辑器的LaTex公式中显示为 条 目 1 { 条 目 1.1 条 目 1.2 { 条 目 1.2.1 条 目 1.2.2 条 目 1.3 条目1 \begin{cases} 条目1.1\\ 条目1.2 \begin{cases} 条目1.2.1\\ 条目1.2.2\\ \end{cases} \\ 条目1.3\\ \end{cases} 条目1⎩⎪⎪⎪⎨⎪⎪⎪⎧​条目1.1条目1.2{条目1.2.1条目1.2.2​条目1.3​ 基于此我们可以很方便的通过简单的层级缩进文本或者Markdown中带层级缩进的无序列表实现比较复杂的Latex公式总结笔记的转化。 比如我们构造如下的ETD字符串: 数据结构线性结构栈队列双端列表列表非线性结构图树生成的总结笔记 数 据 结 构 { 线 性 结 构 { 栈 队 列 双 端 列 表 列 表 非 线 性 结 构 { 图 树 数据结构 \begin{cases} 线性结构 \begin{cases} 栈\\ 队列\\ 双端列表\\ 列表\\ \end{cases} \\ 非线性结构 \begin{cases} 图\\ 树\\ \end{cases} \\ \end{cases} 数据结构⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧​线性结构⎩⎪⎪⎪⎨⎪⎪⎪⎧​栈队列双端列表列表​非线性结构{图树​​ 展望 紧缩字串暂未实现 可以将ETD多行文本形式转化为如下的括号嵌套结构的单行字符串。这样更容易压缩存储。 此外也可以编写相应函数来解析为树形结构数据。 条目1[条目1.1,条目1.2[条目1.2.1,条目1.2.2]条目1.3]获取字典与JSON形式 在上面基础上我们可以获取对应的字典以及JSON字符串。 用于树控件 通过提供静态方法可以用于任意Tree控件的数据项构造。 用于构造菜单 菜单是多个树结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利鑫做彩票网站网站规划与设计h5

一. 安全编程 rust逆向,直接动调 定位关键函数sub_7FD043E88C70 下断点跟进 观察控制台 guess number plz input 1-10 number 这时我们随便输入一个数,往下跟进 .text:00007F14B3684E9B .text:00007F14B3684E9B loc_7F14B3684E9B: .text:00007F14B…

网站免费下载安装大全手机版国外做名片网站

Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。以下是本人在学习中的总结与归纳。1. HttpURLConnection接口 首先需要明确的是,Http通信中的POST和GET请求方式的不同。GET可以获得静态页面,也可以把参数放在URL字符串后面&…

广州魔站建站企业网站实施方案

嵌入式的坑烧钱嵌入式的学习十分烧钱,这就让人有点望而却步。我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业。在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比如网页、手机应用、数据库等。…

公司网站本地如何弄中卫市建设网站

计算机考研学院简介计算机与通信学院前身为原湖南大学计算机科学系。1978年组建计算机教研室并开办计算机本科专业,1981年5月正式成立计算科学系,2001年10月正式成立计算机与通信学院。学院现有计算机应用技术博士授权点;计算机科学与技术、信…

01_进程与线程

大部分操作系统的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务…

第六届医学人工智能国际学术会议(ISAIMS 2025)

第六届医学人工智能国际学术会议(ISAIMS 2025) 2025 6th International Symposium on Artificial Intelligence for Medical Sciences ( ISAIMS 2025) 第六届医学人工智能国际学术会议(ISAIMS 2025)将于2025年10月24…

完整教程:Java多线程初阶

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站查询服务器成都网站建设公

战神4 幕后花絮 概念艺术找出Java幕后发生的事情,以及新功能如何实现 在上一篇文章中,我们介绍了即将发布的Java 9版本的新功能和尚待解决的功能,并简要提到了将新功能添加到下一个版本之前要经历的过程。 由于此过程几乎影响了所有Java开发人…

redis 6.0 多线程

Redis 6.0 的多线程,并非指命令处理逻辑的多线程(命令执行仍然是单线程的),而是特指网络 I/O 的多线程,其核心目标是优化大量网络 I/O 带来的性能瓶颈,提升吞吐量,尤其是在高并发场景下。Redis 6.0 之前 - 单线…

docker 常用命令与端口映射

搜索镜像:从 Docker Hub 查找镜像docker search <镜像名称> # 例如:docker search nginx拉取镜像:从仓库下载镜像到本地docker pull <镜像名称:标签> # 例如:docker pull nginx:latest # 如果不写标签…

衡阳市住房建设局网站软装设计ppt

好的思维导图软件能帮助用户更好的发挥创作能力&#xff0c;XMind是一款流行的思维导图软件&#xff0c;可以帮助用户创建各种类型的思维导图和概念图。 多样化的导图类型&#xff1a;XMind提供了多种类型的导图&#xff0c;如鱼骨图、树形图、机构图等&#xff0c;可以满足不同…

网站建设优惠券企业形象设计论文

在你储存项目的文件夹里面应该是这样的 里面.vcxproj后缀名的就是原来创建的项目&#xff0c;直接打开这个头文件源文件就会一起出来了&#xff01; 真的管用&#xff0c;亲测有效。

家居网站建设如何更新不了wordpress

第一部分:选择题 1、Python L6 (15分) 运行下面的程序,哪个值不可能出现?( ) import random print(random.randint(0, 3) * 2) 0236正确答案:C 2、Python L6 (15分) 运行下面的程序,输入哪

做糕点哪个网站影视网站建设方案

os.environ 是 Python 中 os 模块提供的一个字典&#xff0c;它表示当前系统的环境变量。环境变量是在操作系统级别设置的键值对&#xff0c;用于配置系统行为和提供信息给正在运行的进程。 os.environ 的基本用法包括获取和设置环境变量的值。下面是一些基本的使用示例&#…

网站押金收回怎么做分录做网站将文字放在图片上

任务&#xff08;task&#xff09; 任务是最抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一…

广州自助网站设计平台app免费下载入口

6.5 代理proxy java.lang.reflect.proxy&#xff0c;用于创建动态代理类和实例&#xff0c; java.lang.reflect.InvocationHandler&#xff0c;使用动态代理创建实例时&#xff0c;需提供实现接口的类的实例。提供invoke方法&#xff0c;接收三个参数&#xff1a;代理对象、…

在线做效果图有哪些网站足球比赛直播间在线观看

目录 一、安装Anaconda3二、安装open3d三、测试代码四、结果展示五、测试数据 Windows系统下python版本Open3D-0.18.0 的快速安装与使用由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、安装Anaconda…

linux重启mysql服务,几种常见的方法

在 Linux 系统中重启 MySQL 服务的方法因操作系统的初始化系统不同而略有差异,以下是几种常见的方法: 方法一:使用 systemctl 命令(适用于 systemd 系统,如 CentOS 7+/Ubuntu 16.04+) 这是现代 Linux 发行版最常…

详细介绍:Day20 K8S学习

详细介绍:Day20 K8S学习2025-09-22 17:32 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…

opencv学习记录3

梯度边缘计算sobel算子 用来计算图像灰度的近似梯度,梯度越大越有可能是边缘。 Soble算子的功能集合了高斯平滑和微分求导,又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到的是图像在X方法与Y方向…