小编ago*_*dev的帖子

将值与null进行比较.为什么这是真的?

为什么是

isTRUE(NULL != 2)
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

我怎么会收到真的?

在我的实际情况中,我有变量,我想处理一些东西,如果值不同.但是,当一个值为NULL时,我不认为它们是不同的!

null r logical-operators

9
推荐指数
1
解决办法
1484
查看次数

doctrine:migrations:diff给出“在映射信息中未检测到更改”

我将学说与symfony结合使用。对于数据库设置,我使用注释。我成功创建了一个表,但是integercity我需要更改为的字段提供了错误的格式string。我的理解是,当我更改客户类中的注释时,

class Customer{

  /**
   * @ORM\Column(type="integer", nullable=true)
   * @var string city
   */
  private $city;

}
Run Code Online (Sandbox Code Playgroud)

class Customer{

  /**
   * @ORM\Column(nullable=true)
   * @var string city
   */
  private $city;

}
Run Code Online (Sandbox Code Playgroud)

然后运行

php bin/console doctrine:migrations:diff
Run Code Online (Sandbox Code Playgroud)

映射的所有更改都应被识别,并且应生成包含ALTER TABLE查询或类似查询的php文件。但是,此命令答复为“未在映射信息中检测到更改”。我想念什么?

php doctrine symfony doctrine-orm

9
推荐指数
3
解决办法
3138
查看次数

对 XPath 查询使用 XSD 架构验证

我正在使用以下代码创建一个 DOMDocument 并针对外部 xsd 文件对其进行验证。

<?php

$xmlPath = "/xml/some/file.xml";
$xsdPath = "/xsd/some/schema.xsd";
    
$doc = new \DOMDocument();
$doc->loadXML(file_get_contents($xmlPath), LIBXML_NOBLANKS);

if (!$doc>schemaValidate($xsdPath)) {
    throw new InvalidXmlFileException();
}
Run Code Online (Sandbox Code Playgroud)

更新 2(重写的问题)

这工作正常,这意味着如果 XML 与 XSD 的定义不匹配,它将抛出一个有意义的异常。

现在,我想使用 Xpath 从 DOMDocument 中检索信息。它也可以正常工作,但是,从这一点开始,DOMDocument 与 XSD 完全分离!例如,如果我有一个DOMNode,我不知道它是simpleType类型还是complexType类型。我可以检查节点是否有子节点(hasChild()),但这不一样。此外,XSD 中还有大量信息(例如,最小和最大出现次数等)。

问题真的是,我必须自己查询 XSD 还是有一种编程方式来询问这些问题。即这个DOMNode是复杂类型还是简单类型?

另一篇文章中,有人建议“使用真正的模式处理器处理模式,然后使用其 API 询问有关模式内容的问题”。XPath 是否有一个 API 来检索 XSD 的信息,或者是否有与 DOMDocument 不同的便捷方式?

为了记录,原始问题

现在,我想继续使用 XPath 解析 DOMDocument 中的信息。为了提高我存储到数据库中的数据的完整性并向客户端提供有意义的错误消息,我想不断使用模式信息来验证查询。即我想根据 xsd 中定义的允许的子节点验证获取的 childNodes。我想通过在 xsd 文档上使用 XPath 来做到这一点。

但是,我偶然发现了 …

php xml xsd domdocument xml-validation

7
推荐指数
1
解决办法
388
查看次数

如何将R中的列表与部分不同的键合并?

这应该很容易,但我发现的所有例子都有不同的目标.

我得到了这些清单:

lst1 = list(
  Plot      = TRUE,  
  Constrain = c(1:10),
  Box       = "plot" 
)

lst2 = list(
  Plot      = FALSE,
  Lib       = "custom"
)
Run Code Online (Sandbox Code Playgroud)

它存储应该覆盖默认值的默认参数(lst1)和自定义参数(lst2).我想要的结果是:

>lst
  $Plot
  [1] FALSE

  $Constrain
  [1]  1  2  3  4  5  6  7  8  9 10

  $Box
  [1] "plot"

  $Lib
  [1] "custom"
Run Code Online (Sandbox Code Playgroud)

所以:

  • lst1中存在的lst2参数将覆盖这些值
  • lst2中不存在的lst1参数将被保留
  • 将添加lst1中不存在的lst2参数

对不起,我无法弄清楚.我试过merge(),但是:

lst=merge(lst2,lst1)
Run Code Online (Sandbox Code Playgroud)

[1] Plot      Lib       Constrain Box      
<0 Zeilen> (oder row.names mit Länge 0)
Run Code Online (Sandbox Code Playgroud)

- 编辑 - fabians建议的解决方案正是我所需要的.更多:它处理嵌套列表,例如

ParametersDefault = list(  
  Plot      = list(
    Surface = TRUE, …
Run Code Online (Sandbox Code Playgroud)

merge r list

6
推荐指数
1
解决办法
102
查看次数

php的json_encode()总是使用双引号作为字符串分隔符吗?

我有一个包含字符串作为值的php关联数组,我将其编码为JSON并将其存储在html-data属性中.这是由一些JS读取的.

到现在为止还挺好.

现在,我需要为数据属性使用单引号,否则上下文切换.

<section id="settings" data-settings='{"some":"val"}'>
</section>
Run Code Online (Sandbox Code Playgroud)

问题是,我可以依靠json_encode()php 的功能来编码字符串总是用双引号?令人惊讶的是,我似乎无法找到相关信息.我只查找数组值中带引号问题的人的文章.

提前致谢.

php json

6
推荐指数
1
解决办法
4731
查看次数

如何平滑rgl情节?情节非常口吃,

这种非常简单的绘图在拖动,旋转等时会卡住.它并不慢,但是扩展正在改变,因此很难跟踪数据.这是因为轴标签在交互过程中重新定位.但是,如果我设置axis = FALSE,为什么呢?它还在四处跳跃......有什么想法吗?

library(rgl)

# has glitches during rotation, etc.
xyz = rbind(
  c(696640.9, 211180.6, 1125.691),
  c(696640.9, 211180.5, 1125.696),
  c(696640.9, 211180.1, 1125.725),
  c(696641.1, 211179.8, 1125.813)
)
plot3d(xyz, type="p", size=10)

# runs smoothly
xyz = rbind(
  c(6, 2, 1),
  c(9, 5, 6),
  c(4, 1, 5),
  c(1, 8, 3)
)
plot3d(xyz, type="p", size=10)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个'错误'?非常感谢.

此外,由于跳跃,数据本身的定位似乎已被破坏.例如,绿线以数据方式接触红线.但是对于所有视角都不一致.在此输入图像描述

编辑

使用的建议答案scale()是解决问题,plot3d()但不是为我解决问题.我添加更多的数据的情节points3d(),segments3d()以及abcline3d()其随后没有得到很好的安置.即使我scale()也使用这些函数添加的数据.

r rgl

5
推荐指数
0
解决办法
263
查看次数

设置自定义异常处理程序时,error_get_last() 在 PHP 7 中返回 NULL

好的,这需要一些时间来分解它。这里是:

有一个包含的错误脚本,它是本文其余部分的以下内容:

错误的.php

<?php
$a = 4 // missing semicolon
$b = 2;
Run Code Online (Sandbox Code Playgroud)

然后考虑以下脚本来处理错误。请注意,最初未注册自定义异常处理程序。

脚本文件

<?php

// disable default display of errors
ini_set('display_errors', 0);

// register functions
#set_exception_handler('catchException'); // initially not set
register_shutdown_function('catchError');

// define error function
function catchError(){

  echo "PHP version: ".phpversion();

  if(is_null(error_get_last())) echo "<h1>No errors fetched!</h1>";
  else                          echo "<h1>Error fetched:</h1>";

  var_dump(error_get_last());

}

// define exception function (not used in all examples)
function catchException(){}

// include faulty script
include("D:/temp/faulty.php");
Run Code Online (Sandbox Code Playgroud)

结果没有自定义异常处理程序

PHP 5 和 7 的结果是相同的。error_get_last() 函数返回最后发生的错误 ( Screenshot )。 …

php exception fatal-error

3
推荐指数
1
解决办法
1687
查看次数

Intellij 在某些变量上使用绿色背景颜色告诉我什么?

在此输入图像描述

打开userasset我就得到了这个绿色的背景。它是什么?我没有处于“突出显示事件”模式,因为我按了 ESC。

悬停给出类型(是一个界面)。

这是打字稿代码。

我检查的内容:

  • 它不是“插入符下的标识符”
  • 它不是“注入的语言片段”

intellij-idea typescript

3
推荐指数
1
解决办法
409
查看次数

将函数应用于向量的两个元素

哇,我完全失明了...我读了申请,lapply等文档,但我找不到任何东西.

假设我有一个向量

a = c(1,4,5,23,6,3,121,412,23)
Run Code Online (Sandbox Code Playgroud)

我想将函数应用于c(1,4),c(4,5),c(5,23)等.因此,得到的向量应该是长度的

length(a)-1
Run Code Online (Sandbox Code Playgroud)

我想,这很简单.甚至,我想我已经做到了.但感谢您的帮助.

我想要应用的功能基本上是斜率或导数.

感谢我现在的答案:

slope = function(p){ 
  return (p[2] - p[1])
}
foo = rollapply(a, 2, slope)
Run Code Online (Sandbox Code Playgroud)

r

2
推荐指数
1
解决办法
693
查看次数

在R中为3d点云拟合一条线

我有点云(xyz坐标),我需要适合线性模型.我以为我会用lm().

这是我试过的:

library(scatterplot3d)

# example points
x <- c(1,4,3,6,2,5)
y <- c(2,2,4,3,5,9)
z <- c(1,3,5,9,2,2)

# plot    
s <- scatterplot3d(x,y,z, type="b")

# fit the model
ff = lm(z ~ x + y) ## in ff$coefficients are the line paramters z, mx, ny

# create coordinates for a short line (the fit) to plot
llx = c(min(x), max(x))
lly = c(min(y), max(y))
llz = c(
  ff$coefficients[[1]] + llx[1] * ff$coefficients[[2]] + lly[1] * ff$coefficients[[3]],
  ff$coefficients[[1]] + llx[2] * ff$coefficients[[2]] + lly[2] …
Run Code Online (Sandbox Code Playgroud)

r

2
推荐指数
1
解决办法
1107
查看次数

找到唯一的行

这看起来很简单,但我无法弄清楚.

鉴于此数据框架

df=data.frame(
  x = c(12,12,165,165,115,148,148,155,155,521),
  y = c(54,54,122,122,215,108,108,655,655,151)  
)


 df
     x   y
1   12  54
2   12  54
3  165 122
4  165 122
5  115 215
6  148 108
7  148 108
8  155 655
9  155 655
10 521 151
Run Code Online (Sandbox Code Playgroud)

现在,我如何获得仅存在一次的行.这是第5行和第10行.行的顺序可以完全是任意的,因此检查"下一行"不是一种选择.我尝试了很多东西,但是我的data.frame没有任何工作,它有大约40k行.

我有一个解决方案在我的data.frame的子集(~1k行)上工作,需要3分钟来处理.因此,我的解决方案需要120分钟的原始data.frame,这是不合适的.有人可以帮忙吗?

r unique duplicates dataframe

2
推荐指数
1
解决办法
61
查看次数