小编Tg.*_*Tg.的帖子

将元组列表转换为映射(并处理重复键?)

我正在考虑一种将带有重复键的元组列表转换[("a","b"),("c","d"),("a","f")]为映射的好方法("a" -> ["b", "f"], "c" -> ["d"]).通常(在python中),我会在列表上创建一个空映射和for循环,并检查重复键.但我在这里寻找更多scala-ish和聪明的解决方案.

顺便说一句,我在这里使用的实际键值类型是(Int, Node),我想变成一张地图(Int -> NodeSeq)

scala map

86
推荐指数
7
解决办法
7万
查看次数

Emacs:如何跳转到.el文件中的函数定义?

我试着编辑我的init文件.是否有任何可能的方式,迅速跳进那个已加载/所需的其他.el文件的功能定义是什么?

我记得曾经这样做,但不记得怎么样......

emacs

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

我可以在VIM或Perl中的单个正则表达式中替换多个项目吗?

假设我有一个字符串"快速的棕色狐狸跳过懒狗"我可以用一个正则表达式将其更改为"慢棕狐跳过精力充沛的狗"吗?目前,我为这种情况使用了两组正则表达式.(在这种情况下,我使用s/quick/slow/后跟s/lazy/energetic/.)

regex vim perl

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

如何迭代命令行上传递的所有文件行?

我通常在Perl中这样做:

whatever.pl

while(<>) {
    #do whatever;
}
Run Code Online (Sandbox Code Playgroud)

然后 cat foo.txt | whatever.pl

现在,我想用Python做到这一点.我试过,sys.stdin但我不知道怎么做,就像我在Perl中所做的那样.我该如何阅读输入?

python stdin

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

如何在ido模式(Emacs)中更改驱动器号?

我在Windows上使用Emacs.我的默认文件夹是c:/home,但我想编辑我的文件,d:/如何在ido模式下执行?我试过//但是让我进去了c:/.

目前,我使用C-f(改回正常查找文件模式),但这首先打败了使用ido模式的目的....

emacs ido-mode

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

python:来自多个字典的联合键?

我有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但我想知道为什么上面的代码不起作用.

python reduce lambda dictionary

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

Scala:将组合器解析器中的parseresult(〜)展平为List?

我从组合库中编写了一些解析器.我想要一个泛型函数,将任何大小的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)

parsing scala combinators

11
推荐指数
2
解决办法
1286
查看次数

如何让任务依赖于另一个人在0.12?

我正在使用SBT 0.12.0.

我有两个任务在我project/Build.scala- helloTasku2定义如下:

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错误.显然,我无法得到任何<<=工作.我究竟做错了什么?

sbt

9
推荐指数
2
解决办法
3997
查看次数

组织模式:在列视图中建立链接?

我试图制作一些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)

有没有办法让列视图显示正常的链接?

emacs org-mode

7
推荐指数
1
解决办法
359
查看次数

scala/java有类似python的StringIO吗?

我想知道如果java/scala在python中有"可以充当文件的字符串对象"作为StringIO吗?我认为这比写和读大量临时文件更好.我更喜欢scala,但java也应该没问题.

java scala

7
推荐指数
2
解决办法
1713
查看次数

标签 统计

emacs ×3

scala ×3

python ×2

combinators ×1

dictionary ×1

ido-mode ×1

java ×1

lambda ×1

map ×1

org-mode ×1

parsing ×1

perl ×1

reduce ×1

regex ×1

sbt ×1

stdin ×1

vim ×1