标签: literate-programming

在大型Java项目上使用noweb

有没有人在大型Java项目中使用noweb文字编程工具,必须在不同的子目录中生成多个源代码文件?你是怎么用noweb来管理的?那里有资源和/或最佳实践吗?

java noweb literate-programming

5
推荐指数
2
解决办法
1282
查看次数

帮助更好地解析Java中String的数字

我有一个包含数字和字母的字符串.我希望将字符串分成连续的数字块和连续的字母块.

考虑字符串"34A312O5M444123A".

我想输出:["34","A","312","O","5","M","444123","A"]

我的代码有效,看起来像:

List<String> digitsAsElements(String str){
  StringBuilder digitCollector = new StringBuilder();

  List<String> output = new ArrayList<String>();

  for (int i = 0; i < str.length(); i++){
    char cChar = str.charAt(i);

    if (Character.isDigit(cChar))
       digitCollector.append(cChar);
    else{
      output.add(digitCollector.toString());
      output.add(""+cChar);

      digitCollector = new StringBuilder();
    }         
  }

  return output;
}
Run Code Online (Sandbox Code Playgroud)

我考虑拆分str两次得到一个包含所有数字块的数组和一个包含所有字母块的数组.然后合并结果.我避开了它,因为它会损害可读性.

我故意避免用正则表达式模式解决这个问题,因为我发现正则表达式模式是可读性的主要障碍.

  • 调试器不能很好地处理它们.
  • 它们会中断某人阅读源代码的流程.
  • 加时正则表达式有机地成长并成为怪物.
  • 他们非常不直观.

我的问题是:

  • 我怎样才能提高上述代码的可读性?
  • 有一个更好的方法吗?一个优雅地解决这个问题的Util类.
  • 你在哪里画一个使用regEx和编写一些简单的东西到我上面写的内容之间的界限?
  • 如何提高regExes的可读性/可维护性?

java regex string readability literate-programming

5
推荐指数
3
解决办法
1281
查看次数

如何将输入作为stdin输入到src_block?

考虑以下使用的org-babel中的perl片段<STDIN>.

** Ans 2
   #+begin_src perl :results output
     use Math::Trig;
     $rad = <STDIN>;
     $circumference = 2*pi*$rad;
     print "Circumference of circle is $circumference";
   #+end_src
Run Code Online (Sandbox Code Playgroud)

是否可以将输入从另一个块传输到此块?

说:

#+begin_src text :name test-input
  12.5
#+end_src
Run Code Online (Sandbox Code Playgroud)

literate-programming org-mode org-babel

5
推荐指数
1
解决办法
699
查看次数

使用Racket scribble/lp进行文学编程的例子

除了学习Racket,我还在努力学习文学编程.不幸的是,关于scribble/lp,Racket文档很少说.有人能指出我在这个主题上有更好的资源或用Racket编写的文学程序的例子吗?

非常感谢你.

literate-programming racket scribble

5
推荐指数
1
解决办法
925
查看次数

在编写Rd文档时,如何保留行中的初始空格?

在尝试为自己找到关于这个问题的解决方案时,我发现自己陷入了尝试编写有效的Rd标记.我想要的是添加一个名为的部分Raw Function Code,并将函数的代码放在其下.通过编写脚本来修改要包含的Rd文件,我在这方面取得了有限的成功

\section{Raw Function Code}{\code{
# some piece of R script will eventally provide this part of the text
}}
Run Code Online (Sandbox Code Playgroud)

但是,即使我手动将文本正确地分隔成.Rd文件(使用空格或制表符),每条线的初始空白区域似乎也会被剥离,留下不合需要的外观功能.我注意到如果我在白色空间之前提供一个起始字符,则保留空白区域.但是,我不想提供一个起始角色,因为我希望人们能够直接从制作的PDF中复制和粘贴.

我查看了parseRd,我知道有三种类型的文本LaTeX-like,R-like和verbatim.我试图将我的功能代码放在\ code和\ verb中,似乎都没有产生预期的结果.我该怎么做才能抓住我最初的空白区域?

r literate-programming rd roxygen2

5
推荐指数
1
解决办法
588
查看次数

如何为有文化的Haskell编程设置vim的标识?

当我打开autoindent常规的*.hs文件时,按下后输入新行按预期缩进.但是,这不适用于代码行以(AKA"bird-tracks")开头的文字Haskell*.lhs文件>.光标始终位于第一列.

我如何设置vim,以便当我在*.lhs文件中的一段代码中(并且让它们autoindent开启)时,按Enter键会在新行创建一个鸟类轨道并适当缩进?

更新:举个例子,让我们说有

> myfn x | x <= 0     = 0
>        | x == 1     = 1?
Run Code Online (Sandbox Code Playgroud)

where ?表示光标的位置(我希望你看到unicode字符没有问题.)如果按Enter键,我最终会

> myfn x | x <= 0     = 0
>        | x == 1     = 1
?
Run Code Online (Sandbox Code Playgroud)

而我想要

> myfn x | x <= 0     = 0
>        | x == 1     = 1
>        ?
Run Code Online (Sandbox Code Playgroud)

vim haskell indentation literate-programming auto-indent

5
推荐指数
1
解决办法
532
查看次数

有没有办法用文字编程进行测试驱动的开发?

我正在学习用R做我的第一次单元测试,并且我在R Markdown文件中编写我的代码,以便简单地提供简短的研究报告.同时,我想测试我在这些文件中使用的函数,以确保结果是合理的.

问题在于:R Markdown文件用于编织HTML编织器,而不是RUnit测试工具.如果我想在测试代码中加载一个函数,我有几个选择:

  1. 复制粘贴Markdown文件中的代码块,该文件将Markdown文档中的代码与测试代码分离
  2. 将我的测试代码放在Markdown文件中,这使得报告难以理解(可能最终会容忍)
  3. 编写代码,首先测试它,然后将其作为Markdown代码中的库包含在内,这样就消除了在报告正文中提供代码的信息性特征

是否有更明智的方法可以避免这些方法的缺点?

unit-testing r literate-programming

5
推荐指数
1
解决办法
1105
查看次数

scribble/lp文档中未解析的链接

我正在尝试用Racket的scribble/lp编写一个小例子程序.该项目的来源是在Github上.

我遇到的问题是编织html中的链接断开.我已将它作为gh页面提供.对于该项目.

使用命令'Sribble LPexample.scrbl'输出文档时,我收到以下警告:

2013 blog > scribble LPexample.scrbl
 [Output to LPexample.html]
Warning: some cross references may be broken due to undefined tags:
 (dep ((lib "2htdp/image.rkt") ellipse))
 (mod-path "racket")
 (dep ((lib "2htdp/image.rkt") beside/align))
 (dep ((lib "2htdp/image.rkt") rectangle))
 (mod-path "scribble/lp")
Run Code Online (Sandbox Code Playgroud)

并且输出文件在断开的链接下放置红色下划线.

被潦草的文件是LPexample.scrbl.这很简单:

#lang scribble/manual
@require[scribble/lp-include]
@title{Literate Programming Example}
// snip
@lp-include["LPexample.rkt"]
Run Code Online (Sandbox Code Playgroud)

获取断开链接的文字编程文档的部分是第69-86行:

which weaves to this:

@chunk[<blue_square>
       (rectangle 100 100 "solid" "blue")]

can be composed into other functions this way:
@verbatim|{
@chunk[<blue_square>
(beside/align "bottom"
              (ellipse 20 70 …
Run Code Online (Sandbox Code Playgroud)

literate-programming racket scribble

5
推荐指数
1
解决办法
199
查看次数

带有颜色的Agda PDF

我正在使用lhs2TeX作为我的文字Agda文件,我希望它们能够突出显示语法.我知道我可以通过%format指令实现一些突出显示,但这有点太多了.我已按照http://foswiki.cs.uu.nl/foswiki/pub/FPOld/CourseLiterature/presentation.pdf的说明尝试使用lhs2Tex-hl,但无济于事.

如果有人可以帮助用彩色Agda获取PDF,那将不胜感激!

编辑

Agda乳胶后端很棒但有一些问题.最大的问题是spec-environment.它说规范是未定义的,所以把它作为一个同义词code应该修复:\newenvironment{spec}{\begin{code}}{\end{code}}但现在有类型检查问题和missing $错误.使用sed删除spec块会导致missing $错误; 同样\newenvironment{spec}{\verbatim}{\endverbatim}.使用时遇到类似问题|...|.另外,我真的很喜欢%formatlhs2tex ......

pdf syntax-highlighting literate-programming agda

5
推荐指数
0
解决办法
202
查看次数

在Windows中以CWEB格式读取代码的最佳方法是什么?

唐纳德克努特有很多节目要在他的页面上阅读.但他们大多采用"奇怪的"CWEB格式......

什么是在Windows中使它们具有适当可读性的最佳方法?

knuth literate-programming

4
推荐指数
1
解决办法
682
查看次数