我正在考虑一种将带有重复键的元组列表转换[("a","b"),("c","d"),("a","f")]为映射的好方法("a" -> ["b", "f"], "c" -> ["d"]).通常(在python中),我会在列表上创建一个空映射和for循环,并检查重复键.但我在这里寻找更多scala-ish和聪明的解决方案.
顺便说一句,我在这里使用的实际键值类型是(Int, Node),我想变成一张地图(Int -> NodeSeq)
我试着编辑我的init文件.是否有任何可能的方式,迅速跳进那个已加载/所需的其他.el文件的功能定义是什么?
我记得曾经这样做,但不记得怎么样......
假设我有一个字符串"快速的棕色狐狸跳过懒狗"我可以用一个正则表达式将其更改为"慢棕狐跳过精力充沛的狗"吗?目前,我为这种情况使用了两组正则表达式.(在这种情况下,我使用s/quick/slow/后跟s/lazy/energetic/.)
我通常在Perl中这样做:
whatever.pl
while(<>) {
#do whatever;
}
Run Code Online (Sandbox Code Playgroud)
然后 cat foo.txt | whatever.pl
现在,我想用Python做到这一点.我试过,sys.stdin但我不知道怎么做,就像我在Perl中所做的那样.我该如何阅读输入?
我在Windows上使用Emacs.我的默认文件夹是c:/home,但我想编辑我的文件,d:/如何在ido模式下执行?我试过//但是让我进去了c:/.
目前,我使用C-f(改回正常查找文件模式),但这首先打败了使用ido模式的目的....
我有5个词典,我想要一个他们的键的联合.
alldict = [dict1, dict2, dict3, dict4, dict5]
Run Code Online (Sandbox Code Playgroud)
我试过了
allkey = reduce(lambda x, y: set(x.keys()).union(y.keys()), alldict)
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误
AttributeError: 'set' object has no attribute 'keys'
Run Code Online (Sandbox Code Playgroud)
我做错了吗?我使用普通的forloop但我想知道为什么上面的代码不起作用.
我从组合库中编写了一些解析器.我想要一个泛型函数,将任何大小的nest变换成一个列表.这该怎么做 ?
这是我使用的解析器的例子(我的真正的解析器有一个很长的链〜所以我想避免我现在的解决方案,这在下面的评论).
object CombinatorParser extends RegexParsers {
lazy val a = "a"
lazy val b = "b"
lazy val c = "c"
lazy val content = a ~ b ~ c // ^^ {case a~b => a::b::c::Nil work but I want something more general that work for any ~ length.
}
object CombinatorTesting {
def main(args:Array[String]) {
val testChar = "abc"
val output = CombinatorParser.parseAll(CombinatorParser.content, testChar)
println(output) // ((a~b)~c) but I want List(a,b,c)
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用SBT 0.12.0.
我有两个任务在我project/Build.scala- helloTask和u2定义如下:
val hello = TaskKey[Unit]("hello", "Prints 'Hello World'")
val helloTask = hello := {
println("Hello World")
}
val u2Task = TaskKey[Unit]("u2") := { println("u2") }
Run Code Online (Sandbox Code Playgroud)
如何让u2任务取决于hellotask?我<<=按照任务中描述的那样使用了样本(在问题的原始版本中它是https://github.com/harrah/xsbt/wiki/Tasks,但是文档已经移动和更改).
u2Task <<= u2Task dependsOn helloTask
Run Code Online (Sandbox Code Playgroud)
但我得到了reassignment to val错误.显然,我无法得到任何<<=工作.我究竟做错了什么?
我试图制作一些org文件来组织我的东西在emacs中,但我不知道如何在列视图中创建一个可点击的链接
目前,我的org文件看起来像这样.
* Main
:PROPERTIES:
:COLUMNS: %10ITEM %20LINK
:END:
** SUB1
:PROPERTIES:
:LINK: [[foo][bar]]
:END:
** SUB2
:PROPERTIES:
:LINK: [[bar][foo]]
:END:
Run Code Online (Sandbox Code Playgroud)
但是,在列视图中我没有可点击的链接,而是在列视图中得到了类似的内容
ITEM | LINK |
* Main | |
** SUB1 |[[foo][bar]] |
** SUB2 |[[bar][foo]] |
Run Code Online (Sandbox Code Playgroud)
有没有办法让列视图显示正常的链接?
我想知道如果java/scala在python中有"可以充当文件的字符串对象"作为StringIO吗?我认为这比写和读大量临时文件更好.我更喜欢scala,但java也应该没问题.