注意:我不是在问哪个学习,哪个更好,或者类似的东西.
我拿起SICP的免费版本,因为我觉得阅读会很好(我听说过很好的东西,而且我对这种编程方面很感兴趣).
我知道Scheme是Lisp的一种方言,我想知道:Scheme和Common Lisp之间的实际区别是什么?
似乎有很多关于'CL有一个更大的stdlib ...方案对现实世界的编程不好......'但实际上并没有说'这是因为CL就是这个/有这个'.
这应该很简单.如何将函数应用于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 …
升级到 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) 我正在构建一个一次性的智能家居数据收集盒.它预计将运行在raspberry-pi级机器(~1G RAM)上,每天处理大约200K数据点(每个64位int).我们一直在使用vanilla MySQL,但性能开始崩溃,特别是对于给定时间间隔内的条目数量的查询.
据我了解,这基本上就是为时间序列数据库设计的.如果有的话,关于我的情况的不寻常的事情是音量相对较低,可用的RAM量也是如此.
快速浏览维基百科可以看出OpenTSDB,InfluxDB和BlueFlood.OpenTSDB建议使用4G的RAM,但这可能适用于高容量设置.InfluxDB实际上提到了传感器读数,但我找不到很多关于需要什么样的资源的信息.
好的,所以这是我的实际问题:是否有明显的红旗会使这些系统中的任何一个不适合我描述的项目?
我意识到这是一个火焰的邀请,所以我指望人们把它保持在明亮和乐于助人的一面.提前谢谢了!
我正在阅读英特尔处理器文档并同时编写一些基本的汇编代码.我在我的服务器上有两个nasm
和as
(GAS),我理解两个汇编程序的基本区别.
长期来说:
我也很感激您可以与我分享的任何偏好.
在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的事情,我不喜欢......
我的程序有问题.
我有一个比较2字符串的条件:
(if(eq?(exp1)(exp2)))
当exp1给我一个字符串,exp2给我一个字符串.当然,当我改变"eq?"时 到"=",它给我下一个问题:
=:期望类型<number>作为第二个参数,给定:ie; 其他论点是:即.
当我运行程序时,函数不会进入"if"函数中的第一个表达式,并进入第二个表达式(意味着条件为false).
我能做什么?
谢谢.
我正在开展一个小项目来分析我觉得有趣的一些网站上的内容; 这是一个真正的DIY项目,我正在做我的娱乐/启蒙,所以我想尽可能多地编写自己的代码.
显然,我将需要数据来提供我的应用程序,我想我会写一个小爬虫,可能需要20k页的html并将它们写入我的硬盘上的文本文件.但是,当我查看SO和其他网站时,我找不到任何有关如何执行此操作的信息.这可行吗?似乎有可用的开源选项(webpshinx?),但我想尽可能自己写这个.
Scheme是我唯一熟悉的语言,但我认为我会利用这个项目来学习一些Java,所以如果有任何racket或java库会对此有所帮助,我会感兴趣.
所以我想总结一下我的问题,有什么好的资源可以开始这个?如何让我的爬虫从其他服务器请求信息?我是否必须为此编写一个简单的解析器,或者这是不必要的,因为我想获取整个html文件并将其保存为txt?
这可能是一个简单的问题;我想在 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来教授入门编程,我正在寻找一个轻量级的单元测试框架.我已经看到了在单元测试,以及-据我可以告诉-它看起来出奇的非 -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); 我正在寻找更多的东西:它应该能够检查带有容差的数字,它应该支持仅打印失败的测试用例,它应该能够告诉你有多少测试用例失败了.再次,我相信这段代码可以写出来; 我只是想避免重新发明轮子.
我有以下球拍代码:
(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
但没有看到任何可行的选择。如何在终端中执行脚本并打印出相同的行?
我是从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)
......但肯定有一种更简单的方法吗?
racket ×5
python ×3
scheme ×3
assembly ×1
att ×1
common-lisp ×1
equality ×1
f# ×1
influxdb ×1
java ×1
lisp ×1
location ×1
mysql ×1
nasm ×1
opentsdb ×1
raspberry-pi ×1
scala ×1
sicp ×1
simulation ×1
terminal ×1
unison ×1
unit-testing ×1
web-crawler ×1
xcode9.1 ×1