我正在浏览awk示例并遇到类似的事情:
case class Node(data: Int, children: ListBuffer[Node], parents: ListBuffer[Node])
val node1 = Node(thisGuy, ListBuffer[Node](), ListBuffer[Node]())
val node2 = Node(thatGuy, ListBuffer[Node](), ListBuffer[Node](node1))
node1.children.append(node2)
var nodes: mutable.Set[Node] = mutable.Set(node1)
// This is were I am getting stackoverflow exception
nodes.add(node2)
我尝试使用awk '{print;}' employee.txt
执行相同的操作,它提供与前一个相同的输出。
那么有人能说出在awk '{print}' employee.txt
之后使用;
有什么意义吗?
答案 0 :(得分:2)
如果要在{}
块中放置多个语句,则必须用分号分隔。如果你有单个stmt,那么你不需要使用分号。就像anubhava所说的那样,如果存在多个stmts,你不需要将;
放在最后一个stmt上。
示例:强>
$ echo '1 2 3' | awk '{print $1;print $0}'
1
1 2 3
请注意,每个print stmt都会在不同的行中打印结果。