标签: interactive

添加完成(交互式)

有没有办法将自己的完成添加到(interactive)elisp函数中?理想情况下,我想传递一个字符串列表,它可以从中完成.我知道,使用(interactive "D"),(interactive "F")(interactive "b")分别给你的目录,文件和缓冲区名完成,但对于更广泛的投入?

emacs elisp interactive

16
推荐指数
1
解决办法
1600
查看次数

在 R 中使用整数值代替数值(例如 1L 与 1)作为常量的好处

在 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 在使用数字时会做正确的事情。然而,有时我们想显式地为常量创建一个整数值。

  • 在哪些情况下需要强制常量使用整数值而不是简单地使用数值?例如,例如 1 会失败,但例如 1L 不会失败的示例是受欢迎的。
  • 相反,在哪些情况下不需要使用整数值(例如交互式使用与编程、使用常量索引等)?

问题是关于良好实践和基本原理,而不是关于“L”符号本身整数类和数字类之间的差异比较数字

integer interactive r function numeric

16
推荐指数
1
解决办法
796
查看次数

是否可以构建交互式C shell?

我只是想知道这是否可能使用(Python,Java或C)?我正在寻找类似IPython for Python的东西.

c shell interactive read-eval-print-loop

15
推荐指数
1
解决办法
8721
查看次数

如何在约束条件下以图形方式在Mathematica中定义参数值

我在Mathematica(和StackOverflow)中相对较新,我试图弄清楚是否可以实现以下Mathematica接口.

我想在Mathematica中创建一个接口,用户可以根据约束以图形方式和交互方式定义任意数量的数值参数.

问题中的参数是数字权重[0,1],每个都与相应的标准相关联并且被约束为求和.显而易见,这种约束导致了对可以与每个标准相关联的权重的权衡,并且我希望通过沿着下面的线(不幸地在Excel中制作)的交互式绘图以图形方式进行这种权衡:

图形权重定义的示例

在这个例子中,有6个标准,但我想将其概括为任意数字(例如,在2和7之间).

界面将通过沿着相应的轴拖动每个多边形顶点(对应于特定的权重)并且使其他顶点均匀地调整以使它们总是总和为1来工作.

然后返回数值以用于后续计算.

我环顾四周,似乎找不到有同样问题的人(可能是搜索查询的定义非常重要).

我在Mathematica的例子中发现的最接近的事情是定位器窗格的以下应用,其中允许在正方形上移动3个点并返回它们的位置:

[0,1]

在此输入图像描述

我非常感谢任何建议.谢谢!

wolfram-mathematica interactive

15
推荐指数
2
解决办法
618
查看次数

使用Paramiko在Python上用ssh实现交互式shell?

我想编写一个程序(在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)

这段代码存在一些问题:

  1. 第一个'print'并不总是打印'ls'输出(有时它只打印在第二个'print'上).
  2. 第一个'cd'和'ls'命令总是出现在输出中(我通过'recv'命令获取它们,作为输出的一部分),而有时会打印以下所有'cd'和'ls'命令,有时它们不是.
  3. 第二个和第三个'cd'和'ls'命令(打印时)总是出现在第一个'ls'输出之前.

我对这种"非决定论"感到困惑,非常感谢你的帮助.

python ssh shell interactive paramiko

15
推荐指数
1
解决办法
3万
查看次数

创建交互式ruby控制台应用程序

我想制作用户启动它的交互式应用程序,并可以通过键入命令(某种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)

ruby console interactive

14
推荐指数
4
解决办法
2万
查看次数

将时间建模为惰性数字

我正在尝试在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)

audio haskell interactive real-time lazy-evaluation

14
推荐指数
1
解决办法
383
查看次数

结合ggplot2和d3(gridSVG教程导致非交互式图像)

我正在关注集成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)

svg interactive r ggplot2 d3.js

14
推荐指数
2
解决办法
1114
查看次数

kubectl YAML配置文件相当于"kubectl run ... -i --tty ..."

我一直在使用带有各种标志的"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)

或者这可能不是正确的方法?

yaml interactive kubernetes kubectl

14
推荐指数
1
解决办法
8447
查看次数

Emacs lisp:`directory-files`

该函数还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-:)中,额外的代码是不希望的.

是否有一些预定义的函数只能有效地返回目录的实际子条目?

directory emacs elisp interactive file

13
推荐指数
2
解决办法
4031
查看次数