我有一些脚本,我认为它几乎就在那里.我已经找到了一种粗略的编写方式,但我无法弄清楚如何使它作为for循环运行.
我从xml文件中提取数据,该文件使用以下格式:
<Trackpoint>
<Time>2012-01-17T11:44:35Z</Time>
<Position>
<LatitudeDegrees>51.920211518183351</LatitudeDegrees>
<LongitudeDegrees>26.706042898818851</LongitudeDegrees>
</Position>
<AltitudeMeters>-43.6026611328125</AltitudeMeters>
</Trackpoint>
<Trackpoint>
<Time>2012-01-17T11:45:21Z</Time>
<Position>
<LatitudeDegrees>51.920243117958307</LatitudeDegrees>
<LongitudeDegrees>26.706140967085958</LongitudeDegrees>
</Position>
<AltitudeMeters>-43.6026611328125</AltitudeMeters>
</Trackpoint>
Run Code Online (Sandbox Code Playgroud)
我可以使用以下内容来说LatitudeDegrees:
from xml.dom.minidom import parse
doc = parse('/Users/name/Documents/GPS/gps.tcx')
lat = doc.getElementsByTagName("LatitudeDegrees")
time = doc.getElementsByTagName("Time")
trackpoint = doc.getElementsByTagName("Trackpoint")
for x in lat:
print(x.firstChild.data)
Run Code Online (Sandbox Code Playgroud)
但我想按顺序获得Lat,Long和时间.
我猜我需要用
for x in trackpoint
Run Code Online (Sandbox Code Playgroud)
但我能弄清楚如何做到这一点的唯一方法如下.
count = 0
n = len(trackpoint)
while count < n:
print(time[count].firstChild.data)
print(lat[count].firstChild.data)
print(lon[count].firstChild.data)
count += 1
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?我想我只是错过了一些非常简单的事情!
我有一个json文件.我用它来存储信息,因此它不断地被读取和写入.
我对ruby和oop一般都是新手,所以我确信我会以疯狂的方式解决这个问题.
class Load
def initialize(save_name)
puts "loading " + save_name
@data = JSON.parse(IO.read( $user_library + save_name ))
@subject = @data["subject"]
@id = @data["id"]
@save_name = @data["save_name"]
@listA = @data["listA"] # is an array containing dictionaries
@listB = @data["listB"] # is an array containing dictionaries
end
attr_reader :data, :subject, :id, :save_name, :listA, :listB
end
example = Load.new("test.json")
puts example.id
=> 937489327389749
Run Code Online (Sandbox Code Playgroud)
所以我现在可以轻松读取json文件,但是如何写回文件 - 参考示例?说我想改变ID example.id.change(7129371289)...或者将字典添加到列表A和B ......这可能吗?
-------------更新--------------
我有它的工作,但我相信它会冒犯别人...所以我把它包括在下面.
class Load
def initialize(save_name)
puts "debug printed from inside 'Load'"
puts …Run Code Online (Sandbox Code Playgroud) 我是Erlang的新手,所以请原谅我的天真.
我正在尝试重写我用其他语言编写的函数.其中一个是jaccard位索引.
在python haskell和clojure它将工作如下:
xs = [1,1,0,0,1,1,0,0,1,1,0,0]
ys = [1,0,1,0,1,0,1,0,1,0,1,0]
# python 3.X
def jaccard_bit_index(A,B):
i = sum(map(operator.mul ,A,B))
return i / (sum(A) + sum(B) - i)
-- haskell
jaccrd_bit_index a b =
count / ((sum a) + (sum b) - count)
where
count = sum $ zipWith (*) a b
%% clojure
(defn jaccard-bit-index [a b]
(let [binarycount (apply + (map * a b))]
(/ binarycount
(- (+ (apply + a) (apply + b))
binarycount))))
Run Code Online (Sandbox Code Playgroud)
我想我的问题是我只知道Erlang的
map(Fun, List1) -> …
使用“ Intellij IDEA 14.1.2我正在尝试设置Erlang SDK主页路径”,我要做的唯一选择是不让我查看/usr/local文件的文件浏览器。也就是说,我没有选择键入所需路径的选项。我被迫使用Apple gui文件浏览器(不显示/bin或/usr)
File -> Project Structure -> SDK's
我做了一个符号链接,但是我真的不想要杂散链接。
ln -s /usr/local/path/to/erlang ~/erlang
我可以“键入”类路径和源路径,但不能“键入”主要的“ Erlang SDK主页路径”:
有任何想法吗?
以下程序,用Scheme编写,
(define (eat xs)
(lambda (x)
(if (eq? x 'vomit)
(reverse xs)
(eat (cons x xs)))))
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式调用:
> eat
#{procedure 9165 eat}
> (eat '())
#{procedure 9166 (unnamed in eat)}
> ((eat '()) 1)
#{procedure 9166 (unnamed in eat)}
> (((((eat '()) 1) 2) 3) 4)
#{procedure 9166 (unnamed in eat)}
> ((((((eat '()) 1) 2) 3) 4) 'vomit)
(1 2 3 4)
Run Code Online (Sandbox Code Playgroud)
因为没有突变,例如.set!,并且使用递归传递状态我认为在Haskell中编写这将是微不足道的:
eat xs x = if x == "vomit" then reverse xs else eat (x:xs) …Run Code Online (Sandbox Code Playgroud) user>我只是想清除 repl 缓冲区,以便在第一行留下一个提示符,例如 ( )。
我有一个键绑定:
(put 'erase-buffer 'disabled nil)
(global-set-key (kbd "C-x C-<backspace>") 'erase-buffer)
Run Code Online (Sandbox Code Playgroud)
但这给出了这样的信息:
文本是只读的
有这个选项C-c C-o,但这只会清除最后一个返回值。
使用 python 时,我认为run-python以下命令是C-x M-ocomint-clear-buffer