大量示例Python代码显示了Python REPL的输出,例如:
>>> class eg(object):
... def __init__(self, name):
... self.name = name
... def hi(self):
... print "Hi %s" % (self.name)
...
>>> greeter = eg("Bob")
>>> greeter.hi()
Hi Bob
>>>
Run Code Online (Sandbox Code Playgroud)
现在,您要做的显而易见的事情就是运行上面的代码..所以,我运行"python"并将上面的文本粘贴到..
>>> >>> class eg(object):
File "<stdin>", line 1
>>> class eg(object):
^
SyntaxError: invalid syntax
>>> ... def __init__(self, name):
File "<stdin>", line 1
... def __init__(self, name):
^
Run Code Online (Sandbox Code Playgroud)
代码坏了!?..
为了让它运行,我将不得不..
>>>和...,然后再粘贴这不是一个大问题,但考虑到以这种格式呈现了多少示例代码,看起来很奇怪你必须这样做.
我正在尝试在Nodejs中制作路由器.其中很大一部分是URI -> action,所以我需要一个简单的可配置URI列表,并将它们重新定位到regexp以匹配请求URI.
简单!我用PHP做了一百万次.给予或接受.
这就是我做的(测试):
> uri = '/users/#/status/*'
> uri.replace(/\//g, '\\/').replace(/#/g, '(\d+)').replace(/\*/g, '([^/]+)')
Run Code Online (Sandbox Code Playgroud)
我正在做的是1)逃避/和2)替换#为a \d+和3)替换*为[^/]+
在Chrome中,这可以按预期工作:
< \/users\/(d+)\/status\/([^/]+)
Run Code Online (Sandbox Code Playgroud)
逃脱/并更换#并*正确.这是V8.
在Nodejs中:
< \\/users\\/(d+)\\/status\\/([^/]+)
Run Code Online (Sandbox Code Playgroud)
阙!?每个/都是双重逃脱?我要么得到双重逃脱,/要么没有逃脱/.
正则表达式是对的,对吗?
我正在使用Chrome 15 dev(V8 javascript)和Node 0.5.8 dev(V8 javascript).这里发生了什么?
可能有趣
如果我测试/^\/users\/(\d+)\/status\/([^/]+)/.test('/users/1/status/x')它在Chrome和Node中都返回true.
我能够使用Pry.config.prompt〜/ .pryrc中的设置自定义Pry的提示,以使Pry更容易为孩子们.现在我想摆脱返回输出:
Enter Ruby code> puts 'hello'
hello
=> nil
Enter Ruby code>
Run Code Online (Sandbox Code Playgroud)
该=> nil是混淆了刚学编程的孩子.我可以抑制Pry中的返回值输出吗?
如果我做
repl = require 'repl'
repl.start {useGlobal: true}
Run Code Online (Sandbox Code Playgroud)
它启动一个Node repl.如何启动CoffeeScript repl呢?
谢谢
在python解释器中,可以简单地键入help("name")以访问文档name.
提前致谢.
在Java 1.7.0_21 Java HotSpot(TM)64位服务器VM上运行Leiningen 2.3.4
我无法连接到nREPL服务器.
我使用了一个新项目lein new luminus,然后为drawbridge([com.cemerick/drawbridge "0.0.6"])添加了一个依赖项.
我加了一个处理器路线如下REPL(基于https://devcenter.heroku.com/articles/debugging-clojure):
(def drawbridge-handler
(-> (cemerick.drawbridge/ring-handler)
(wrap-keyword-params)
(wrap-nested-params)
(wrap-params)
(wrap-session)))
(defn wrap-drawbridge [handler]
(fn [req]
(if (= "/repl" (:uri req))
(drawbridge-handler req)
(handler req))))
Run Code Online (Sandbox Code Playgroud)
并添加wrap-drawbridge到我的中间件.
然后我使用启动服务器
lein ring server-headless
连接似乎运行良好,因为执行GET请求会http:localhost:3000/repl产生响应:["[\n","\n]"]
但我无法连接到REPL:
> lein repl :connect 0.0.0.0:3000/repl
Connecting to nREPL at 0.0.0.0:3000/repl
Run Code Online (Sandbox Code Playgroud)
并且,过了一段时间:
SocketException The transport's socket appears to have lost its connection to the nREPL server
clojure.tools.nrepl.transport/bencode/fn--4287/fn--4288 (transport.clj:95)
clojure.tools.nrepl.transport/bencode/fn--4287 (transport.clj:95) …Run Code Online (Sandbox Code Playgroud) 我在Python REPL中做了一些工作,我重新定义了一个原始的可调用的.
即list = []
会阻止tuple = list((1,2,3))从工作了.
除了重新启动REPL之外,还有一种方法可以"恢复"或将列表重新分配到其默认值吗?
也许有进口或超级班?或者它会永远丢失并坚持我分配的内容,直到我重新启动REPL?
考虑这个简单的代码示例:
(defstruct test
(:example nil :type (simple-array single-float)))
(defparameter test-struct
(make-test :example (make-array 10 :element-type 'single-float
:initial-element 1.0)))
Run Code Online (Sandbox Code Playgroud)
我们可以看到,没有什么可以疯狂的,定义了一个带有单个槽的简单结构.我们还指定:example插槽是强类型,预期是单个浮点数组.这里没有问题,一切正常.
我们test-struct现在写一个文件:
(with-open-file (out "~/Desktop/out.test"
:direction :output
:if-exists :supersede)
(format out "~s" test-struct))
Run Code Online (Sandbox Code Playgroud)
同样,没有惊喜,我们在桌面上获得一个漂亮的小文件,其中包含以下内容:
#S(TEST :EXAMPLE #(1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0))
Run Code Online (Sandbox Code Playgroud)
然而,紧张开始蔓延,因为我们注意到没有任何迹象表明这个特定的文字数组应该包含单个浮点数.有了这种怀疑,让我们尝试加载这个结构:
(defparameter loaded-struct
(with-open-file (in "~/Desktop/out.test")
(read in nil)))
Run Code Online (Sandbox Code Playgroud)
我们在这里,SBCL愉快地将我们放入调试器:
问题是:有没有办法指示SBCL验证结构中的这个数组插槽是否是有效类型并加载它?或者换句话说,是否可以在不诉诸构建自定义编写器和构造函数的情况下读取具有强类型插槽的结构?
我注意到Xcode 10中的Playgrounds不再允许使用已声明但未初始化的变量.例如:虽然这段代码可以在Xcode 9游乐场中运行,但在Xcode 10游乐场(至少在Beta 1中),它会崩溃:
var myValue: Int
//...
myValue = 100
print (myValue)
// Xcode 9 prints 100
// Xcode 10 reports an error: variables currently must have an initial value when entered at the top level of the REPL
Run Code Online (Sandbox Code Playgroud)
这是新行为,还是当前Xcode 10 beta中的一个错误?
我曾经将早期的Xcode Playgrounds称为翻译,但是仍然会考虑将Xcode 10游乐场作为翻译(并且总是正确的)?Apple将装订线中的"运行"按钮称为"编译"代码.
谢谢!
common-lisp ×2
javascript ×2
node.js ×2
python ×2
arrays ×1
clojure ×1
coffeescript ×1
console ×1
emacs ×1
escaping ×1
interactive ×1
interpreter ×1
irb ×1
leiningen ×1
lisp ×1
nrepl ×1
pry ×1
regex ×1
ruby ×1
sbcl ×1
slime ×1
vbscript ×1
xcode ×1