leo学习系列之一——leo介绍

2024-01-21 13:59
文章标签 学习 介绍 系列 leo

本文主要是介绍leo学习系列之一——leo介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--一些介绍

随着时间的推移,相当多的读者向我推荐 Leo。Leo 是与我所提到的其他编辑器/IDE,或者大多数读者将要使用的任何东西都很不相同的一类应用程序。Leo 的根本特点在于 Donald Knuth 的“literate programming”的概念——也就是那种认为源代码只是构成程序的一小部分的想法。程序的真正主体是对它的算法、结构、目的和用法的描述——实现它的源代码并不是主要的。总之,这是一个概念;我并没有对此深信不疑,我也并不确认这种想法是错误的。

图 3. 欢迎使用 Leo

Leo 界面的屏幕快照

一个 Leo 工程被组织为一组要点,这些要点基本上是一个对应到程序中的分层的可折叠的 内容(节点)树。一些节点包含有源代码片段,一些节点包含的是文档,还有一些节点主要是组织深层的子节点。在树中选择一个节点可以在编辑区中显示出代码或者相关内容。例如,一个 Python 模块通常会作为一个节点,并包含对应于它的类的子节点。每个类节点可能包括一些文档,还会有一组方法节点。结果是,这种对节点的组织在编辑环境中产生了深层次的折叠;但是一个节点远不只是一个折叠点——例如,节点可以被克隆,所以在一个大的工程中,同一个节点可以出现在多个相应的位置。

可以通过 tangling和 untangling 工程来在 Leo 工程外部创建实际的源代码,或者将其导入到 Leo 工程。例如,Leo 可以很好地从一个存在的 .py文件中自动生成要点。当然,您还可以从头开始一个 Leo 工程,并指定哪些内容被写入到哪些文件 (用什么语言、代码或文档)。节点的描述详细说明了当 untangle 时哪些需要被写入,以及这些部分的外观和行为。

对编辑者来说,Leo 的内容区与 IDLE 是等同的。Leo 中的交互式 Python shell 实际上看起来是直接借用于 IDLE。但是 Leo 并没有真正致力于传统的代码编辑问题——而是作为组织者、工程工作空间以及结构化开发环境。Per Knuth 的观点认为实际的代码只不过是外围的东西。

事实上,我还没有真正充分使用 Leo,以完全 理解它所推崇的开发风格。我觉得它可能对很多类工程来说是确实有用的,包括应用程序和文档——但是这需要去适应 Leo 的风格。尽管如此,我的许多读者对它还是非常推崇。



选自:http://www.ibm.com/developerworks/cn/linux/l-cpyide/

http://www.open-open.com/lib/view/open1324649712030.html




  • Leo is ...

  • 这个纯Python 的编辑环境用最简单的代码实现了如此丰富的编程思想
    • Leo 可以是 一个通用的数据管理环境

    • Leo 可以是 一个柔韧性的项目,程序或是其它数据的浏览器

    • Leo 可以是 一个项目管理器

    • Leo 可以是 一个提纲式的程序编辑器

    • Leo 可以是 ....
  • 下载帮助文件来学习 _sbooks.chm

    • 在线阅读 : The Leo Tutorial — Leo 4.11 documentation

    • Slides — Leo 4.11 documentation

    • Leo’s Users’ Guide — Leo 4.11 documentation

开发体验


这篇关于leo学习系列之一——leo介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629776

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,