我是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.
根据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) 我打算制作一个小 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列表理解功能创建列表的单行,但也要添加一些不符合模式的额外值/值.因此,例如,我想获得一个包含以下值的列表[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)
除了实际答案之外,我们非常感谢您解释为什么我的列表都没有返回所需的输出.
首先,我很抱歉提出另一个与网络相关的时间和时区问题。我知道有很多资源和类似的问题,但我仍然无法理解 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)。
也欢迎澄清为什么这不能按预期工作!
我想将变量连接到正则表达式模式中。例如,考虑使用此模式来匹配第 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) 我在 python 2.6 上运行我的脚本。要求如下所述。
一个目录中有大约 100 个测试脚本(都是 python 脚本)。我必须创建一个主 python 脚本,它将开始一个一个地运行所有 100 个测试脚本,然后我必须显示测试用例是否失败。每个脚本都会调用sys.exit()以完成脚本的执行。目前,我正在sys.exit()从主脚本中读取值,并且正在确定特定测试用例是否失败。
但是现在有一个要求更改,我还必须显示日志文件名(运行脚本时将创建日志文件)。那么我可以发送一个元组作为参数(包含状态和日志文件名)sys.exit()而不是发送整数值吗?
我在网上读到,如果我们传递一个不是整数的参数,None相当于传递零,并且任何其他对象都被打印到stderr并导致退出代码为 1。所以如果我传递一个元组作为参数,将os考虑为即使在成功的情况下失败也因为我没有通过None?
我subprocess.popen()在我的主脚本中使用来运行脚本,我正在使用它format()来读取sys.exit()值。
python ×3
vim ×2
clojure ×1
date ×1
datetime ×1
dictionary ×1
javascript ×1
jquery ×1
loops ×1
php ×1
python-2.7 ×1
recursion ×1
unicode ×1
vi ×1