我尝试在Matlab脚本中编写递归内联匿名函数.
这是一个MWE:
funR = @(x) [x(1) funR(x(2:end))];
funR(0:5);
Run Code Online (Sandbox Code Playgroud)
但是这引发了以下异常:
未定义的函数或变量'funR'.
这在函数文件中运行时有效,但在脚本中运行时则无效.这是因为Matlab确实以不同方式阅读了这些内容
我对这个MWE的预期结果是:
[0, 1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
怎么做对了?
目标是将funR定义为内联函数,因此两个或更多行解决方案不是我想要的.如果这个或MWE有任何意义,请忽略,这不是这个问题的重点.
我通常对 Java 语言的设计非常满意,但今天我遇到了一个奇怪的设计选择。我不知道有哪个平台可以建议对版本 9 或 10 的 Java 语言进行更改,因此我在这里写下这个问题。
使用Options,如果值为 ,您可以更好地控制行为null。
今天我将流中的值映射到Optional. 我真的很惊讶,这findFirst给了我一个Optional<Optional<T>>而不是仅仅Optional<T>.
拥有的意义在哪里Optional<Optional<T>>?
对于 Java 9 和 Streams,这个问题可以解决,.flatMap(Optional::stream)但这只是一个解决方法和样板代码。
如果可选项通常不会堆叠并且总是平放,那不是更好吗?
Optional<Optional<T>> => Optional<T>
Optional.of(Optional.of("")) => Optional.of("")
Run Code Online (Sandbox Code Playgroud)
进一步解释:
使用可选值时,您不关心子可选值是否为 null 或者实际对象是否为null。它总是会归结为Optional.empty()。
String s = null;
Optional<String> opt = null;
Optional.of(s) => Optional.empty()
Optional.of(opt) => Optional.empty()
Run Code Online (Sandbox Code Playgroud)
此外,如果您正在使用选项,您只对对象感兴趣。因此,如果您尝试获取对象,则始终必须双重获取并检查可选内容。
if(optionalOfOptional.isPresent()) {
optional = optionalOfOptional.get();
if(optional.isPresent()) {
objectOfInterest = optional.get();
}
}
Run Code Online (Sandbox Code Playgroud)
我什至认为这是错误的来源,因为如果您以对象存在为条件,则始终需要检查这两个选项。
if(optionalOfOptional.isPresent() && optionalOfOptional.get().isPresent()) { …Run Code Online (Sandbox Code Playgroud) 目前,请求方法接收一个编码令牌作为参数(该令牌是一个String,但不是 JSON 或类似的东西)。然后该令牌被解码为数据类。
@GetMapping(value = "/api/xyz")
public ResponseEntity<XYZ> xyz(@NotBlank String token) {
Data data = Token.parse(token);
...
}
Run Code Online (Sandbox Code Playgroud)
是否可以编写类似于@RequestBody将参数转换为其他内容的注释?
该请求应该看起来像这样:
@GetMapping(value = "/api/xyz")
public ResponseEntity<XYZ> xyz(@TokenParser Data data) {
...
}
Run Code Online (Sandbox Code Playgroud)
token该类/注释应包含将( )转换为我的数据类所需的代码String。请求方法应该仅将转换后的数据类作为参数。
在张量流中,可以使用切片符号选择每第 n 个项目[::n]。
但如何反其道而行之呢?我想选择除第 n 个之外的所有项目。
例如:
a = [1, 2, 3, 4, 5, 6, 7, 8]
Run Code Online (Sandbox Code Playgroud)
a[2::3]会导致[3, 6]
现在我想要相反的:[1, 2, 4, 5, 7, 8]
上面的数组只是一个例子。解决方案应该适用于张量流中尺寸[批量、宽度、高度、通道]的更大矩阵。选择仅在通道上完成。我的矩阵还包含非唯一的实值。我也无法将其重塑为二维以下 ( [batch, channels])
python multidimensional-array tensorflow tensor tensor-indexing
我正在通过 pyright 使用严格的类型检查。
当我有一个返回 pytorch 的方法时,DataLoaderpyright 会抱怨我的类型定义:
声明的返回类型“DataLoader[Unknown]”部分未知 Pyright (reportUnknownVariableType)
看一下 pytorch 的类型存根DataLoader(减少到重要部分):
class DataLoader(Generic[T_co]):
dataset: Dataset[T_co]
@overload
def __init__(self, dataset: Dataset[T_co], ...
Run Code Online (Sandbox Code Playgroud)
据我所看到的,通用型T_co的DataLoader应该由定义__init__数据集参数。
Pyright 还抱怨我的Dataset类型定义:
参数“数据集”的类型部分未知参数类型为“数据集[未知]”Pyright (reportUnknownParameterType)
看一下Dataset类型存根:
class Dataset(Generic[T_co]):
def __getitem__(self, index: int) -> T_co: ...
Run Code Online (Sandbox Code Playgroud)
向我表明该类型应该由__getitem__.
我的数据集的类型签名__getitem__如下所示:
def __getitem__(self, index: int) -> Tuple[Tensor, Tensor]:
Run Code Online (Sandbox Code Playgroud)
基于此,我希望Dataset并被DataLoader推断为Dataset[Tuple[Tensor, Tensor]],DataLoader[Tuple[Tensor, Tensor]]但事实并非如此。
我的猜测是 pyright 无法静态推断这里的类型。
我以为我可以像这样定义我自己的类型签名: …
基础:
据我所知,到目前为止,我必须使用OLAP服务器作为MDX查询和SQL数据库之间的连接器,以提供XMLA作为数据源.因此我想使用Mondrian OLAP服务器.
题:
现在我需要启动Mondrian OLAP服务器,将其连接到PostgreSQL数据库并提供OLAP架构.
我找不到任何一步一步的指南或任何有用的蒙德里安文件.这对我来说都是一片大云.
我试图反序列化String到LocalDateTime杰克逊,但它不工作。
我有一个带有LocalDateTime字段的数据类:
@Data
public class Registration {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime timestamp;
}
Run Code Online (Sandbox Code Playgroud)
我添加了特殊的Jackson数据类型模块:
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
Run Code Online (Sandbox Code Playgroud)
序列化在以下情况下可以正常工作:
new ObjectMapper().registerModule(new JavaTimeModule()).writeValueAsString(registration);
Run Code Online (Sandbox Code Playgroud)
结果字符串:
{"timestamp":"2018-09-03 10:09:35"}
Run Code Online (Sandbox Code Playgroud)
但是反序列化不适用于:
new ObjectMapper().registerModule(new JavaTimeModule()).readValue(json.traverse(), Registration.class)
Run Code Online (Sandbox Code Playgroud)
作为错误我得到:
Cannot deserialize value of type `java.time.LocalDateTime` from String "2018-09-03 10:09:35":
Failed to deserialize java.time.LocalDateTime:
(java.time.format.DateTimeParseException) Text '2018-09-03 10:09:35' could not be parsed:
Unable to obtain LocalDateTime from TemporalAccessor:
{MinuteOfHour=9, NanoOfSecond=0, SecondOfMinute=35, MicroOfSecond=0, MilliOfSecond=0, HourOfAmPm=10},
ISO resolved to 2018-09-03 of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)
我想念什么?我对序列化有效,但反序列化无效却感到困惑。
MWE …
根据我的理解,.gitattributes与.gitignore. 如果我在 中定义了一个过滤器.gitattributes,这个过滤器就会生效并且文件将被传输到 LFS。
在每个 GIT LFS 相关文档(官方文档、stackoverflow 答案等)中,建议运行git lfs track.
难道git lfs track做任何事情比过滤写.gitattributes?
我有一个二维欧几里德空间.给出了三点.
例如(p2是中间点):
Point2D p1 = new Point2D.Double(177, 289);
Point2D p2 = new Point2D.Double(178, 290);
Point2D p3 = new Point2D.Double(178, 291);
Run Code Online (Sandbox Code Playgroud)
现在我想计算这三个点的曲率.
double curvature = calculateCurvature(p1, p2, p3);
Run Code Online (Sandbox Code Playgroud)
这该怎么做?我有一个现有的方法(没有java外部库)?
我正在做一个小游戏.当游戏第一次启动时,我在SharedPreferences中以秒为单位保存自1970年1月1日以来的时间.
现在我想以这种形式在屏幕上显示这个日期:DD.MM.YYYYY
我使用了日历功能,但它返回02.04.0113所以,缺少1900年.
这是我的代码:
private void initBornTXT() {
SharedPreferences pref = getSharedPreferences("LIFE", 0);
long born = pref.getLong("BIRTHDAY", 0);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(0);
c.add(Calendar.SECOND, (int)born);
int year = c.getTime().getYear();
int month = c.getTime().getMonth();
int day = c.getTime().getDay();
String string_born = String.format("%02d.%02d.%04d", day, month, year);
TextView born_txt = (TextView)findViewById(R.id.textViewBorn);
born_txt.setText(string_born);
}
Run Code Online (Sandbox Code Playgroud)
怎么可能错了?
我有一个现有的dict,它将单个值映射到列表.我想反转这个字典并从原始键上的每个列表条目映射.列表条目是唯一的.
鉴于:
dict { 1: ['a', 'b'], 2: ['c'] }
Run Code Online (Sandbox Code Playgroud)
结果:
dict { 'a' : 1, 'b' : 1, 'c' : 2 }
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
java ×5
python ×3
android ×1
calendar ×1
curve ×1
dictionary ×1
flatten ×1
git ×1
git-lfs ×1
inline ×1
jackson ×1
json ×1
mapping ×1
matlab ×1
mondrian ×1
option-type ×1
point ×1
postgresql ×1
pyright ×1
python-3.x ×1
recursion ×1
request ×1
rolap ×1
spring-boot ×1
tensor ×1
tensorflow ×1
typing ×1
xmla ×1