newlisp中的if语句

使用newLISP编写和运行脚本文件 通过将newLISP代码保存在脚本文件中,我们可以轻松地编写和运行复杂的newLISP程序。只需创建一个新的文本文件,将代码保存在其中,然后使用newLISP解释器运行脚本文件即可。newLISP是一种功能强大且易于使用的编程语言,它支持将代码保存在脚本文件中并进行运行。首先,我们需要创建一个新的文本文件,并将其保存为以".lsp"为扩展名的文件,例如"script.lsp"。除了直接在终端或命令提示符上运行脚本文件,你还可以将脚本文件的路径作为命令行参数传递给newLISP解释器。 阅读详情

newlispd的if语句语法格式是

syntax: (if exp-condition exp-1 [exp-2])
syntax: (if exp-cond-1 exp-1 exp-cond-2 exp-2 [ ... ])
如果if里面的条件返回值为nil或为空时,表达式1将被执行,否则表达式2被执行。

例如:

(if  (> 3 1)
  (println "Yes")
  (println "No"))
 ;->"Yes"

需要注意的是当表达式语句有多条时,必须用begin进行封装,如:

(if (= x y)
(begin
(some-func x)
(some-func y))
(begin
(do-this x y)
(do-that x y))
)


12V INPUT电源电路设计中的关键保护机制解析【精简】 本文深入解析了12V INPUT电源电路设计中不可或缺的关键保护机制。针对常见的电源反接、过压及浪涌等风险,文章详细拆解了PMOS防反接、TVS过压钳位、OVP芯片关断以及快速断电电路等核心防护方案的设计原理、选型要点与实战优化技巧,旨在帮助工程师构建可靠、经济的电源前端防御体系。 阅读详情

相关推荐

silvaco例子库学习—mos1ex02

mos1ex02相比于第一个例子,主要进行了mos的输出特性仿真,工艺结构是一样的,所以就只简单讨论一下atlas特性仿真的部分。

weixin_61913839的博客 852

newlisp宏的简单例子

实用的newlisp宏例子

Dean Chen的专栏 4324

Xilinx FPGA中利用JTAG实现MicroBlaze调试信息输出

本文详细介绍了在Xilinx FPGA开发中,如何利用JTAG接口为MicroBlaze软核处理器实现调试信息输出的完整方案。通过配置调试模块、设置Vitis软件工程以及使用XSCT工具,开发者可以建立一条不依赖外部硬件的可靠调试通道,有效解决早期硬件验证阶段串口不可用的问题,大幅提升调试效率。

weixin_29201859的博客 289

AutoCAD LISP简单IF判断语句

AutoCAD LISP简单判断语句,代码如下。 (defun c:test()   (setq cenpt (getpoint "输入圆心:"))   (setq rad (getdist cenpt "\n输入圆半径:"))   (if (> rad 0)     (progn       (command "circle" cenpt ra...

weixin_33924220的博客 3864

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1656

mipi deskew原理理解

何为skew, 从字面意思看是倾斜了,不对齐了;放在mipi的传输中意思就是clock lane和data lane 及data lane与data lane间出现了相位差;一旦出现相位差,大家采样数据时就可能不在同一个节拍上,会出现传输错误。所以就要做deskew,通过做deskew来使得大家重新对齐,在同一个节奏下传输数据. 一般当data rate高于1.5G时建议开启deskew。

lx123010的专栏 8093

Linux常用Shell脚本

我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本。如何学好脚本,最关键的是就是大量的练习 和实践。根据以下脚本我们可以拓展,这样我们提高的很快!举一反三! 1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 参考程序...

weixin_34163553的博客 1012

2022年灌溉试验设计与数据分析考试试题

2.表2数据为表层0~10cm的原状土离心机土壤水分特征曲线试验数据,(1)请利用R语言nls函数通过Van Genuchten方程对土壤体积含水率和土壤基质势进行拟合;(3)指明土壤基值势为-33 kPa和-1500kPa时的体积含水率。1.请根据表1数据,以灌溉模式为主区,生物炭用量为子区,利用R语言agricolae包生成裂区试验设计试验处理布置图;3.以R工具包factoextra中decathlon2数据集前10列为数据进行PCA分析,要求计算出(1)前5个主成分的特征值、特征向量;

Mrrunsen的博客 265

lisp语言cond和if套用,lisp:if语句的格式正确

As a task for myself to learn common lisp, I'm trying to recreate lodash.En route to recreating _.chunk, I've written the following to test for an optional argument(defun _.chunk (array &optional ...

weixin_31362539的博客 457

跨越边界:用MessagePipe实现无缝的进程间通信

MessagePipe是一个用于.NET平台的消息传递库,它专注于简化异步消息处理和进程间通信。通过提供一系列易于使用的API,开发者可以快速搭建起稳定可靠的通信管道,支持多种传输协议(如TCP、Unix域套接字等),并内置了序列化/反序列化功能,使得跨语言和跨平台的数据交换变得轻而易举。为了方便序列化和反序列化操作,我们需要为每种消息定义对应的类或结构体,并标记属性。这样可以确保消息在发送方和接收方之间正确无误地传递。[Key0set;[Key1set;

墨夶的博客 816

需求跟踪详解

需求跟踪是指在软件项目开发过程中,建立并维护需求与项目各阶段工作产物(如设计文档、代码模块、测试用例等)之间对应关系的过程。它不仅记录需求从提出到实现的完整路径,还能反映需求变更时对各阶段工作的影响范围,是连接用户期望与实际软件开发产出的桥梁。

跟佟格湾一起学习计算机知识吧~ 1422

newLISP语法

newLISP的最大特点就是语法简单,估计一张纸能说明白最常用的。下面就说几个:define 是用来定义函数的,比如下面定义并使用了一个my-add函数> (define (my-add x) (+ 1 x)) (lambda (x) (+ 1 x)) > (my-add 4) 5 (+ 1 x) 是函数体。调用函数上面已经演示过,就是(函数名 参数1 参数2) 这样的形式,比如复制一个文件:>

Dean Chen的专栏 3715

Android功耗系列专题理论之十一:高通QCOM平台待机功耗问题分析方法

本文详细介绍了高通QCOM平台待机功耗问题的分析方法。首先强调测试环境标准化的重要性,包括关闭无线功能、日志记录和非必要传感器。重点分析了硬件连接检查、驱动配置验证、电源管理策略优化等关键步骤。文章详细讲解了射频校准、时钟源/中断分析、子系统状态检查等专业技术方法,并提供了具体的命令行操作示例。此外还介绍了外设拆解、外灌电压测试等硬件排查手段,以及功耗分解板、波形分析等高级诊断技术。最后强调了固件版本验证和环境因素测试的必要性,为工程师提供了系统性的功耗问题排查思路。

770

在newlisp中使用table-driven模式

table-drvien,在代码大全中有专门一章介绍,大意是如果条件判断太多,根据不同的条件要执行不同的代码逻辑,用if/else很傻,用switch/cae也是一样,用设计模式要设计一大堆类。其实有一个跟简单的做法,就是key/value类型的数据结果,key为条件,value为执行函数。在newlisp中,提供了key/value的接口允许做到table-driven. 下面是个例子:> (n

Dean Chen的专栏 3529

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

newLisp使用初步

newLISP newLISP是一个类似Lisp语言的、用于一般用途的脚本语言。它具有 LISP 语言所有的魔力,但更容易学习和使用。 newLISP是友好的,快速和简小的。大部分您需要的功能都将已经内置。 下面是一段示例代码: (command-event (fn (s)     (local (request)         (if (find "?" s) ; is

bcbobo21cn的专栏 1476

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

newLISP你也行 --- 流

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33676492的博客 151

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

newLISP bayes算法使用

理解条件概率在理解条件概率的前提下,参考i之前的n文章理解条件概率两阶段算法-训练和查询现在来看看大名鼎鼎的bayes算法。bayes分成训练和查询两个阶段。训练指的是对样本数据集的训练,从而找出规律。newlispe提供了bayes-train函数训练先来看看函数原型:syntax: (bayes-train list-M1 [list-M2 ... ] sym-context-D)list-M

Dean Chen的专栏 1989

newLISP 多核编程

newLISP实现了Cilk API, 可以将多个同时运行的进程执行在多处理器或者多核的CPU架构上,已达到并行节省运行时间的目的。使用spawn和sync函数可以很快的实现。下面是来自newLISP官方文档的例子:#!/usr/bin/newlisp ; calculate primes in a range (define (primes from to) (local (plist)

Dean Chen的专栏 3288

newLISP序列化

newLISP序列化主要是指list表达式如何转换成string,存储在文件或者数据库中。然后读取并转换成list表达式。先看简单的list转换成string(setf a '(1 2 3 4))(1 2 3 4)> (string a)"(1 2 3 4)"string转换成list(list? (eval-string (string "'" b)))true这行代码需要说明一下。需要使用ev

Dean Chen的专栏 2205

newLISP 删除目录

这是个很简单的需求,可是API只提供了一个几乎没什么用的函数remove-dir 要求目录必须为空。因此我写了一个函数来递归删除目录树:(define (make-sure-folder-path-end-of-slash dir-path) (if (!= (last dir-path) "/") (push "/" dir-path -1) ) dir-path )

Dean Chen的专栏 2500

改进的newlisp编译脚本,只需要配置

前面有一篇Say bye to CMake and Makefile我开始用自己编写的newlisp脚本替代CMake,今天对前面的进行改进。改进部分是:1. newlisp armory模块的引入和初始化 部分可以重用2. 将头文件所在目录,cpp或者cc文件所在目录以及依赖库名称等 作为配置单独抽出来,可以根据不同的项目进行配置现在看改过后的代码:rebuild.lsp是主要执行脚本#!/us

Dean Chen的专栏 3414

newLISP中的字典类型

newLISP字典类型

Dean Chen的专栏 2985

用newLISP读取Hive的元数据

思想是通过调用hive -e命令,然后解析返回的结果。下面的hive.lsp文件是一个例子,提供了读取本地hive数据库名称,表名,表结构和根据hive表的创建语句生成对应的MySQL的创建语句。最新代码参考我在gitlab.com上的开源项目:https://gitlab.com/newlisp/armory.git;; hive.lsp ;; @module hive ;; @descrip

Dean Chen的专栏 3377

newlisp 注释生成文档

最近写了一个newlisp_armory库,用来实现一些newlisp自身不支持的操作。比如跨windows和ubuntu的目录拷贝功能等。自己用的时候,发现没有API reference文档参考,很不方便。于是学习了如何用注释生成文档。在Ubuntu环境下,首先要下载newlispdoc程序的源码:http://newlisp.org/syntax.cgi?code/newlispdoc.txt@description

Dean Chen的专栏 3705

newLISP文件合并

需求是几百个文件,命名规则类系下面的文件名:dailydata_20140320.txt通过newLISP合并,首先是自动生成这些文件名,然后用read-file读取内容,再用append-file写入到一个文件中。注意删除上次运行的结果,也要注意有文件不存在的话需要出error.log日志。代码如下:#!/usr/bin/newlisp (set 'start-date "20140101 0

Dean Chen的专栏 2507

用newlisp做数学统计

newlisp stat库提供了常用的统计函数,这里简单介绍。加载模块> (module "stat.lsp") (lambda (stat:lst) (append (join (map string stat:lst) "\r\n") "\r\n"))求和> (setf a '(1 2 3 1 4 5 7)) (1 2 3 1 4 5 7) > (stat:sum a) 23平均值> (sta

Dean Chen的专栏 936
上一篇: newlisp中string转换成list
下一篇: newlisp string转换成数值
monkey_four
博客等级 码龄16年 11粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值