小编Joh*_*nts的帖子

Scheme和Common Lisp之间有什么实际区别?(或任何其他两种Lisp方言)

注意:我不是在问哪个学习,哪个更好,或者类似的东西.

我拿起SICP的免费版本,因为我觉得阅读会很好(我听说过很好的东西,而且我对这种编程方面很感兴趣).

我知道Scheme是Lisp的一种方言,我想知道:Scheme和Common Lisp之间的实际区别是什么?

似乎有很多关于'CL有一个更大的stdlib ...方案对现实世界的编程不好......'但实际上并没有说'这是因为CL就是这个/有这个'.

lisp scheme common-lisp sicp racket

71
推荐指数
3
解决办法
2万
查看次数

如何将函数应用于元组?

这应该很简单.如何将函数应用于Scala中的元组?即:

scala> def f (i : Int, j : Int) = i + j
f: (Int,Int)Int

scala> val p = (3,4)
p: (Int, Int) = (3,4)

scala> f p
:6: error: missing arguments for method f in object $iw;
follow this method with `_' if you want to treat it as a partially applied function
       f p
       ^

scala> f _ p
:6: error: value p is not a member of (Int, Int) => Int
       f _ p
           ^

scala …

scala

44
推荐指数
3
解决办法
2万
查看次数

Unison 因“格式错误的消息”错误而失败,远程和本地版本相同

升级到 Mac OS X Catalina 后,我试图让一致工作。不幸的是,macports 安装了更新版本的 ocaml (4.08.1),这意味着 unison 2.51.2 版本将无法编译。

好吧,那没问题,我只是同步更新到 git master,然后重新编译。不幸的是,这在同步时失败,因为用于在 mac (4.08.1) 上编译的 ocaml 版本与用于在另一台机器 (4.07.1) 上编译的版本不同。叹。好的,使用 opam magic 在我的机器上安装 4.07.1。一切都应该没问题吧?不!

这是错误:

Connected [//zzzmyhost//home/clements/unison-home -> //zzzmyotherhost//Users/clements/clements]
Looking for changes
Uncaught exception Failure("input_value: ill-formed message")
Raised at file "/private/tmp/unison/src/lwt/lwt.ml", line 126, characters 16-23
Called from file "/private/tmp/unison/src/lwt/generic/lwt_unix_impl.ml", line 102, characters 8-23
Called from file "/private/tmp/unison/src/update.ml" (inlined), line 2105, characters 2-69
Called from file "/private/tmp/unison/src/uitext.ml", line 978, characters 16-56
Called from file "/private/tmp/unison/src/uitext.ml", line 1066, characters 6-90 …
Run Code Online (Sandbox Code Playgroud)

unison

10
推荐指数
1
解决办法
1995
查看次数

选择TSDB进行一次性智能家居安装

我正在构建一个一次性的智能家居数据收集盒.它预计将运行在raspberry-pi级机器(~1G RAM)上,每天处理大约200K数据点(每个64位int).我们一直在使用vanilla MySQL,但性能开始崩溃,特别是对于给定时间间隔内的条目数量的查询.

据我了解,这基本上就是为时间序列数据库设计的.如果有的话,关于我的情况的不寻常的事情是音量相对较低,可用的RAM量也是如此.

快速浏览维基百科可以看出OpenTSDB,InfluxDB和BlueFlood.OpenTSDB建议使用4G的RAM,但这可能适用于高容量设置.InfluxDB实际上提到了传感器读数,但我找不到很多关于需要什么样的资源的信息.

好的,所以这是我的实际问题:是否有明显的红旗会使这些系统中的任何一个不适合我描述的项目?

我意识到这是一个火焰的邀请,所以我指望人们把它保持在明亮和乐于助人的一面.提前谢谢了!

mysql raspberry-pi opentsdb influxdb raspberry-pi2

9
推荐指数
1
解决办法
1032
查看次数

XCode 9.1 - 缺少位置模拟

我今天刚刚将我的XCode更新为9.1,令人惊讶的是我在方案设置中找不到"允许位置模拟",请参考下面的截图:

在此输入图像描述

有没有人遇到同样的问题?还有什么建议我可以解决它吗?

苹果最近变得越来越糟.

simulation location xcode9.1

7
推荐指数
2
解决办法
1610
查看次数

NASM(英特尔)与AT&T语法:有什么优势?

我正在阅读英特尔处理器文档并同时编写一些基本的汇编代码.我在我的服务器上有两个nasmas(GAS),我理解两个汇编程序的基本区别.

长期来说:

  • 关注哪种语法更好?
  • 这些语法有哪些优缺点?
  • 哪一个被更广泛地使用和理解?

我也很感激您可以与我分享的任何偏好.

assembly nasm att

6
推荐指数
2
解决办法
4721
查看次数

F#中的短期平等检查?

在F#中,相等运算符(=)通常是拉伸的,而不是内涵的.那很棒!不幸的是,在我看来,F#不使用指针相等来缩短这些扩展比较.

例如,这段代码:

type Z = MT | NMT of Z ref

// create a Z:
let a = ref MT
// make it point to itself:
a := NMT a

// check to see whether it's equal to itself:
printf "a = a: %A\n" (a = a)

......给了我一个很大的分段错误[*],尽管'a'和'a'都评价相同的参考.那不是那么好.其他函数语言(例如PLT Scheme)使用指针比较保守地得到这个权利,当可以使用指针比较确定它时返回'true'.

所以:我会接受F#的等式算子不使用短切的事实; 有没有办法进行内涵(基于指针)的相等检查?(==)运算符没有在我的类型上定义,如果有人能告诉我它以某种方式可用,我会喜欢它.

或者告诉我,我对情况的分析是错的:我也很喜欢......

[*]这可能是Windows上的堆栈溢出; 有关Mono的事情,我不喜欢......

f# equality

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

方案 - 方程式?比较两个字符串?

我的程序有问题.

我有一个比较2字符串的条件:

(if(eq?(exp1)(exp2)))

当exp1给我一个字符串,exp2给我一个字符串.当然,当我改变"eq?"时 到"=",它给我下一个问题:

=:期望类型<number>作为第二个参数,给定:ie; 其他论点是:即.

当我运行程序时,函数不会进入"if"函数中的第一个表达式,并进入第二个表达式(意味着条件为false).

我能做什么?

谢谢.

scheme

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

如何设计一个爬行机器人?

我正在开展一个小项目来分析我觉得有趣的一些网站上的内容; 这是一个真正的DIY项目,我正在做我的娱乐/启蒙,所以我想尽可能多地编写自己的代码.

显然,我将需要数据来提供我的应用程序,我想我会写一个小爬虫,可能需要20k页的html并将它们写入我的硬盘上的文本文件.但是,当我查看SO和其他网站时,我找不到任何有关如何执行此操作的信息.这可行吗?似乎有可用的开源选项(webpshinx?),但我想尽可能自己写这个.

Scheme是我唯一熟悉的语言,但我认为我会利用这个项目来学习一些Java,所以如果有任何racket或java库会对此有所帮助,我会感兴趣.

所以我想总结一下我的问题,有什么好的资源可以开始这个?如何让我的爬虫从其他服务器请求信息?我是否必须为此编写一个简单的解析器,或者这是不必要的,因为我想获取整个html文件并将其保存为txt?

java scheme web-crawler racket

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

Python unittest:如何指定自定义相等谓词?

这可能是一个简单的问题;我想在 Pythonunittest测试用例中使用自定义相等运算符。例如,假设我要测试“数字到字符串”函数,并且要执行不区分大小写的字符串比较。

这是我想写的:

class MyTest(unittest.TestCase):
    def testFoo(self):
        self.assertCheck(ci_string_eq,i2s(24),"Twenty-Four")
Run Code Online (Sandbox Code Playgroud)

问题是那assertCheck不是一回事。

一些明显的解决方法:

  • 使用断言真;问题是测试用例失败会变得不透明和无益;“预期为真,得到假”。废话。
  • 深入研究单元测试并自己扩展它;好吧,我希望避免这种情况:)

我希望我遗漏了一些明显的东西?

提前谢谢了!

编辑:有些人建议我覆盖__eq__. 这不是我想要的。具体来说,__eq__我的代码的客户端使用该方法来确定两个对象是否应被视为“相同”(参见“扩展相等”)。但是,出于测试的目的,我想使用不同的谓词进行测试。所以覆盖__eq__并不能解决我的问题。

python unit-testing python-unittest

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

python中的轻量级单元测试

我正在考虑使用Python来教授入门编程,我正在寻找一个轻量级的单元测试框架.我已经看到了在单元测试,以及-据我可以告诉-它看起来出奇的 -lightweight.

例如,这是我想要写的内容:

import unittest

def f(x):
  return x+2

checkEqual(f(3),5)
Run Code Online (Sandbox Code Playgroud)

...... 别无其他.为了告诉你我来自哪里,这就是我用Racket开始的学生语言写的:

(define (f x)
  (+ x 2))

(check-expect (f 3) 5)
Run Code Online (Sandbox Code Playgroud)

......就是这样.当然有人写了这个工具,我只是没找到它?

(对任何火焰诱饵的出现都要提前道歉.这是一个严肃的问题.)

自编辑:

在任何人指出这一点之前:是的,我可以写def checkEqual(a,b):print(a == b); 我正在寻找更多的东西:它应该能够检查带有容差的数字,它应该支持仅打印失败的测试用例,它应该能够告诉你有多少测试用例失败了.再次,我相信这段代码可以写出来; 我只是想避免重新发明轮子.

python racket

4
推荐指数
2
解决办法
569
查看次数

如何在终端打印球拍检查预期结果

我有以下球拍代码:

(require test-engine/racket-tests)

(define (square val)
  (* val val))

(check-expect (square 3) 9)
Run Code Online (Sandbox Code Playgroud)

当我使用 Beginning Student 语言在 DrRacket 中执行脚本时,我在应用程序控制台中得到以下输出(该视图在 DrRacket 中称为“交互”):

测试通过!

当我通过终端在终端中执行相同的脚本时,racket my_script.rkt我看不到任何输出。我检查过,racket --help但没有看到任何可行的选择。如何在终端中执行脚本并打印出相同的行?

terminal racket

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

如何定义基本的Python结构?

我是从Racket来到Python的.在Racket中,我会定义一个Point这样的结构:

(struct Point (x y) #:transparent)
Run Code Online (Sandbox Code Playgroud)

一个点现在是一个名为x和的两个字段的结构y.我可以通过调用比较两个结构(深度)相等equal?.

Python中的等价物是什么?在我看来,我必须写十二行:

class Point():
    def __init__(self,x,y):
        self.x = x;
        self.y = y;

    def __eq__(self, other):
        return ((type(other) is Point)
          and self.x == other.x
          and self.y == other.y)

    def __ne__(self, other):
        return not(self == other)
Run Code Online (Sandbox Code Playgroud)

......但肯定有一种更简单的方法吗?

python racket

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