有没有办法将自己的完成添加到(interactive)elisp函数中?理想情况下,我想传递一个字符串列表,它可以从中完成.我知道,使用(interactive "D"),(interactive "F")或(interactive "b")分别给你的目录,文件和缓冲区名完成,但对于更广泛的投入?
在 R 源代码中,大多数(但不是全部)函数使用整数值作为常量:
colnames <- function(x, do.NULL = TRUE, prefix = "col")
{
if(is.data.frame(x) && do.NULL)
return(names(x))
dn <- dimnames(x)
if(!is.null(dn[[2L]]))
dn[[2L]]
else {
nc <- NCOL(x)
if(do.NULL) NULL
else if(nc > 0L) paste0(prefix, seq_len(nc))
else character()
}
}
Run Code Online (Sandbox Code Playgroud)
R语言定义说:
在大多数情况下,整数和数值之间的差异并不重要,因为 R 在使用数字时会做正确的事情。然而,有时我们想显式地为常量创建一个整数值。
问题是关于良好实践和基本原理,而不是关于“L”符号本身、整数类和数字类之间的差异或比较数字。
我只是想知道这是否可能使用(Python,Java或C)?我正在寻找类似IPython for Python的东西.
我在Mathematica(和StackOverflow)中相对较新,我试图弄清楚是否可以实现以下Mathematica接口.
我想在Mathematica中创建一个接口,用户可以根据约束以图形方式和交互方式定义任意数量的数值参数.
问题中的参数是数字权重[0,1],每个都与相应的标准相关联并且被约束为求和.显而易见,这种约束导致了对可以与每个标准相关联的权重的权衡,并且我希望通过沿着下面的线(不幸地在Excel中制作)的交互式绘图以图形方式进行这种权衡:

在这个例子中,有6个标准,但我想将其概括为任意数字(例如,在2和7之间).
界面将通过沿着相应的轴拖动每个多边形顶点(对应于特定的权重)并且使其他顶点均匀地调整以使它们总是总和为1来工作.
然后返回数值以用于后续计算.
我环顾四周,似乎找不到有同样问题的人(可能是搜索查询的定义非常重要).
我在Mathematica的例子中发现的最接近的事情是定位器窗格的以下应用,其中允许在正方形上移动3个点并返回它们的位置:
[0,1]

我非常感谢任何建议.谢谢!
我想编写一个程序(在Windows 7上的Python 3.x中),它通过ssh在远程shell上执行多个命令.在查看了paramikos的exec_command()函数之后,我意识到它不适合我的用例(因为在执行命令后通道被关闭),因为命令依赖于环境变量(由先前的命令设置)而不能连接到一个exec_command()调用,因为它们将在程序中的不同时间执行.
因此,我想在同一个通道中执行命令.我研究的下一个选项是使用paramikos的invoke_shell()函数实现交互式shell:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=user, password=psw, port=22)
channel = ssh.invoke_shell()
out = channel.recv(9999)
channel.send('cd mivne_final\n')
channel.send('ls\n')
while not channel.recv_ready():
time.sleep(3)
out = channel.recv(9999)
print(out.decode("ascii"))
channel.send('cd ..\n')
channel.send('cd or_fail\n')
channel.send('ls\n')
while not channel.recv_ready():
time.sleep(3)
out = channel.recv(9999)
print(out.decode("ascii"))
channel.send('cd ..\n')
channel.send('cd simulator\n')
channel.send('ls\n')
while not channel.recv_ready():
time.sleep(3)
out = channel.recv(9999)
print(out.decode("ascii"))
ssh.close()
Run Code Online (Sandbox Code Playgroud)
这段代码存在一些问题:
我对这种"非决定论"感到困惑,非常感谢你的帮助.
我想制作用户启动它的交互式应用程序,并可以通过键入命令(某种shell)来完成各种任务
例:
./myapp.rb
App says Hi
Commands:
help - display help about command
open - open task
do - do action
Start>help open
open <TaskName>
opens specified task
Start>open Something
Something>do SomeAction
Success!
Something> (blinking cursor here)
Run Code Online (Sandbox Code Playgroud)
我搜索但找不到任何我可以专门用于控制台互动的红宝石宝石,所以我要自己制作...
我看着托尔,但那不是我想要的,也许我可以用它,但不确定......
它可能看起来像:
class Tasks
attr_reader :opened_task
desc "open <TaskName>", "opens specified task"
def open(params)
end
desc "do <ActionName>", "do specified action"
def do(params)
end
end
tasks = Tasks.new
# theoretical Console class
console = Console.new
console.addCommand("open",tasks.method(:open),"open task")
console.addCommand("do",tasks.method(:do),"do action")
console.start("%s>",[*tasks.opened_task]) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Haskell中编写一个交互式,实时的音频合成内容,而我迫切需要"懒惰的数字"来表示时间.
事情就是这样:我的程序基于"信号"的概念,这些信号由"信号处理器"转换.但与Faust或ChucK等其他类似项目不同,我希望使用严格纯粹的功能,并且能够明确地获取时间.
我们的想法是,可以在Haksell中表达纯粹的"懒惰流处理器",并且由于懒惰的评估,它将以交互式,实时的方式工作.
例如,我可以将"midi信号"表示为音符变化事件流:
type Signal = [ (Time, Notes->Notes) ]
Run Code Online (Sandbox Code Playgroud)
这一切在非交互模式下都能很好地工作,但是当我想实时玩它时,我遇到了一个很大的障碍:在任何一个时间点,输出信号都取决于下一次输入的时间事件.所以我的合成引擎实际上会停止直到下一个事件.
让我解释一下:当我的声卡要求输出信号的样本时,懒惰的评估器遍历我的信号处理器的依赖图,并最终要求输入一个输入(midi)信号.但是,让我们说输入信号在本地看起来像这样:
input :: Signal
input = [ ..., (1, noteOn 42), (2, noteOff 42), ... ]
Run Code Online (Sandbox Code Playgroud)
当我需要在1.5时计算输出(音频)信号时,我需要这样的东西:
notesAt :: Signal -> Time -> Notes
notesAt = notesAt' noNotes where
notesAt' n ((st,sf):ss) t
| st > t = n
| otherwise = notesAt' (sf n) ss t
Run Code Online (Sandbox Code Playgroud)
...当我评估"notesAt input 1.5"时,它必须在返回之前计算"2> 1.5".但事件(2,NoteOff 42)将不会再发生0.5秒!所以我的输出依赖于将来会发生的输入事件,从而停止.
我把这种效应称为"矛盾的因果关系".
我已经考虑过如何处理这个问题很长一段时间了,我得出结论,我需要的是某种形式的数字,这将允许我懒洋洋地评估"a> b".让我们说:
bar :: LazyNumber
bar = 1 + bar
foo …Run Code Online (Sandbox Code Playgroud) 我正在关注集成ggplot2和d3的简单教程.我正在本教程网站(http://timelyportfolio.github.io/gridSVG_intro/)上专门研究方法2 .我试图复制交互式情节(这是该页面上的最后一个情节).
我使用了相同的语法,并将其插入到.R文件中,如下所示:
library(gridSVG)
library(ggplot2)
library(XML)
library(rjson)
set.seed(955)
dat <- data.frame(cond = rep(c("A", "B"), each=10), xvar = 1:20 + rnorm(20,sd=3), yvar = 1:20 + rnorm(20,sd=3))
g4 = ggplot(dat, aes(x=xvar, y=yvar)) + geom_smooth() + geom_point(shape=19, aes(color = cond), size=5)
g4
g4.svg <- grid.export("plot1.svg",addClasses=TRUE)
cat(saveXML(g4.svg$svg))
cat(
'<script> ourdata=',
rjson::toJSON(apply(g4$data,MARGIN=1,FUN=function(x)return(list(x)))),
'</script>'
)
cat(
'<script> dataToBind = ',
'd3.entries(ourdata.map(function(d,i) {return d[0]}))',
'</script>'
)
cat(
'<script>\n',
'scatterPoints = d3.select(".points").selectAll("use");\n',
'scatterPoints.data(dataToBind)',
'</script>\n'
)
cat('<script>\n',
'scatterPoints
.on("mouseover", function(d) {
//Create the tooltip label
var tooltip …Run Code Online (Sandbox Code Playgroud) 我一直在使用带有各种标志的"kubectl run"以交互方式运行Jobs,但最近已经超出了我可以用这些标志做的事情,并且已经毕业使用YAML配置文件来描述我的工作.
但是,我找不到相当于"-i"和"--tty"标志,以附加到我正在创建的作业.
是否有等效的YAML规范:
kubectl run myjob \
-i \
--tty \
--image=grc.io/myproj/myimg:mytag \
--restart=Never \
--rm \
-- \
my_command
Run Code Online (Sandbox Code Playgroud)
或者这可能不是正确的方法?
该函数还directory-files返回.和..条目.虽然在某种意义上确实如此,只有这种方式函数返回所有现有条目,我还没有看到包含这些条目的用途.另一方面,每次使用directory-files我也会写一些类似的东西
(unless (string-match-p "^\\.\\.?$" ...
Run Code Online (Sandbox Code Playgroud)
或者为了提高效率
(unless (or (string= "." entry)
(string= ".." entry))
..)
Run Code Online (Sandbox Code Playgroud)
特别是在交互式使用(M-:)中,额外的代码是不希望的.
是否有一些预定义的函数只能有效地返回目录的实际子条目?