为了测试一些功能,我想DataFrame从一个字符串创建一个.假设我的测试数据如下:
TESTDATA="""col1;col2;col3
1;4.4;99
2;4.5;200
3;4.7;65
4;3.2;140
"""
Run Code Online (Sandbox Code Playgroud)
将数据读入熊猫的最简单方法是什么DataFrame?
我试图弄清楚如何创建一个将嵌套对象作为参数的方法.对于嵌套类,我可以执行以下操作:
scala> class Outer {
| class Inner
| def method(i:Outer#Inner) = { "inner class" }
| }
defined class Outer
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用对象尝试类似的东西,我会收到错误:
scala> class Outer {
| object Inner
| def method(i:Outer#Inner) = { "inner object" }
| }
<console>:11: error: type Inner is not a member of Outer
def method(i:Outer#Inner) = { "inner object" }
Run Code Online (Sandbox Code Playgroud)
该方法的参数类型应该如何实现?另外我想引用Inner对象的类型而不是概括说出的论点Any.
我一直试图了解隐式参数在Scala中的工作原理.据我所知,隐式参数解析如下:
然而,当我开始玩这个懒惰的vals时,我得到了一些帮助.懒惰的val似乎只使用最后的解析规则.以下是一些示例代码:
class Bar(val name:String)
object Bar { implicit def bar = new Bar("some default bar") }
class Foo {
lazy val list = initialize
def initialize(implicit f:Bar) = {
println("initialize called with Bar: '" + f.name + "' ...")
List[Int]()
}
}
trait NonDefaultBar extends Foo {
implicit def f = new Bar("mixed in implicit bar")
def mixedInInit = initialize
lazy val mixedInList = list
}
object Test {
def test = {
println("Case 1: with …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用golang的yacc工具创建一个解析器.我发现nex可以简化创建词法分析器以提供解析器.我现在的问题是生成的解析器没有方法或字段来授予我访问解析结果的权限.我可以将解析结果存储在全局变量中,但这似乎是错误的.
目前,我已将以下内容添加为我的parser.y文件顶部的初始尝试:
type ResultParser interface {
yyParser // Generated parser interface
Result() s.Expr // s.Expr is an interface for the parsed result
}
func (p *yyParserImpl) Result() s.Expr {
return p.stack[1].expr
}
func NewResultParser() ResultParser {
return &yyParserImpl{}
}
Run Code Online (Sandbox Code Playgroud)
是否有一种推荐/更好的方法来获得解析器的结果?
(因为这感觉有点滥用发电机......)
我正在开发 azure devops 的扩展。目的是在将更改推送到特定分支时自动创建拉取请求,然后向其中添加一些审阅者。
azure devops 节点 apiGitPullRequest中有一个,可以通过执行以下操作向其添加审阅者:
const pr: gi.GitPullRequest = <gi.GitPullRequest>{};
// ... some lines omitted...
pr.reviewers = [];
const reviewer = <gi.IdentityRefWithVote> {id: tl.getVariable("Build.RequestedForId")}
pr.reviewers.push(reviewer);
Run Code Online (Sandbox Code Playgroud)
上面的代码向 PR 添加了一个审阅者(通过从环境变量中获取 id)。我还想使用团队成员的用户名,例如。me@example.com查找他们的 ID 并将其添加到评论者中。我尝试使用用户名并uniqueName添加IdentityRefWithVote这些用户名,但它抱怨标识符丢失。
有办法做到这一点吗?我想出的唯一方法是获取所有团队,然后为每个团队获取成员,然后以这种方式匹配身份。然而,这似乎很复杂:(
在Spring MVC中使用PropertyEditors时,让它们从数据库中获取实体是不是很糟糕?我应该创建一个空实体并设置其Id.
例如,对于实体Employee:
@Entity
@Table(name = "employee")
public class Employee implements GenericEntity<Integer>{
@Id
@GeneratedValue
@Column(name = "employee_id")
public Integer getEmployeeId() {
return employeeId;
}
public void setEmployeeId(Integer employeeId) {
this.employeeId = employeeId;
}
/** More properties here **/
}
Run Code Online (Sandbox Code Playgroud)
使用以下GenericEntityEditor获取下面PropertyEditor中的Entity是一个坏主意:
public class GenericEntityEditor<ENTITY extends GenericEntity<Integer>> extends PropertyEditorSupport {
private GenericDao<ENTITY, Integer> genericDao;
public GenericEntityEditor(GenericDao<ENTITY, Integer> genericDao) {
this.genericDao = genericDao;
}
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue(genericDao.findById(Integer.valueOf(text)));
}
@SuppressWarnings("unchecked")
@Override
public String getAsText() {
ENTITY entity = …Run Code Online (Sandbox Code Playgroud) 我正在创建一个简单的代码片段,它应该将Box[String]请求user-agent传递给一个helper类,该类传递应该添加到html元素的css类.我这样做是因为让Elev提供html响应与html5boilerplate中的条件注释似乎很棘手.这就是我现在所拥有的并且它有效:
class LiftBoilerplate {
def render = "html [class+]" #> getClassForUserAgent(S.request)
private def getClassForUserAgent(request:Box[Req]) = request match {
case Full(r) => LiftBoilerplateHelper.getHtmlClass(r.userAgent)
case _ => ""
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我想为此编写一个单元测试:
object LiftBoilerplateSpecs extends Specification {
val session = new LiftSession("", randomString(20), Empty)
"LiftBoilerplate" should {
"add 'no-js' to the class of an html tag element" in {
val snippet = new LiftBoilerplate
val result = snippet.render(<html><head></head><body>test</body></html>)
result must ==/(<html class="no-js"><head></head><body>test</body></html>)
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为这个测试失败S.request是Empty.我该怎么做才能为代码段提供一个带有userAgent的模拟请求?
到目前为止,我已经查看了 …
我想为我添加到docker镜像的文件设置文件权限.我有这个简单的Dockerfile:
FROM ubuntu:utopic
WORKDIR /app
RUN groupadd -g 1000 baz && useradd -u 1000 -g baz baz -d /app -s /bin/false
RUN chown baz:baz /app && chmod g+s /app
# want this to be have group baz
ADD foo /app/
Run Code Online (Sandbox Code Playgroud)
docker build -t abc .在有foo文件的位置构建它可以.创建图像.但是,/app/foo内部的权限不是我想要的.
docker run abc ls -la
total 12
drwxr-xr-x 2 baz baz 4096 Sep 2 23:21 .
drwxr-xr-x 37 root root 4096 Sep 3 07:27 ..
-rw-rw-r-- 1 root …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用隐式参数将依赖项"注入"到我的类中,如下所示:
trait Bar {
def m:String
}
object Bar {
implicit val objBar = new Bar{ val m = "from object" }
}
trait FooTrait {
def aBar(implicit bar:Bar) = bar
def go = { aBar.m }
}
Run Code Online (Sandbox Code Playgroud)
这里编译器FooTrait从Bar伴随对象中的隐式val 提供隐式参数.这样做:
scala> println((new FooTrait{}).go)
from object
Run Code Online (Sandbox Code Playgroud)
给我我期望的结果.但是,如果我混合FooTrait和另一个特征如:
trait SuperFoo {
implicit val superBar = new Bar{ val m = "from super" }
}
Run Code Online (Sandbox Code Playgroud)
结果是一样的:
scala> println((new FooTrait with SuperFoo).go)
from object
Run Code Online (Sandbox Code Playgroud)
我认为编译器会SuperFoo在尝试通过检查Bar的伴随对象来解析隐式参数之前查看.这篇博客文章 …
我正在玩球拍/方案,它允许我重新定义例如define并将其绑定为值.
> (define define 2)
> define
2
Run Code Online (Sandbox Code Playgroud)
在该范围内,我可以使用不再定义什么define,因为它显然是必然2.这适用于所有的"关键字"我想它(if,cond等等).
但是,无法使用define指定我自己的定义函数:
> (define mydef define)
stdin::14: define: not allowed in an expression context in: define
=== context ===
/usr/share/racket/collects/racket/private/norm-define.rkt:8:4: normalize-definition
/usr/share/racket/collects/racket/private/kw.rkt:796:2
/usr/share/racket/collects/racket/private/misc.rkt:87:7
Run Code Online (Sandbox Code Playgroud)
我想还有另一种方法可以在球拍中扩展语言,以便在我想要的时候添加我自己的定义功能,但为什么这种方式不被允许?
这确实让我想知道是否有任何有效的用例重新定义define?我意识到这有点基于意见,但我正在寻找可能是合理的事情的用例(无论是否是另一回事).