我有4个字段的数据行
aaaa bbb1 cccc dddd
aaaa bbb2 cccc dddd
aaaa bbb3 cccc eeee
aaaa bbb4 cccc ffff
aaaa bbb5 cccc gggg
aaaa bbb6 cccc dddd
Run Code Online (Sandbox Code Playgroud)
请多多包涵.
第一个和第三个字段总是相同的 - 但我不需要它们,第四个字段可以相同或不同.问题是,我只想要不共享公共字段的第2和第4个字段.例如,如上所述
bbb3 eeee
bbb4 ffff
bbb5 gggg
Run Code Online (Sandbox Code Playgroud)
现在我并不是指重复数据删除,因为它会留下其中一个条目.如果第4个字段与另一行共享一个值,我不希望任何行具有该值.
最简单的道歉再次询问什么可能是简单的.
我有一些lisp初始化代码:
(eval-when (:compile-toplevel :load-toplevel :execute)
(require 'asdf))
(eval-when (:compile-toplevel :load-toplevel :execute)
(push #p"c\:\\lisp\\clsql-4.0.4\\" asdf:*central-registry*))
Run Code Online (Sandbox Code Playgroud)
为什么这个版本会编译,而这个版本:
(eval-when (:compile-toplevel :load-toplevel :execute)
(require 'asdf)
(push #p"c\:\\lisp\\clsql-4.0.4\\" asdf:*central-registry*))
Run Code Online (Sandbox Code Playgroud)
在第3行的编译文件中产生错误,asdf是一个无法识别的包?
我正在使用ccl,并且(require'asdf)被记录为引入ASDF的内置版本.
我正在使用Pylons开发应用程序,我希望我的控制器操作能够将电子邮件发送到某些地址.是否有用于发送电子邮件的内置Pylons功能?
有没有办法将命令行参数传递给Windows中的Flash投影仪?我有另一个应用程序(在这种情况下,安装程序)需要与Flash投影仪通信(闪存工作方式相同).我无法在网上找到任何信息(一切似乎都集中在使用FSCommand参数来执行未来的投影仪,这对我调用原始投影仪没有帮助)...
我有一个以root身份运行的应用程序(一个守护进程/ Library/StartupItems),它偶尔会启动另一个进程system("open /Applications/MyAppName.app").这工作正常,但在某些计算机上,MyAppName以root身份启动,而不是在当前用户下运行.
我试图弄清楚为什么会这样,以及如何让应用程序始终作为当前用户启动.
问题似乎发生在运行某些Open/Active目录组合的企业站点上.我对这些机器的访问有限,所以在我请求更多时间之前,我试图至少形成一些假设.
另外一条线索是,如果你打开活动监视器并检查"Finder"进程,至少有一台计算机,"用户:"部分显示用户名但没有用户ID("(UID)"部分完全缺失了).
此外,父流程显示为" launchd (1)"而不是launchd (95)像大多数标准应用程序那样" ".我认为这个launchd实例是在计算机启动并以root身份运行的第一件事,与其他以登录用户身份运行的launchd实例相比.
除了显而易见的安全问题之外,我还要求应用程序不以root身份运行,以便它可以支持两个同时登录的用户打开/可见的内容.
有没有人对可能导致这种情况的原因有什么看法,或者我怎么解决它?
我正在尝试保护tomcat中的资源,以便只有"有效用户"(在域中具有有效登录名和密码的用户)才能访问它.它们不一定属于该领域的一个群体.我已尝试使用该<security-constraint>指令的许多组合但未成功.有任何想法吗?
我认为流畅的界面非常便于许多任务.但是当我最终在一个类中混合流畅的方法和修改方法时,我感到不安.
只是一个例子(这有点做作,请耐心等待):
假设一个字符串实用程序类,修剪似乎适合链接:
Str & Str::Trim() { return TrimLeft().TrimRight(); }
Run Code Online (Sandbox Code Playgroud)
其他方法自然会返回一个新对象:
Str Str::GetFirstToken() const
{
// result = first token;
return result;
}
Run Code Online (Sandbox Code Playgroud)
还有第三种类型 - 它本身 - 会逻辑地改变对象并返回一个新对象:
Str Str::SplitFirstToken()
{
result = GetFirstToken();
// this = remainder
return result;
}
Run Code Online (Sandbox Code Playgroud)
当我单独使用每个方法最明显的签名时,我最终会得到这三种类型,而且我担心这类消费不是很直观,特别是因为返回类型是mroe或更少相同.
我已经决定Str不做不可变 - 因为SplitToken提供核心功能的方法.我的主要问题是混合流畅的方法你会做什么?
不要在该界面中使用流畅的方法
将它们移动到子接口(见下文)
"如果一个人流利,所有修改方法都应该流利"?
为流畅的方法使用一个seocific前缀?
别担心?
???
子接口的想法:
void CStr::Trim() { TrimLeft(); TrimRight(); }
CStrFluent & Str::Fluent() { return CStrFluent(*this); }
....
str.Fluent().TrimLeft().TrimRight();
Run Code Online (Sandbox Code Playgroud)
我对此犹豫不决,我真的不喜欢额外的"流畅" - 尤其是它是C++中的方法调用
你怎么看?
[编辑]我在这里使用"流利"的基本含义是在单个实例上链接方法调用,而不是在代码中创建英语句子的高级意义.
我正在尝试创建一个函数来创建一个以另一个结构为基础的新基础,作为一个开始,我试图创建一个宏,它将创建一个与旧结构相同的新结构.我认为应该这样做的宏在下面,但是它给出了以下错误:
java.lang.Exception: Can't use qualified name as parameter: user/p1__132
Run Code Online (Sandbox Code Playgroud)
宏:
(defmacro prototype [structure obj]
`(apply struct ~structure (map #(~obj %) (keys ~obj))))
Run Code Online (Sandbox Code Playgroud)
使用示例:
(defstruct bintree :data :left :right)
(def a (struct bintree 3))
(prototype bintree a)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,所需的输出将是
{:data 3 :left nil :right nil}
Run Code Online (Sandbox Code Playgroud) 我有一种情况,我希望无论发生什么事情都要执行某些代码,但我需要将异常传递到堆栈中以便稍后处理.以下是:
try
{
// code
}
finally
{
// code that must run
}
Run Code Online (Sandbox Code Playgroud)
只是忽略任何异常,还是会将它们传递给它们?我的测试似乎表明他们仍然被传递,但我想确定我不是疯了.
编辑:我的问题不是关于何时以及最终是否会执行,而是关于异常是否仍然被抛出,但现在已经得到了回答.
我有许多字符串,其中包含聚集在一起的单词,我需要将它们分开.
例如ThisWasCool - 这很酷
MyHomeIsHere - 我的家就在这里
我正慢慢地了解正则表达式,我相信这样做我应该使用preg_replace.我的问题是将表达式放在一起以找到匹配.
我只有这么远
preg_replace('~^[A-Z]~', " ", $string)
Run Code Online (Sandbox Code Playgroud)
每个字符串包含很多单词,但只有第一个单词包含成束单词,所以使用我上面的字符串中的例子将是
"ThisWasCool再次访问你" - "这很酷,再次访问你"
我已经告诉它从头开始,并寻找大写字母,但我不知道该怎么做 - 只限于每个字符串的第一个字 - 如何在空格后重新使用大写字母