小编jer*_*rry的帖子

在模式之后提取字符串

我想在client_id和id之后提取数字,并在每一行中配对client_id和id.

例如,对于以下日志行,

User(client_id:03)) results:[RelatedUser(id:204, weight:10),_RelatedUser(id:491,_weight:10),_RelatedUser(id:29, weight: 20)

User(client_id:04)) results:[RelatedUser(id:209, weight:10),_RelatedUser(id:301,_weight:10)

User(client_id:05)) results:[RelatedUser(id:20, weight: 10)
Run Code Online (Sandbox Code Playgroud)

我想输出

03 204
03 491
03 29
04 209
04 301
05 20
Run Code Online (Sandbox Code Playgroud)

我知道我需要使用sed或awk.但我不确切知道如何.

谢谢

unix awk sed pattern-matching

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

Scala构造函数参数修饰符

我想澄清scala中的一些概念

class Test(a:Int) {
 def print = println(a)
}

class Test1(val a:Int) {
 def print = println(a)
}

class Test2(private val a:Int) {
 def print = println(a)
}

val test = new Test(1)
val test1 = new Test1(1)
val test2 = new Test2(1)
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试访问in test,test1,test2时.

Scala打印

scala> test.a
<console>:11: error: value a is not a member of Test

scala> test1.a
res5: Int = 1

scala> test2.a
<console>:10: error: value a cannot be accessed in Test2
Run Code Online (Sandbox Code Playgroud)

我理解Integer a是Test1和Test2的一个字段.但是Integer a和Class Test的关系是什么?显然,整数a不是Test类的字段,但它可以在print函数中访问.

constructor scala

4
推荐指数
1
解决办法
644
查看次数

在scala中,使用函数名作为返回值?

当我第一次看到下面这段代码时,我很困惑.

在Element类中,有三个函数定义.

为什么高度和宽度可以直接使用内容作为Array [String]的变量?

是因为Scala中的每个函数都是一个对象或其他规则吗?

我来自C++世界,所以这个定义真的让我困惑.

abstract class Element {
  def contents: Array[String]
  def height: Int = contents.length
  def width: Int = if (height == 0) 0 else contents(0).length
}
Run Code Online (Sandbox Code Playgroud)

scala

2
推荐指数
1
解决办法
330
查看次数

调试intellij中的scala代码?

我只是使用scala加入了一个团队.我们使用intellij CE和scala插件.

到目前为止,除了调试器之外,一切似乎都有效.

有没有人知道如何在intellij中为scala设置调试器?它有什么好的在线资源吗?

谢谢!

scala intellij-idea

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

scala代码段

我是斯卡拉的新手.有人可以向我解释下面这段代码吗?

 val l: Either[String, Int] = Left("flower")
 val r: Either[String, Int] = Right(12)
 l.left.map(_.size): Either[Int, Int] // Left(6)
 r.left.map(_.size): Either[Int, Int] // Right(12)
Run Code Online (Sandbox Code Playgroud)

关于第3行和第4行,我有几个问题:

  1. _.size在上下文中代表什么?
  2. r.left返回什么?
  3. r.left.map返回什么?
  4. r.left.map(_.size):[Int,Int]是什么意思?

谢谢!

scala

2
推荐指数
1
解决办法
120
查看次数

在pig中加载多个文件

我是猪的新手.

在pig中,我想加载多个文件,其名称带有时间戳.

如果我在2012/02/12至2012/02/19之间加载文件,则以下工作正常

$START = "12"
$END = "19"
raw_data = load '/table/status/2012/02/{$START,$END}' using Loader()
Run Code Online (Sandbox Code Playgroud)

假设开始日期是2011/12/29,结束日期是2012/01/04,我该如何更改代码行?

谢谢你的帮助!

apache-pig

2
推荐指数
1
解决办法
9534
查看次数

如何防止其他人在堆上创建一个新的类实例?

可能重复:
如何防止通过"new"运算符分配类?(我想确保我的RAII类总是在堆栈上分配.)

假设我在库中定义了一个类

class Base {};
Run Code Online (Sandbox Code Playgroud)

我将该类发布给用户.

一个用户定义了一个新类

class Derived : public Base {}
Run Code Online (Sandbox Code Playgroud)

我可以做些什么Base来防止用户Derived在堆上创建实例?

例如,这是允许的

Derived dd;
Run Code Online (Sandbox Code Playgroud)

这不是

Derived* dd = new Derived();
Run Code Online (Sandbox Code Playgroud)

谢谢,

c++ inheritance

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