我有一个列表,其长度可以被2整除,我正在寻找类似于这个问题的答案:
(loop for (a b) on lst while b
collect (+ a b))
Run Code Online (Sandbox Code Playgroud)
但是元素之间存在重叠:
(1 2 3 4 5) -> (3 5 7 9)
Run Code Online (Sandbox Code Playgroud)
添加1和2,然后添加2和3等.
我在哪里有一个列表(1 2 3 4),我正在寻找类似的东西
((1 2) (3 4))
Run Code Online (Sandbox Code Playgroud)
作为输出.有没有办法在列表上正确地循环步骤?另一种方法.
虽然过了让lambda我发生了
(defmacro! dlambda (&rest ds)
`(lambda (&rest ,g!args)
(case (car ,g!args)
,@(mapcar
(lambda (d)
`(,(if (eq t (car d))
t
(list (car d)))
(apply (lambda ,@(cdr d))
,(if (eq t (car d))
g!args
`(cdr ,g!args)))))
ds))))
Run Code Online (Sandbox Code Playgroud)
他们随后如此调用:
(setf (symbol-function 'count-test)
(let ((count 0))
(dlambda
(:inc () (incf count))
(:dec () (decf count)))))
Run Code Online (Sandbox Code Playgroud)
是否有像flet/labels/let这样的结构,我可以将结果闭包绑定到,以避免以全局方式使用funcall或setf符号函数?所以我可以这样做:
(with-closures ((counter (let ((count 0))
(dlambda
(:inc () (incf count))
(:dec () (decf count))))))
(counter :incf))
Run Code Online (Sandbox Code Playgroud) IF EXISTS (select * from users where username = 'something') THEN
select id from users where username = 'something';
ELSE
insert into users (username) values ('something');
END IF;
Run Code Online (Sandbox Code Playgroud) 我在osx 10.8上运行vmware fusion 5,我的客户操作系统是Arch Linux,目前我能够通过ssh 172.16.4.191简单的sinatra应用程序进入客户端.
require 'sinatra'
get '/hi' do
"Hello world!!!!!!!"
end
Run Code Online (Sandbox Code Playgroud)
ruby hi.rb
2013-04-06 19:45:18] INFO WEBrick 1.3.1
[2013-04-06 19:45:18] INFO ruby 2.0.0 (2013-02-24) [x86_64-linux]
== Sinatra/1.4.2 has taken the stage on 4567 for development with backup from WEBrick
[2013-04-06 19:45:18] INFO WEBrick::HTTPServer#start: pid=426 port=4567
Run Code Online (Sandbox Code Playgroud)
我的主机操作系统无法使用它
curl 172.16.4.191:4567
curl: (7) couldn't connect to host
Run Code Online (Sandbox Code Playgroud)
任何建议都会很棒,当然我会根据需要提供更多信息.
编辑:
选择与我的mac共享,"虚拟机在外部网络上共享Mac的IP地址.mac为虚拟机的网络流量提供NAT"
编辑:
我已经切换到桥接模式,它现在坐在我的局域网上,我仍然可以进入它,仍然没有这样的运气连接到我的sinatra应用程序.
并且iptables没有显示规则
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot …Run Code Online (Sandbox Code Playgroud)