小编ped*_*o91的帖子

postgresql触发器,用于在插入时填充新列

我有一张桌子Table_A:

\d "Table_A";
                           Table "public.Table_A"
  Column  |  Type   |                          Modifiers
----------+---------+-------------------------------------------------------------
 id       | integer | not null default nextval('"Table_A_id_seq"'::regclass)
 field1   | bigint  |
 field2   | bigint  |
Run Code Online (Sandbox Code Playgroud)

现在我想添加一个新列.所以我跑:

ALTER TABLE "Table_A" ADD COLUMN "newId" BIGINT DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)

我现在有:

\d "Table_A";
                           Table "public.Table_A"
  Column  |  Type   |                          Modifiers
----------+---------+-------------------------------------------------------------
 id       | integer | not null default nextval('"Table_A_id_seq"'::regclass)
 field1   | bigint  |
 field2   | bigint  |
 newId    | bigint  |
Run Code Online (Sandbox Code Playgroud)

我想要newId填充与id新/更新行相同的值.

我创建了以下函数并触发:

CREATE OR REPLACE FUNCTION …
Run Code Online (Sandbox Code Playgroud)

postgresql triggers

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

将Codacy问题导入GitHub

我的Codacy仪表板中有很多问题,但这些问题没有出现在我的github存储库中.我想将它们从Codacy导入GitHub以用于存储库管理.

可能吗?如果是这样,我该怎么办?

software-quality github codacy

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

如何告诉.gitignore(或git本身)忽略包含#TODO的行

我有很多行以# TODO供将来参考.这些都是个人的,我不想在进行更改时将它们与我的其余文件一起提交.

有没有办法告诉.gitignore(或git本身)不包含任何包含的行 # TODO

或作为奖励..不仅仅是行,但也许从行# TODO到行尾我有一个TODO在同一行有代码

例:

def destroy
  # TODO Alter route (Tell git to ignore this)
  @comment.destroy
end
Run Code Online (Sandbox Code Playgroud)

要么:

def destroy
  @comment.destroy # TODO Alter this line. (Tell git to ignore from '# TODO' onwards.
end
Run Code Online (Sandbox Code Playgroud)

git

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

为什么 Scala 值 class#toString 包含案例类信息?

值类可用于实现类型安全,而无需拆箱开销。

我的印象是,在运行时这样的类型/类将“不存在”,被视为简单类型(例如,值类在运行时case class X(i: Int) extends AnyVal将是简单的Int)。

但是,如果您确实.toString在值类实例上调用了一个方法,它将打印如下内容:

scala> val myValueClass = X(3)
myValueClass: X = 3

scala> myValueClass.toString
res5: String = X(3)
Run Code Online (Sandbox Code Playgroud)

所以我猜编译器毕竟包含一些信息?

scala value-class

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

Scala - 按键加入元组列表

我正在寻找一种在 Scala 中加入两个元组列表的方法,以获得与 Apache spark 使用 join 函数给我的结果相同的结果。示例:有两个元组列表,例如我们:

val l1 = List((1,1),(1,2),(2,1),(2,2))
l1: List[(Int, Int)] = List((1,1), (1,2), (2,1), (2,2))

val l2 = List((1,(1,2)), (2,(2,3)))
l2: List[(Int, (Int, Int))] = List((1,(1,2)), (2,(2,3)))
Run Code Online (Sandbox Code Playgroud)

通过键加入两个列表以获得以下结果的最佳方法是什么?

l3: List[(Int,(Int,(Int,Int)))] = ((1,(1,(1,2))),(1,(2,(1,2))),(2,(1,(2,3))),(2,(2,(2,3))))
Run Code Online (Sandbox Code Playgroud)

scala

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

Chrome 扩展程序 - 页面操作:定义页面

我正在尝试构建一个以某种方式虚拟的 Chrome 扩展程序。我希望它仅在特定页面中运行,因此我使用的是页面操作。

假设我希望页面操作在 Instagram 网站上运行,那么(根据文档),我的manifest.json右边需要这样的东西吗?

{
  "manifest_version": 2,
  "name": "Some name",
  "version": "0.0.3",
  "description": "Some description",
  "content_scripts": [
    {
      "matches": [
        "https://www.instagram.com/*"
      ],
      "js": ["content.js"]
    }
  ],
  "page_action": {
    "default_icon": "icon.png"
  },
  "background": {
    "scripts": ["background.js"]
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然内容脚本仅在 Instagram 页面上运行,但浏览器扩展程序不可点击(灰色外观,当我点击时,大多数选项不可点击)。

这使得无法对扩展按钮点击采取行动。在我的background.js我有:

function click(tab) {
  console.log('click from ' + tab);
}

chrome.pageAction.onClicked.addListener(click);
Run Code Online (Sandbox Code Playgroud)

永远不会被调用。

那么,是什么问题导致无法对某些页面上的扩展点击采取行动?

注意:我看到了这个问题/答案,但找不到问题/解决方案如何为 pageAction 添加点击?

javascript google-chrome google-chrome-extension

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

理解curala

def sum(f: Int => Int): (Int, Int) => Int = {
    def sumF(a: Int, b: Int): Int =
        if (a > b) 0
        else f(a) + sumF(a + 1, b)
    sumF
}

def sumCubes    = sum(a => a * a * a)


sumCubes // output Function2
sumCubes(1,10) // output 3025.
sumCubes() // doesn't work
Run Code Online (Sandbox Code Playgroud)

我觉得我不太了解好干.在第一个语句中,我们调用sumCubes没有参数,因此sum使用匿名函数作为参数调用并返回一个function2.

在第二次和第三次调用中真的发生了什么,为什么我们能够做到

sum(a => a * a * a)(1,10)
Run Code Online (Sandbox Code Playgroud)

但不是

sumCubes()(1,10)
Run Code Online (Sandbox Code Playgroud)

我的理解是sum(a => a * a * a)(1,10),我们部分应用于sum匿名函数,它返回一个Function2,它应用于第二对参数(1,10),因此我们得到3025, …

scala

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

在Scala中生成随机字符串/字母

我正在尝试生成一个随机字符串,这些是我发现的可能性:

  1. Random.nextPrintableChar(),打印字母,数字,标点符号
  2. Random.alphanumeric.take(size).mkString,打印字母和数字
  3. Random.nextString(1),几乎每次打印中国字符大声笑

随机是scala.util.Random

size 是一个国际

第二种选择几乎完成了这项工作,但我需要从一封信开始.我找到了,Random.nextPrintableChar()但它也打印标点符号.

解决方案是什么?

到目前为止我的解决方案是

val low = 65 // A
val high = 90 // Z

((Random.nextInt(high - low) + low).toChar
Run Code Online (Sandbox Code Playgroud)

Random.nextPrintableChar实施启发:

def nextPrintableChar(): Char = {
    val low  = 33
    val high = 127
    (self.nextInt(high - low) + low).toChar
  }
Run Code Online (Sandbox Code Playgroud)

random scala

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

带有参数化函数的Scala动态调度

怎么可能使这段代码工作?

据我所知,Scala 没有动态调度(类似于 Java)。是否可以以某种方式模拟动态调度?

或者最好的解决办法是什么?

object Tezt {

  case class SuperClazz()
  case class SubClazz1() extends SuperClazz
  case class SubClazz2() extends SuperClazz

  def method(obj: SubClazz1) = {
    // stuff
  }

  def method(obj: SubClazz2) = {
    // stuff
  }

  def func[T <: SuperClazz](obj: T) = {
    Tezt.method(obj) // Error: Cannot resolve method reference with such signature
  }
}
Run Code Online (Sandbox Code Playgroud)

types scala type-inference multiple-dispatch dynamic-dispatch

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

Scala阅读文件与Spark

我试图读取一个看起来像这样的文件:

you 0.0432052044116
i 0.0391075831328
the 0.0328010698268
to 0.0237549924919
a 0.0209682886489
it 0.0198104294359
Run Code Online (Sandbox Code Playgroud)

我想将它存储在RDD(键,值)中(例如,你,0.0432).目前我只做了那个算法

val filename = "freq2.txt"
try {
for (line <- Source.fromFile(filename).getLines()) {
    val tuple = line.split(" ")
    val key = tuple(0)
    val words = tuple(1)
    println(s"${key}")
    println(s"${words}")
  }

} catch {
  case ex: FileNotFoundException => println("Couldn't find that file.")
  case ex: IOException => println("Had an IOException trying to read that file")
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何存储数据......

scala apache-spark

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

我应该在构造函数上方或下方包含 module.exports

我在我的项目中使用Codacy,并且收到一条警告,说我不应该使用稍后声明的变量,这是非常合乎逻辑的。然而,这对于构造函数来说应该可以正常工作。

这是我的主要文件结构:

/* Export */
module.exports = myObject; // this line

/* Import */
var otherObject = require('./otherObject');

function myObject(input) {
}

myObject.prototype = {
}
Run Code Online (Sandbox Code Playgroud)

在对象构造函数声明之前导出会出现任何问题吗?我应该将导出线移到构造函数下方吗?

javascript module node.js codacy

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

在Scala中映射的可选元组

如果我有一个元组列表,我可以转换为一个地图toMap:

val x = (3 -> 3)
List(x).toMap
Run Code Online (Sandbox Code Playgroud)

我明白了

scala.collection.immutable.Map[Int,Int] = Map(3 -> 3)
Run Code Online (Sandbox Code Playgroud)

如果我有一个可选列表并尝试相同,我会收到一个错误:

val x = Some(3 -> 3)
val y = None
List(x, y).toMap

<console>:15: error: Cannot prove that Some[(Int, Int)] <:< (T, U).
Run Code Online (Sandbox Code Playgroud)

我想得到相同的结果.可能吗?

dictionary scala tuples optional scala-collections

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