我有一张桌子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) 我的Codacy仪表板中有很多问题,但这些问题没有出现在我的github存储库中.我想将它们从Codacy导入GitHub以用于存储库管理.
可能吗?如果是这样,我该怎么办?
我有很多行以# 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) 值类可用于实现类型安全,而无需拆箱开销。
我的印象是,在运行时这样的类型/类将“不存在”,被视为简单类型(例如,值类在运行时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 中加入两个元组列表的方法,以获得与 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) 我正在尝试构建一个以某种方式虚拟的 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 添加点击?
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, …
我正在尝试生成一个随机字符串,这些是我发现的可能性:
Random.nextPrintableChar(),打印字母,数字,标点符号Random.alphanumeric.take(size).mkString,打印字母和数字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) 怎么可能使这段代码工作?
据我所知,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
我试图读取一个看起来像这样的文件:
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)
但我不知道如何存储数据......
我在我的项目中使用Codacy,并且收到一条警告,说我不应该使用稍后声明的变量,这是非常合乎逻辑的。然而,这对于构造函数来说应该可以正常工作。
这是我的主要文件结构:
/* Export */
module.exports = myObject; // this line
/* Import */
var otherObject = require('./otherObject');
function myObject(input) {
}
myObject.prototype = {
}
Run Code Online (Sandbox Code Playgroud)
在对象构造函数声明之前导出会出现任何问题吗?我应该将导出线移到构造函数下方吗?
如果我有一个元组列表,我可以转换为一个地图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)
我想得到相同的结果.可能吗?
scala ×7
codacy ×2
javascript ×2
apache-spark ×1
dictionary ×1
git ×1
github ×1
module ×1
node.js ×1
optional ×1
postgresql ×1
random ×1
triggers ×1
tuples ×1
types ×1
value-class ×1