让我们说,我有这样的东西(在MainPage.xaml中):
<Page.Resources>
<Style TargetType="TextBlock" x:Key="TextBlockStyle">
<Setter Property="FontFamily" Value="Segoe UI Light" />
<Setter Property="Background" Value="Navy" />
</Style>
</Page.Resources>
Run Code Online (Sandbox Code Playgroud)
然后,我想将StaticResource样式应用于我动态创建的TextBlock(文件MainPage.xaml.cs).
有没有可能做到这一点,而不是做这样的事情:
myTextBlock.FontFamily = new FontFamily("Segoe UI Light");
myTextBlock.Background = new SolidColorBrush(Color.FromArgb(255,0,0,128));
Run Code Online (Sandbox Code Playgroud) 假设我有具有以下架构的数据框:
| -- comment: struct
| |-- _1: string
| |-- _2: string
| |-- _3: string
Run Code Online (Sandbox Code Playgroud)
当我使用时,df.select("comment.*")我正在获取包含 _1、_2、_3 列的数据框。是否有可能使用alias方法更改别名?理想情况下它会是什么样子df.select($"comment.*".alias("a", "b", "c"))?
甚至df.select($"comment".alias("a"))会产生错误:
org.apache.spark.sql.AnalysisException: Invalid usage of '*' in expression 'alias';
Run Code Online (Sandbox Code Playgroud) 是否有可能在 R 中序列化对象的结构。我所说的序列化是指类似于utils::str()或base::structure()函数的东西。该函数工作得很好,但它们只是打印结构,而没有将其分配给变量的选项。
我尝试使用递归来做到这一点(只是为了获取类):
x <- list("aaa",
c("asd", "test", "asdfre"),
b = list("bbbb"),
c1 = as.list(c("l1", "l2")),
c = list("aaa",
b = "bbbbb",
list("aaa",
s = c(123, 122)),
l = list(a = list("aa",
"bb"),
b = c(12, 123))))
getStructure <- function(x){
if(!is.list(x)){
return(list(class(x)))
} else{
sapply(x, function(x) { if(!is.null(x)) getStructure(x) })
}
}
getStructure(x)
Run Code Online (Sandbox Code Playgroud)
str()但它的工作方式与和函数的工作方式不同structure()。