小编dre*_*ves的帖子

使用指定的命令(和自定义颜色)以编程方式启动Terminal.app

我可以从命令行(或程序,通过系统调用)启动xterm,如下所示:

/usr/X11/bin/xterm -fg SkyBlue -bg black -e myscript
Run Code Online (Sandbox Code Playgroud)

这将启动带有蓝色文本和黑色背景的xterm,并在其中运行任意脚本.

我的问题:我如何使用Terminal.app进行等效操作?

macos terminal command-line applescript

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

将unixtime转换为datetime对象然后再转换(转换为时间转换函数对)

我正在尝试编写一对函数,dt并且ut在正常的unix时间(自1970-01-01 00:00:00 UTC以来的秒数)和Python datetime对象之间来回转换.

如果dt并且ut是正确的反转,则此代码将打印两次相同的时间戳:

import time, datetime

# Convert a unix time u to a datetime object d, and vice versa
def dt(u): return datetime.datetime.fromtimestamp(u)
def ut(d): return time.mktime(d.timetuple())

u = 1004260000
print u, "-->", ut(dt(u))
Run Code Online (Sandbox Code Playgroud)

唉,第二个时间戳比第一个时间戳少3600秒(一小时).我认为这只发生在非常特殊的unixtimes上,也许在那个时间里,夏令时会跳过.但有没有办法写作dt,ut所以他们是彼此真正的逆转?

相关问题:使matplotlib的date2num和num2date完美反转

python time datetime date dst

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

PHP中的并行数组赋值

大多数语言可以很容易地采取像一个数组[1, 2, 3]并将其分配给变量a,b以及c用一个命令.例如,在Perl中你可以做到

($a, $b, $c) = (1, 2, 3);
Run Code Online (Sandbox Code Playgroud)

PHP中的相应技巧是什么?

[非常感谢闪电快速回答!我知道这是一个微不足道的问题,但所有明显的谷歌查询都没有找到答案,所以这是我试图解决这个问题.

php arrays variable-assignment

21
推荐指数
2
解决办法
5368
查看次数

如何最好地编写针对HTML和PDF的文档?

我过去见过的Latex-to-html转换器非常糟糕.编辑原始HTML并不好玩,似乎不能很好地转换为打印页面.别人怎么解决这个问题?示例链接(pdf和html)都很棒.

补充:刚问了另一个类似的问题:

我应该使用什么格式化语言来编写项目文档

html pdf documentation latex pdf-generation

20
推荐指数
4
解决办法
8777
查看次数

完全透明地自动使用GNU Screen

屏幕很棒,当然,但我不想考虑它.我经常ssh到一台机器,开始做一堆东西,然后想"天哪,我希望我在做这一切之前想到开始一个屏幕会议,所以我可以在以后从家里重新连接到这个".

每当我登录到机器时,我都想自动启动屏幕.当我断开连接时,我希望能够立即简单地重新连接,而不必担心"screen -ls"和"screen -dr".

我有一个脚本,实现了这个问题的一个解决方案,我将作为答案发布.我很想看到其他方法.

ssh scripting automation gnu-screen

19
推荐指数
4
解决办法
5878
查看次数

从n维单位单形中随机均匀地采样

从n维单位单形中随机均匀地采样是一种奇特的方式,可以说你需要n个随机数

  • 他们都是非负面的,
  • 他们总结为一个,和
  • n个非负数的每个可能的矢量总和为1是可能的.

在n = 2的情况下,您希望从正象限中的线x + y = 1(即,y = 1-x)的线段均匀地采样.在n = 3的情况下,你是从平面的三角形部分采样x + y + z = 1,它位于R3的正八分圆中:

(图片来自http://en.wikipedia.org/wiki/Simplex.)

请注意,选择n个统一的随机数,然后将它们归一化,使它们总和为1不起作用.你最终倾向于不那么极端的数字.

类似地,选择n-1个均匀随机数然后将第n个减去它们的总和也会引入偏差.

维基百科提供了两种算法来正确地做到这一点:http: //en.wikipedia.org/wiki/Simplex#Random_sampling (虽然第二个目前声称只在实践中是正确的,不是理论上的.我希望能够清理它或者当我更好地理解这一点时澄清它.我最初在维基百科页面上发表了"警告:这样的论文声称以下是错误的",并且其他人将其变成了"仅在实践中作品"的警告.)

最后,问题是:您认为Mathematica中单纯形采样的最佳实现是什么(最好用经验证实它是正确的)?

相关问题

random math wolfram-mathematica

19
推荐指数
4
解决办法
5023
查看次数

两台笔记本电脑如何在没有互联网的情况下互相推送/拉动

说我的合作黑客,我发现自己在一个荒岛上.通常我们推送并拉到github以便彼此同步.当我们与外界无关时,您会如何建议我们这样做?

(用户@bee和我实际上有这个问题,因为我输入了这个,但显然不是我发送的.在我们的例子中我们都有Mac笔记本电脑 - OSX Snow Leopard - 但我认为通常更好地对待这个问题.)

git

18
推荐指数
3
解决办法
4935
查看次数

从命令行调用Mathematica程序,使用命令行args,stdin,stdout和stderr

如果在foo.m中有Mathematica代码,Mathematica可以用-noprompt-initfile foo.m (或-run "<<foo.m")调用,并且命令行参数可用$CommandLine(在那里有额外的垃圾)但是有没有办法让一些mathematica代码像

#!/usr/bin/env MathKernel
x = 2+2;
Print[x];
Print["There were ", Length[ARGV], " args passed in on the command line."];
linesFromStdin = readList[];
etc.
Run Code Online (Sandbox Code Playgroud)

和chmod它可执行并运行它?换句话说,如何像任何其他脚本语言(Perl,Python,Ruby等)一样使用Mathematica?

scripting command-line wolfram-mathematica

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

Mathematica中的ForEach循环

我想要这样的事情:

each[i_, {1,2,3},
  Print[i]
]
Run Code Online (Sandbox Code Playgroud)

或者,更一般地说,要解构您循环的列表中的任意内容,例如:

each[{i_, j_}, {{1,10}, {2,20}, {3,30}},
  Print[i*j]
]
Run Code Online (Sandbox Code Playgroud)

通常,您希望使用Map或其他纯函数构造,并避免使用副作用的非函数式编程样式.但是这里有一个例子,我认为for-each构造非常有用:

假设我有一个将符号与表达式配对的选项(规则)列表,例如

attrVals = {a -> 7, b -> 8, c -> 9}
Run Code Online (Sandbox Code Playgroud)

现在我想制作一个哈希表,在那里我可以将这些符号明显映射到这些数字.我认为没有比这更清洁的方法了

each[a_ -> v_, attrVals, h[a] = v]
Run Code Online (Sandbox Code Playgroud)

其他测试用例

在此示例中,我们转换变量列表:

a = 1;
b = 2;
c = 3;
each[i_, {a,b,c}, i = f[i]]
Run Code Online (Sandbox Code Playgroud)

在上述之后,{a,b,c}应评估为{f [1],f [2],f [3]}.请注意,这意味着如果它是一个列表,那么"each"的第二个参数应该保持不被评估.

如果未评估的表单不是列表,则应评估第二个参数.例如:

each[i_, Rest[{a,b,c}], Print[i]]
Run Code Online (Sandbox Code Playgroud)

那应该打印b和c的值.

附录:要正确地执行每个操作,它应该支持Break []和Continue [].我不确定如何实现它.也许它需要以For,While或Do的方式实现,因为这些是唯一支持Break []和Continue []的循环结构.

到目前为止答案的另一个问题是:他们吃Return [] s.也就是说,如果您在函数中使用ForEach循环并希望从循环内的函数返回,则不能.在ForEach循环中发出Return似乎像Continue []一样工作.这只是(等待它)把我扔了一圈.

language-features loops wolfram-mathematica

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

进行系统调用,将stdout输出作为字符串返回

Perl和PHP用反引号做到这一点.例如,

$output = `ls`;
Run Code Online (Sandbox Code Playgroud)

返回目录列表.类似的函数system("foo")返回给定命令foo的操作系统返回码.我在谈论一个将foo打印返回到stdout的变体.

其他语言如何做到这一点?这个函数有一个规范名称吗?(我要用"反击";但也许我可以用"syslurp"硬币.)

language-agnostic terminology

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