我今天决定学习LISP,并且一直在玩它.我写了一个简单的婴儿功能只是为了测试我的理解,现在明白我的理解并不像我理解的那样理解.:d
无论如何,这是功能.这个想法是,当它被调用时,例如(esexp base x)它应该返回值base ^ x.所以(esexp 3 4)= 3 ^ 4 = 81.
(如果重要的话,我正在使用Common Lisp的CMU实现.)
(defun esexp (base x)
(if (= x 0)
1
(if (< x 0)
(/ esexp (base (+ x 1)) base)
(* esexp (base (+ x 1)) base))))
Run Code Online (Sandbox Code Playgroud)
这不起作用.我得到的错误看起来像(警告:此变量未定义:SLBEXP)和(KERNEL :: UNBOUND-SYMBOL-ERROR-HANDLER中的错误:变量SLBEXP未绑定.)所以.我究竟做错了什么?并且会有更好的(或更多LISP-ish方式)来编写这个函数吗?
ETA
更正代码:
(defun esexp (base x)
(if (= x 0)
1
(if (< x 0)
(/ (esexp base (+ x 1)) base)
(* (esexp base (- x 1)) base))))
Run Code Online (Sandbox Code Playgroud) 我想删除空标签,例如<label></label>,<font> </font>使:
<label></label><form></form>
<p>This is <span style="color: red;">red</span>
<i>italic</i>
</p>
Run Code Online (Sandbox Code Playgroud)
将被清理为:
<p>This is <span style="color: red;">red</span>
<i>italic</i>
</p>
Run Code Online (Sandbox Code Playgroud)
我在javascript中有这个RegEx,但它删除了空标签,但它也删除了这个: "<i>italic</i></p>"
str=str.replace(/<[\S]+><\/[\S]+>/gim, "");
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我想做这样的事情:
<display:table name="${summary${index}}">
Run Code Online (Sandbox Code Playgroud)
但它不起作用抛出异常:"$ {summary $ {selChrm}}"包含无效表达式.我希望用户使用下拉列表来选择一个选择并放入变量索引.然后该表将显示相应的javabean对象列表,即.命名摘要01,摘要02等.我该怎么做?提前致谢.
更新:谢谢你们.问题出在嵌套EL上.我试着用
<display:table name="summary${index}">
Run Code Online (Sandbox Code Playgroud)
但是表格中没有任何内容显示,因为summary01是变量名称.如果我对变量名称进行硬编码,它将起作用:
<display:table name="${summary01}">
Run Code Online (Sandbox Code Playgroud)
因此,我该如何做嵌套EL?如果它不可能在JSTL中,我怎样才能实现用户可以使用下拉列表来确定要在表中显示哪些内容的行为?再次感谢.
在BASH脚本中,我正在尝试检测文件是否存在.文件名在变量中,但-e命令似乎无法检测到该文件.以下代码始终输出"〜/ misc/tasks/drupal_backup.sh不存在"
filename="~/misc/tasks/drupal_backup.sh"
if [ -e "$filename" ]; then
echo "$filename exists"
else
echo "$filename does not exist"
fi
Run Code Online (Sandbox Code Playgroud)
另一方面,以下代码正确检测文件:
if [ -e ~/misc/tasks/drupal_backup.sh ]; then
echo "$filename exists"
else
echo "$filename does not exist"
fi
Run Code Online (Sandbox Code Playgroud)
为什么会这样?当文件名在变量中时,如何让它检测文件?
运行Django单元测试是远远太慢.特别是当我只想运行一个测试,但测试运行器想要创建整个数据库并销毁整个事件只是为了那个测试.
在我没有改变任何模型的情况下,如果Django不打算尝试创建和销毁整个数据库,我可以节省大量时间,而是将其保存下次.更好的是,如果测试运行器能够查看哪些模型已更改并且仅在运行测试之前替换那些模型,那将会很棒.
我宁愿不必自己将测试运行器子类化,但如果我很快找不到解决方案,那就是我将要做的事情.有没有这样的东西已经存在?
除了OpenPGP之外,是否还有其他库来加密文本?
可能重复:
为什么没有全面的c档案网络?
每个人都知道C语言非常小,它只有语言原语,几乎没有标准库(没有数据结构或算法).
因此,我有一个问题,如何找到适合数据结构,算法和系统编程的优秀C库?
例如,如果我需要一个哈希表,我如何找到一个好的实现?或者,例如,如果我需要使用图表,我该怎么办?
到目前为止,我一直在写一切.但是我的哈希表实现还不够好.这是非常基本的.
高级C程序员对这个问题做了什么?他们真的会再次自己写所有的图书馆吗?
谢谢,Boda Cydo.
我正处于需要为使用CakePHP 1.3编写的REST API编写单元测试的地步.API支持用于查询和操作数据的GET,POST和PUT请求.
有没有确定的方法来测试模拟HTTP请求的API的正确输入/输出,使用fixture?我不想对live(dev)数据库运行实际的POST/PUT请求.我怎样才能最好地模拟系统以使用临时模型,然后按原样测试堆栈的其余部分?
使用控制器测试可以轻松测试GET请求.但是,对于数据操作,API非常广泛地使用HTTP头,并且还解析原始XML和JSON POST/PUT数据.控制器单元测试方法仅通过$this->data在控制器中设置来模拟POST数据,这不允许我正确地测试API.
我帮助维护和构建一个相当大的Swing GUI,有很多复杂的交互.我经常发现自己修复了由于某些其他竞争条件导致事情进入奇怪状态的错误.
随着代码库变大,我发现通过文档指定哪些方法具有线程限制已经不那么一致了:最常见的是必须在Swing EDT上运行的方法.类似地,知道并提供静态感知将是有用的,其中(我们的自定义)侦听器通过规范在EDT上被通知.
因此,我认为这应该可以使用注释轻松实施.请注意,至少存在一个静态分析工具CheckThread,它使用注释来完成此任务.它似乎允许你声明一个方法被限制在一个特定的线程(最常见的是EDT),并将标记尝试调用该方法的方法,而不会将自己声明为局限于该线程.
所以从表面上看,这似乎是对源和构建周期的低痛苦,巨大收益.我的问题是:
我知道它是否适合我们取决于我们的情况.但是我从来没有听说过人们在实践中使用过这样的东西,说实话,它似乎并没有从一些普通的浏览中获得太多.所以我想知道为什么.
早上好,
我在R中开发了几个月,我必须确保代码的执行时间不会太长,因为我分析了大数据集.
因此,我一直在尝试使用尽可能多的矢量化函数.
但是,我仍然想知道一些事情.
R中代价高昂的不是循环本身吗?我的意思是,当您开始在循环中修改变量时出现问题,例如是否正确?
因此我在思考,如果你只需要在每个元素上运行一个函数(你实际上并不关心结果)会怎么样.例如,在数据库中写入数据.你该怎么办?
1)使用mapply而不将结果存储在任何地方?
2)在向量上做一个循环,只对每个元素应用f(i)?
3)我可能错过了更好的功能吗?
(当然假设你的功能没有最佳矢量化).
foreach包裹怎么样?您是否通过使用它获得了任何性能提升?
unit-testing ×2
api ×1
bash ×1
c ×1
cakephp ×1
common-lisp ×1
django ×1
el ×1
encryption ×1
filenames ×1
java ×1
javascript ×1
jsp ×1
libraries ×1
linux ×1
lisp ×1
loops ×1
objective-c ×1
r ×1
regex ×1
repository ×1
shell ×1