在条件语句中创建数据帧时,我注意到了一些奇怪的行为
例如:
val bla = 3
case class Test(foo: Int)
val test = if (bla == 1){
println("foo")
} else {Seq(4,5,6).toDF}
返回任何
而以下代码将返回数据框
val bla = 3
case class Test(foo: Int)
val test = if (bla == 1){
Seq(1,2,3).toDF
} else {Seq(4,5,6).toDF}
答案 0 :(得分:1)
因为export var getEditor = function getEditor(el) {
var MediumEditorOptions = {
toolbar: {
buttons: ['bold', 'italic', 'anchor', 'orderedlist', 'unorderedlist', 'h2', 'h3', 'h4', 'MediumBlockquoteExtension']
},
paste: {
cleanPastedHTML: true
},
extensions: {
'widgetextension': wysiwygExtension,
'MediumBlockquoteExtension': blockquoteExtension
}
};
var editor = new MediumEditor(el, MediumEditorOptions);
marked.setOptions({
pedantic: true
});
return editor;
}
的返回类型是println
,所以编译器必须选择Unit
和DataFrame
的常见超类型 - 它的Unit
1}}
您必须在Any
和if
中创建DataFrame,即空DataFrame
带有DataFrame类型的变量必须是else
和if
块中的最后一个表达式