小编Reb*_*bin的帖子

使用 unicode 保存文件时 Emacs 加载字符集映射失败

我使用 gnu emacs 23.3.1 在 Windows 7 64 位上创建了一个普通文本文件。我可以使用其他程序(例如 LinqPad)编辑该文件(该文件恰好是 linqpad 脚本,扩展名 .linq)。一切都很好,直到我在文件中放入一个 Unicode 字符,例如希腊字母 \xce\xbb (lambda)。我可以在 emacs 中输入该字母并且它显示正确。但是emacs拒绝保存文件,报如下错误

\n\n
Failure in loading charset map: 8859-7\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我在 LinqPad 中输入 \xce\xbb,emacs 将读取并显示它们,但不会保存文件。

\n\n

我刚刚注意到 Notepad++ 对这个文件有其他意想不到的行为:它不显示 \xce\xbb\'s,而是显示成对的奇怪字符,例如 \xc3\x8e\xc2\xbb。这符合 unicode 字符成对存储的直觉(双关语)。所以看起来这是一种模棱两可的情况(在文本文件中存储 unicode),但看起来 linqPad 和 Visual Studio 也“做了显而易见的事情”。

\n\n

我想使用 emacs,因为它是我拥有的唯一可以重排注释行序列的程序(// 之后的行,使用 Alt-Q 重排它们),并且我想在注释中使用希腊字符,因为我\' m 描述一个数学程序。

\n\n

我将不胜感激您的建议和答案。

\n\n

更新:其他问题中的一些建议说尝试 Mx describe-char,也绑定到 Cx = ;这两个都给了我与上面相同的失败消息,所以它们在正确的轨道上,只是没有答案。

\n

unicode emacs notepad++ visual-studio-2010 linqpad

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

保证金,填充,边界全部为零后仍有空格?

我将边距,填充和边框设置为零,但我的画布和div周围仍有空间用于Firefox和Chrome.显然,我不明白如何在HTML中使用元素,并且会对建议和指针表示感谢.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Spacing Question</title>
<style type="text/css">
    *
    {
        border: 0px;
        margin: 0px;
        padding: 0px;
    }
    canvas
    {
        width: 150px;
        height: 150px;
    }
    body
    {
        background-color: Purple;
        color: Silver;
    }
</style>
<script>
    function draw() {
        var canvas = document.getElementById('canvas1');
        if (canvas.getContext) {
            var ctx = canvas.getContext('2d');
            ctx.fillStyle = "rgb(200, 0, 0)";
            ctx.fillRect(0, 0, 150, 150);
        }
        canvas = document.getElementById('canvas2');
        if (canvas.getContext) {
            var ctx = canvas.getContext('2d');
            ctx.fillStyle = "rgb(0, 200, 0)";
            ctx.fillRect(0, 0, …
Run Code Online (Sandbox Code Playgroud)

html css firefox google-chrome canvas

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

如何将Java库的内容转储到控制台?

是否有用于将库或JAR文件的内容转储到控制台的工具?

我正在寻找DUMPBIN /SYMBOLS适用于Windows本机模式库的Java 版本.使用C#和.NET的其余部分,有一些可视化工具,如.NET Reflector和Visual Studio中内置的对象浏览器.总而言之,我更喜欢命令行工具,但我会感激任何有效的:)

(我刚开始使用Windows上的Java和Scala.)

java console command-line scala

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

在Mathematica中精确绘制两条折线时,PlotMarkers消失了吗?

不确定这是一个MMA错误还是我做错了什么.考虑以下功能:

plotTrace[points_] :=
 ListPlot[points,
  Joined -> True,
  PlotMarkers -> Table[i, {i, Length@points}]]
Run Code Online (Sandbox Code Playgroud)

现在考虑传递RandomReal生成的值.即,考虑一下

RandomReal[1, {nTraces, nPointsPerTrace, 2(*constant = nDimensions*)}]. 
Run Code Online (Sandbox Code Playgroud)

如果nTraces为1,则显示我试过的所有nPointsPerTrace值的PlotMarkers:

Manipulate[
 plotTrace[RandomReal[1, {1, nPointsPerTrace, 2}]], 
 {nPointsPerTrace, 1, 20, 1}]
Run Code Online (Sandbox Code Playgroud)

当nTraces == 1时绘制随机点

如果nTraces为3或更大,则为我尝试的所有nPointsPerTrace值显示绘图标记

Manipulate[plotTrace[RandomReal[1, {nTraces, nPointsPerTrace, 2}]],
 {nTraces, 3, 20, 1}, {nPointsPerTrace, 1, 20, 1}]
Run Code Online (Sandbox Code Playgroud)

当nTraces> = 3时绘制随机点

但是如果nTraces正好是2,那么无论nPointsPerTrace的值如何,我都看不到绘图标记:

Manipulate[plotTrace[RandomReal[1, {2, nPointsPerTrace, 2}]],
 {nPointsPerTrace, 1, 20, 1}]
Run Code Online (Sandbox Code Playgroud)

当nTraces == 2时绘制随机点

提示,线索,建议将不胜感激!

plot wolfram-mathematica

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

Clojure中#^ {...}和^ {...}元数据之间的区别?

考虑

(defn f ^{:foo "bar"} [x] (* x x))
Run Code Online (Sandbox Code Playgroud)

(defn g #^{:foo "bar"} [x] (* x x))
Run Code Online (Sandbox Code Playgroud)

编译和运行.

我有两个问题:第一,为什么(meta f)(meta g)只能产生nil?我原以为他们会生产{:foo "bar"}; 哇,我刚刚完全在元数据上吃午饭,我在那里定义了一些垃圾吗?

其次,元数据的两个合成元素之间有什么区别?看起来第二个是" 标记的文字 " ,与扩展数据表示法edn有关,但是如果没有更多的上下文或示例,我就不能完全了解它.

clojure

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

Clojure.logic与Reasoned Schemer的区别

我一直在使用Clojure.logic 完成The Reasoned Schemer(TRS),并注意这里记录差异.我到达了第3章第24帧,TRS报告了这一点

(run 5 [x]
  (lolo '((a b) (c d) . x)))
Run Code Online (Sandbox Code Playgroud)

应该产生

'(()
  (())
  (() ())
  (() () ())
  (() () () ())
Run Code Online (Sandbox Code Playgroud)

现在,我实现了`lolo as

(defn lolo
  "Succeeds if l is a list-of-lists."
  [l]
  (conde
   ((emptyo l) s#)
   ((fresh [a]
           (firsto l a)
           (listo a)) (fresh [d]
                             (resto l d)
                             (lolo d)))
   (s# u#)))
Run Code Online (Sandbox Code Playgroud)

这会产生以下奇怪的结果:

'(()
  (())
  ((_0))
  (() ())
  ((_0 _1)))
Run Code Online (Sandbox Code Playgroud)

这基本上意味着我的lolo正在制作泄漏新变量的解决方案.如果我继续前进,试着看一个模式,我明白了

'(()
  (())
  ((_0))
  (() ())
  ((_0 _1))
  (() …
Run Code Online (Sandbox Code Playgroud)

logic clojure logic-programming minikanren clojure-core.logic

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

如何在Clojure中区分缺失键和值为nil的键?

我们经常测试哈希映射是否存在某个键,例如:data,通过测试对该键的值的试验检索nil,如

(defn test-my-hash-map [my-hash-map]
  (if (:data my-hash-map) 42 "plugh!"))
Run Code Online (Sandbox Code Playgroud)

这会产生42任何包含:data具有任何值的键的哈希映射,除外nil.

(map test-my-hash-map
     [{:data "Hello!"}    ; ~~> 42
      {:no-data "Yikes!"} ; ~~> "plugh!"
      {:data nil}         ; ~~> "plugh!", but I need it to say 42 :(
     ])
Run Code Online (Sandbox Code Playgroud)

我根本没有看到任何办法,这就搞乱了一些数据处理场景,我们从非Clojure源获取数据,其中缺少的密钥意味着"我没有那个密钥的数据"和带有nil值的键意味着"我在那里有数据,但无论出于何种原因我都无法给你." 我没有看到在Clojure代码中区分这些情况的方法.我非常优雅的解决方法是在切换到Clojure之前插入一个检测差异的Java填充程序并为特殊情况插入额外的列(键).

clojure

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

SBCL惊喜失效进入浮点?

请考虑Common Lisp中的以下代码:

  (defun range (max &key (min 0) (step 1))
    (loop for n from min below max by step
          collect n))
  (reduce #'* (range 61 :min 1))
Run Code Online (Sandbox Code Playgroud)

这使得预期的bignum值为60 !,即

8320987112741390144276341183223364380754172606361245952449277696409600000000000000
Run Code Online (Sandbox Code Playgroud)

但是,以下代码(不包括我可以看到的任何浮点强制)产生浮点答案:

  (defun fact (n)
    (if (= 0 n)
        1
        (* n (fact (- n 1)))))

  (fact 60)
  8.32098711274139e+81
Run Code Online (Sandbox Code Playgroud)

问题是"为什么?" 并且"我如何fact在SBCL(Steel-Bank Common Lisp)中写出一个简单的递归,产生一个bignum结果?"

sbcl common-lisp org-babel

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

Clojure原子将矢量转换为列表?

我想在一个原子中使用Clojure向量来建模一个有状态的FIFO(推到最后,从头开始弹出).试着

(def stack (atom []))
Run Code Online (Sandbox Code Playgroud)

那么push如下:

(swap! stack #(conj % 1))
(swap! stack #(conj % 2))
Run Code Online (Sandbox Code Playgroud)

期待

[1 2]
Run Code Online (Sandbox Code Playgroud)

但得到

(2 1)
Run Code Online (Sandbox Code Playgroud)

没什么大不了的,它只是意味着我必须反转(O(n))原子(持久列表)的值以获得顺序中的项目而不是我推送它们(例如,命令行的命令流到虚拟机)为了).不过,这是一个惊喜.

是否有一个clojure.core FIFO我可以装入一个原子?我想到了priority-map,但似乎有点矫枉过正.对于这些例子swap!在clojuredocs.org使用列表或地图,没有完全是我想要的.我通过谷歌搜索"FIFO Clojure"找到了大量的样本,但有些有点丰富,例如,clojure.core.cache(类似地图而不是矢量); amalloy的环缓冲区(外部依赖).寻找真正小而简单的东西.我没有在StackOverflow的自动建议中看到答案.

clojure

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

找不到模块“ Test.HUnit”

我重新安装了stack和ghci:

$ stack --version
Run Code Online (Sandbox Code Playgroud)
Version 1.6.3, Git revision b27e629b8c4ce369e3b8273f04db193b060000db (5454 commits) x86_64 hpack-0.20.0
Run Code Online (Sandbox Code Playgroud)
$ ghci --version
Run Code Online (Sandbox Code Playgroud)
The Glorious Glasgow Haskell Compilation System, version 8.2.1
Run Code Online (Sandbox Code Playgroud)

我做一个新项目:

$ stack new so-mve
Run Code Online (Sandbox Code Playgroud)
Downloading template "new-template" to create project "so-mve" in so-mve/ 
... blah blah blah ...
Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- so-mve/
Selecting the best among 12 snapshots...
* Matches lts-10.3
Selected resolver: lts-10.3
Initialising configuration using resolver: lts-10.3
Total number of …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

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