我观看了一个众所周知的视频,前苹果UI设计师Bret Victor在源代码中改变了一个符号之后,立即更新了运行代码,展示了令人惊叹的演示.
为了让那些没有看到或没有时间观看视频的人明白我的问题:我想使用这样的工具来编写我自己的软件.他演示的工具是否可用,还是有其他类似的工具?
无论哪种语言/环境都无关紧要,我只想让我的代码运行然后在源代码中更改一行,并立即看到更新的结果而不重新启动它.
我在我的Python脚本中使用了很棒的Requests库:
import requests
r = requests.get("some-site.com")
print r.text
Run Code Online (Sandbox Code Playgroud)
我想用socks代理.但是Requests现在只支持HTTP代理.
我怎样才能做到这一点?
我遇到了一些我不理解的语法用法:
第一个是:帮助映射:
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
Run Code Online (Sandbox Code Playgroud)
这个序列确实将strftime的值插入缓冲区,虽然我不明白如何.改变不同的东西打破它.
另一个是在wiki 页面,它描述了如何使omnicompletion弹出菜单正常工作:
inoremap <silent> <Esc> <C-r>=pumvisible() ? "\<C-y>" : "\<Esc>"<CR>
Run Code Online (Sandbox Code Playgroud)
同样的事情在这里.
任何人都可以解释这个" <C-r>="有什么用吗?......
我有一个vim脚本,我正在我当前的缓冲区中开发,我想执行它.有一个简单的方法吗?
经过长时间的搜索,我发现了两种相关的方式,但不完全是我正在寻找的方式:
a)"源"命令 - 但要使用它我首先需要将内容保存到文件然后"源"回来,这看起来并不简单
b)"调用"命令 - 但我不想调用我的函数,我想执行整个文件,它定义了几个函数,并且在函数之外有一些代码
我有三个collection.deques,我需要做的是迭代它们并执行相同的操作:
for obj in deque1:
some_action(obj)
for obj in deque2:
some_action(obj)
for obj in deque3:
some_action(obj)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一些功能XXX,理想情况下我可以写:
for obj in XXX(deque1, deque2, deque3):
some_action(obj)
Run Code Online (Sandbox Code Playgroud)
这里重要的是XXX必须足够高效 - 没有复制或静默使用range()等.我期望在内置函数中找到它,但到目前为止我没有发现任何类似的东西.
Python中是否已有这样的东西,或者我必须自己编写一个函数?
几年前我第一次学习C++是通过阅读Stroustrup的"C++编程语言"两次,并在一个相当大的项目中参与了一年(尽管c ++团队的水平相当低).创始人的书中的C++实际上是一个很好的旧C的强大扩展.强大和面向对象,甚至是通用的,但仍然是 - 扩展.并且,是的,STL以某种方式通过标准添加到语言中,只是存在一些隐藏的原因 - 无论您是否要使用它.所以,那时候我对C++没有太多好感:除了所有这些永恒的C内存问题,指针和数组的边界还有很多新增加的:使用类和模板以及复杂的语法和很多想要解决它.
现在,经过多年远离C++,我最近开始刷新我的知识,但现在我想起了Andrew Koenig和Barbara E. Moo的"Accelerated C++".而我所看到的绝对是"另一个C++"!在本书之后,你实际上可以使用C++几乎不知道它的C-core:你永远不能使用数组,因为你有矢量,你可以忘记char*,因为你有字符串等等.从这一点来看看来,STL实际上是语言的核心,语言本身似乎是一个非常"高级"的语言,但它具有对Java和Python都无法承受的实体的性能和控制.
那么,你在练习中使用什么C++?你混合样式,比如数组和向量吗?这里有规则或最佳做法吗?...
更新:
我在评论中被告知,我正在谈论的是现在所谓的"现代C++".通过这个词搜索带来以下真正有趣的线程:
说,我有一个代码,从循环中调用一些函数数百万次,我希望代码快:
def outer_function(file):
for line in file:
inner_function(line)
def inner_function(line):
# do something
pass
Run Code Online (Sandbox Code Playgroud)
它不一定是文件处理,它可以是例如从函数绘制线调用的函数绘制点.这个想法是逻辑上这两者必须分开,但从性能的角度来看,它们应该尽可能快地一起行动.
Python会自动检测并优化这些内容吗?如果没有 - 有没有办法给它一个线索呢?可能使用一些额外的外部优化器?...
从他的STL书中读到Jossutis对auto_ptr的解释之后,我得到了一个强烈的印象,即我会尝试使用它的任何任务100%失败,因为很多auto_ptr的陷阱之一.
我的问题是:有没有任何真正的生活任务,其中auto_ptr真的很有用,并且适合那里吗?
每次我'cout << endl'甚至'cout <<"\n"'然后在Windows下启动我的程序输出到文件("a.exe <test.in> result.out")我得到"\ r \n""result.out"中的行结尾.
在地球上是否有办法阻止它这样做,只在每个'cout <<"\n"'上输出"\n"?
提前致谢.
我有一个值列表,如:
["a", 1, "b", 2, "c", 3]
Run Code Online (Sandbox Code Playgroud)
我想从中建立这样一个词:
{"a": 1, "b": 2, "c": 3}
Run Code Online (Sandbox Code Playgroud)
在Python中使用它的自然方式是什么?