小编ska*_*sie的帖子

在Clojure中使用递归生成lazy seq?

我是clojure的新手,目前正在努力奋斗loop / recur.这个问题基本上就是为什么我的'自定义' range功能.不返回懒惰序列.我的实现有什么问题,或者你不应该在这种情况下使用递归吗?

(defn my-range
  [nr]
  (loop [l nr acc '()]
    (if (< l 1)
      acc
      (recur (dec l) (conj acc l)))))
Run Code Online (Sandbox Code Playgroud)

当我运行它:

> (time (take 10 (my-range 100000))) ;; "Elapsed time: 85.443 msecs"
> (time (take 10 (range 100000))) ;; "Elapsed time: 0.095 msecs"
Run Code Online (Sandbox Code Playgroud)

非常大的时差使我相信列表首先构建然后10.

recursion loops clojure

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

Vim:如何拆分命令行参数?

根据f-args文档,传递给用户定义函数的命令行参数将自动拆分为空格或制表符,如帮助所示:

                                    *<f-args>*
To allow commands to pass their arguments on to a user-defined function, there
is a special form <f-args> ("function args").  This splits the command
arguments at spaces and tabs, quotes each argument individually, and the
<f-args> sequence is replaced by the comma-separated list of quoted arguments.
See the Mycmd example below.  If no arguments are given <f-args> is removed.
   To embed whitespace into an argument of <f-args>, prepend a backslash.
<f-args> replaces every pair of backslashes …
Run Code Online (Sandbox Code Playgroud)

vim

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

如何在 Python 中编码/解码这个文件?

我打算制作一个小 Python 游戏,它会从字典中随机打印键(英语),用户必须输入值(德语)。如果值正确,则打印“正确”并继续。如果值错误,则打印“错误”并中断。

我认为这将是一项简单的任务,但我被困在了路上。我的问题是我不知道如何打印德语字符。假设我有一个包含此文本的文件“dictionary.txt”:

cat:Katze
dog:Hund
exercise:Übung
solve:lösen
door:Tür
cheese:Käse
Run Code Online (Sandbox Code Playgroud)

我有这个代码只是为了测试输出的样子:

# -*- coding: UTF-8 -*-
words = {} # empty dictionary
with open('dictionary.txt') as my_file:
  for line in my_file.readlines():
    if len(line.strip())>0: # ignoring blank lines
      elem = line.split(':') # split on ":"
      words[elem[0]] = elem[1].strip() # appending elements to dictionary
print words
Run Code Online (Sandbox Code Playgroud)

显然打印的结果并不像预期的那样:

    {'cheese': 'K\xc3\xa4se', 'door': 'T\xc3\xbcr',
     'dog': 'Hund', 'cat': 'Katze', 'solve': 'l\xc3\xb6sen',
     'exercise': '\xc3\x9cbung'}
Run Code Online (Sandbox Code Playgroud)

那么我在哪里添加编码,我该怎么做呢?

谢谢!

python unicode dictionary python-2.7

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

如何使用集合构建器之外的值扩展列表理解?

我基本上是在寻找一个使用python列表理解功能创建列表的单行,但也要添加一些不符合模式的额外值/值.因此,例如,我想获得一个包含以下值的列表[1,2,3,4,5,50].我尝试过以下方法:

a = [i for i in range(6), 50] # [[0, 1, 2, 3, 4, 5], 50]
b = [i for i in range(6)].append(50) # None
c = [i for i in range(6)].extend([50]) # None
Run Code Online (Sandbox Code Playgroud)

除了实际答案之外,我们非常感谢您解释为什么我的列表都没有返回所需的输出.

python list-comprehension

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

如何在独立于用户位置的 JS/jQuery 中正确显示 php 服务器时间和时区?

首先,我很抱歉提出另一个与网络相关的时间和时区问题。我知道有很多资源和类似的问题,但我仍然无法理解 php 和 js 时间之间的时间转换是如何工作的。

所以这是我的情况。我想将包括时区在内的服务器时间放入 javascript 并在客户端执行某些操作(与此问题无关)。我有这个简短的片段,它不像我期望的那样工作:

获取日期.php

<?php
date_default_timezone_set('Romania/Bucharest');
echo date('D M d Y H:i:s');
?>
Run Code Online (Sandbox Code Playgroud)

索引.html

<body>

  <!-- jQuery -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  <script type='text/javascript'>

  $.get( "get_date.php", function(data) {
    current = new Date(data);
    alert(current);
  });

  </script>

</body>
Run Code Online (Sandbox Code Playgroud)

警报消息

在此处输入图片说明

所以问题是我得到了罗马尼亚的日期和时间(服务器的位置),但是柏林的偏移量和时区(我访问网站的位置)。我想在 Javascript 中正确获取服务器时间、日期、偏移量和时区,与用户位置无关。例如,警报消息应该是Thu Feb 12 2015 13:26:10 GMT+0200(EET)

也欢迎澄清为什么这不能按预期工作!

javascript php jquery datetime date

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

Vim:如何动态创建正则表达式模式

我想将变量连接到正则表达式模式中。例如,考虑使用此模式来匹配第 1 行到第 3 行的语法。

syn match Title /\%>0l\%<4l.*/

我希望能够动态设置模式中的第二个整数(上例中的“4”为任何值b:title_until)。我尝试过字符串连接,但它不起作用。下面的例子的意图应该很清楚:

let b:title_until = 10

if exists("b:title_until")
  syn match Title "/\%>0l\%<" + b:title_until + "l.*/"
end
----------------------------------------------------------------------
> (NFA) Unknown operator '\%
> Invalid character after \%
> Invalid argument: Title "/\%>0l\%<" + b:title_until + "l.*/"
Run Code Online (Sandbox Code Playgroud)

vi vim

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

我们可以在 python 中将元组作为参数发送给 sys.exit()

我在 python 2.6 上运行我的脚本。要求如下所述。

一个目录中有大约 100 个测试脚本(都是 python 脚本)。我必须创建一个主 python 脚本,它将开始一个一个地运行所有 100 个测试脚本,然后我必须显示测试用例是否失败。每个脚本都会调用sys.exit()以完成脚本的执行。目前,我正在sys.exit()从主脚本中读取值,并且正在确定特定测试用例是否失败。

但是现在有一个要求更改,我还必须显示日志文件名(运行脚本时将创建日志文件)。那么我可以发送一个元组作为参数(包含状态和日志文件名)sys.exit()而不是发送整数值吗?

我在网上读到,如果我们传递一个不是整数的参数,None相当于传递零,并且任何其他对象都被打印到stderr并导致退出代码为 1。所以如果我传递一个元组作为参数,将os考虑为即使在成功的情况下失败也因为我没有通过None

subprocess.popen()在我的主脚本中使用来运行脚本,我正在使用它format()来读取sys.exit()值。

python

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