假设我有一个包含以下数据的DataGrid:
John, Male
Mary, Female
Tony, Male
Sally, Female
Run Code Online (Sandbox Code Playgroud)
网格绑定到Person模型对象的ObservableCollection,该对象为属性Person.Name和Person.Gender实现INofifyPropertyChanged.我现在想要将DataGridTextColumn的背景颜色绑定到人的性别,以便包含男性的行是蓝色,包含女性的行是粉红色.是否可以通过向Person模型添加另一个属性来执行此操作,如下所示:
public class Person
{
public Color BackgroundColor
{
get
{
if (gender == "Male")
{
return Color.Blue;
}
else
{
return Color.Pink;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果是这样,我如何将其绑定到行或列的背景颜色?我已经有这样的有界列:
<DataGridColumn Header="Name" Binding={Binding Name} />
<DataGridColumn Header="Gender" Binding={Binding Gender} />
Run Code Online (Sandbox Code Playgroud) 所以我今天决定尝试一下c++。我下载了MinGw和它附带的g++编译器。我决定测试以下代码:
#include <iostream>
#include <thread>
int foo()
{
std::cout << "foo" << std::endl;
}
int main()
{
std::thread t1(foo);
t1.join();
std::cout << "done" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用以下行在命令行上编译它:
g++ -std=c++11 main.cpp
Run Code Online (Sandbox Code Playgroud)
这适用于你好世界。然而这一次,它给了我这个错误:
error: 'thread' is not a member of 'std'
我使用 cygwin 提供的 g++ 尝试了完全相同的代码,并且它有效。那么为什么它在 MinGw 中不起作用呢?是不是已经过时了或者什么的?我想使用 c++11 和 c++14 编译东西,就像在 cygwin 终端上一样,但在 cygwin 环境之外。
说我有这样的文字:
string text = "Hello world! hElLo world!";
Run Code Online (Sandbox Code Playgroud)
我想以不区分大小写的方式在每个单词'hello'周围添加一个span标记,以便结果如下:
string text = "<span>Hello</span> world! <span>hElLo</span> world!";
Run Code Online (Sandbox Code Playgroud)
我尝试用Regex.Replace这样做:
Regex.Replace(text, "hello", "<span>hello</span>", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
但我真正需要的只是要创建的span标签,只保留原始外壳.所以我需要替换短语是匹配短语的函数.我怎样才能做到这一点?
假设我有一个表[public].[ids],其中包含客户ID的映射
public.ids
old_id | new_id
===============
100 | 1000
101 | 1001
102 | 1002
Run Code Online (Sandbox Code Playgroud)
我还有一个推荐表,当客户引用另一行时,我会记录一行:
public.referrals
referring_id | referred_id
==========================
100 | 101
101 | 102
Run Code Online (Sandbox Code Playgroud)
我想知道使用新的id这个表是什么样的.这意味着我必须两次加入推荐表.一次用于refer_id,一次用于referenced_id.最终,我想要一个看起来像这样的表:
结果
referring_new_id | referred_new_id
==================================
1000 | 1001
1001 | 1002
Run Code Online (Sandbox Code Playgroud)
如何通过自定义命名这些新列来实现此目的?我正在使用postgresql,但任何SQL风格都会有所帮助.
有没有办法在一行中完成这个?
my_var <- c("Mary", "Jane")
names(my_var) <- c("first", "last")
Run Code Online (Sandbox Code Playgroud) 我试图检查变量是否是某种类型,如下所示:
let s = "abc"
let isString = s :? string
Run Code Online (Sandbox Code Playgroud)
但在F#interactive中,我收到以下错误:
error FS0016: The type 'string' does not have any proper subtypes and cannot be used as the source of a type test or runtime coercion.
为什么会这样?我希望isString是一个bool.
我有一个data.table
数据R 的列,文本如下:
> my_table
descr
1: DESCRIPTIONA - JONES:4:2
2: DESCRIPTIONB - WILDER:6:7
---
253: DESCRIPTIONA - MANN:5:8
254: DESCRIPTIONB - ROBERTS:3:4
Run Code Online (Sandbox Code Playgroud)
请注意有两种描述:DESCRIPTIONA
和DESCRIPTIONB
.我想替换整个描述部分,包括直到第一个分号的名称,A
如果它是DESCRIPTIONA
,B
如果是的话DESCRIPTIONB
.这意味着我完全不在乎这个名字.输出应该如下所示:
> my_table
descr
1: A:4:2
2: B:6:7
---
253: A:5:8
254: B:3:4
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用gsub来实现这一目标,但我不能让正则表达式替换掉这部分(DESCRIPTIONA - JONES):4:2
.这很困难,因为每个名字都不同,而且长度不同.有任何想法吗?
我在scala中编写了以下代码:
val regex_str = "([a-z]+)(\\d+)".r
"_abc123" match {
case regex_str(a, n) => "found"
case _ => "other"
}
Run Code Online (Sandbox Code Playgroud)
它返回“其他”,但如果我去掉前导下划线:
val regex_str = "([a-z]+)(\\d+)".r
"abc123" match {
case regex_str(a, n) => "found"
case _ => "other"
}
Run Code Online (Sandbox Code Playgroud)
我明白了"found"
。我怎样才能找到任何([a-z]+)(\\d+)
而不是仅仅从头开始?我习惯了其他正则表达式语言,您使用 a^
来指定字符串的开头,而缺少它只会获得所有匹配项。
我有一个嵌套的地图,如下所示:
val m: Map[Int, Map[String, Seq[Int]]] =
Map(
1 -> Map(
"A" -> Seq(1, 2, 3),
"B" -> Seq(4, 5, 6)
),
2 -> Map(
"C" -> Seq(7, 8, 9),
"D" -> Seq(10, 11, 12),
"E" -> Seq(13, 14, 15)
),
3 -> Map(
"F" -> Seq(16, 17, 18)
)
)
Run Code Online (Sandbox Code Playgroud)
我希望所需的输出显示Seqs中每个可能的整数组合.例如:
List((1, "A", 1),
(1, "A", 2),
(1, "A", 3),
(1, "B", 4),
(1, "B", 5),
(1, "B", 6),
(2, "C", 7),
(2, "C", 8),
(2, "C", 9),
(2, …
Run Code Online (Sandbox Code Playgroud) 我想在spark中扩展SparkSession类.我复制了部分原版SparkSession的构造函数:
class SparkSession private(
@transient val sparkContext: SparkContext,
@transient private val existingSharedState: Option[SharedState],
@transient private val parentSessionState: Option[SessionState],
@transient private[sql] val extensions: SparkSessionExtensions)
extends Serializable with Closeable with Logging { self =>
private[sql] def this(sc: SparkContext) {
this(sc, None, None, new SparkSessionExtensions)
}
// other implementations
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试扩展它:
class CustomSparkSession private(
@transient override val sparkContext: SparkContext,
@transient private val existingSharedState: Option[SharedState],
@transient private val parentSessionState: Option[SessionState],
@transient override private[sql] val extensions: SparkSessionExtensions)
extends SparkSession {
// implementation
}
Run Code Online (Sandbox Code Playgroud)
但我得到的错误SparkSession …
regex ×3
scala ×3
c# ×2
r ×2
apache-spark ×1
c++ ×1
c++11 ×1
cygwin ×1
data-binding ×1
data.table ×1
datagrid ×1
f# ×1
gsub ×1
mingw ×1
postgresql ×1
sql ×1
stdthread ×1
typechecking ×1
vector ×1
wpf ×1