对ruby来说,我正在试图找出each_with_object应该如何使用.
我试着用它来做一个非常简单的总和,所以我写道:
> (1..3).each_with_object(0) {|i,sum| sum+=i}
=> 0
Run Code Online (Sandbox Code Playgroud)
嘿,我认为结果将是6!我的错误在哪里?
好吧,这不是一个问题,因为我并没有真正"卡住"我的代码,但我发现Android API在访问外部存储和File.createTempFile()方法方面有一些奇怪的行为,而我我想了解发生了什么......
请注意我的清单不包括<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">.
第1部分 :
我有以下的代码,做工作的魅力:
File tempFile = new File(Environment.getExternalStorageDirectory(),
"my_temp_file.png");
Run Code Online (Sandbox Code Playgroud)
它为我创建了一个临时文件,我可以毫不费力地在其中写入数据.
问题1:为什么它有效,因为我不应该在SDCard上拥有写作权限?
第2部分 :
我试图改变我的代码使用createTempFile哪个是官方方法来创建临时文件.所以我试过了:
File tempFile = File.createTempFile("my_temp", "png",
Environment.getExternalStorageDirectory());
Run Code Online (Sandbox Code Playgroud)
并在manifest.xml中添加了WRITE_EXTERNAL_STORAGE.你猜怎么着 ?这不起作用,我得到一个java.io.IOException:
09-07 14:07:29.061: E/_CLOG(19982): java.io.IOException: Permission denied
09-07 14:07:29.061: E/_CLOG(19982): at java.io.File.createNewFileImpl(Native Method)
09-07 14:07:29.061: E/_CLOG(19982): at java.io.File.createNewFile(File.java:1257)
09-07 14:07:29.061: E/_CLOG(19982): at java.io.File.createTempFile(File.java:1322)
09-07 14:07:29.061: E/_CLOG(19982): at com.(...).onClick(ProfileImageUpdater.java:58)
Run Code Online (Sandbox Code Playgroud)
问题2:为什么这不起作用,而imho呢?
编辑:我改变了标题,因为问题不是我最初的想法.事实上,logstash需要一分多钟才能启动,这可能被误解为"沉默"......
我正在尝试使logstash运行,所以我按照官方网站上的说明进行独立安装:http://logstash.net/docs/1.1.4/tutorials/getting-started-simple
基本上,我得到了logstash-1.1.4-monolithic.jar文件,然后构建一个非常简单的配置文件:( example.conf)
input {
stdin { type => "stdin-type" }
}
output {
stdout { debug_format => "json" }
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行logstash时,什么都没有出来(我在STDIN中键入随机文本,但没有得到响应):
# java -jar logstash-1.1.4-monolithic.jar agent -f example.conf
Test
toto
hey ??? Wakeup !!!
^C
Run Code Online (Sandbox Code Playgroud)
(有关信息:Java版本是正确的)
# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)
拜托,有人能告诉我我错过了什么吗?
在Android Studio中,我有时必须重命名一些字段,属性或方法名称.我知道我必须选择它的名字,然后点击Alt + Shift + R. 然后我输入新名称,然后按Enter键.
然而,有时它有效,有时......它根本什么都不做.新名称将被丢弃并替换为旧名称.
有人可以解释为什么以及如何强制这个非常基本的功能工作?
我有两个日期的字符串格式,如DD/MM/YYYY.现在,我如果写的条件date1是前date2.我怎样才能做到这一点?请帮我.
我有一个服务器(让我们命名为A)可以访问互联网,我可以从officiel docker.io注册表中提取图像.
我还有其他服务器(B,C)出于安全原因不能进行相同的访问,但是可以访问A.
我还决定在A上安装一个私有注册表,可以在B和C中使用.
是否有可能让这个注册表充当代理,当我想从B中提取官方图像时,它可以通过A完成?
使用非常简单的代码:
package main
import (
"fmt"
"math"
"math/cmplx"
)
func sqrt(x float64) string {
if x < 0 {
return fmt.Sprint(cmplx.Sqrt(complex128(x)))
}
return fmt.Sprint(math.Sqrt(x))
}
func main() {
fmt.Println(sqrt(2), sqrt(-4))
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
main.go:11: cannot convert x (type float64) to type complex128
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的方法,但无法找到如何转换float64为complex128(只是为了能够cmplx.Sqrt()在负数上使用函数).
处理这个问题的正确方法是什么?
在使用 kubespray 将 Kubernetes 从 1.14 升级到 1.15 期间,我的团队在“升级第一个 master”步骤中遇到了阻塞问题,并显示以下消息:
\n\n[upgrade/apply] FATAL: couldn\'\'t upgrade control plane.\nkubeadm has tried to recover everything into the earlier state.\nErrors faced: [failed to renew certificates for component "kube-apiserver":\nfailed to renew certificate apiserver-kubelet-client:\nunable to sign certificate:\nmust specify at least one ExtKeyUsage,\nrename /etc/kubernetes/tmp/kubeadm\n-backup-manifests-2019-09-19-09-06-27/kube-apiserver.yaml /etc/kubernetes/manifests/kube-apiserver.yaml: no such file or directory]\'\nRun Code Online (Sandbox Code Playgroud)\n\n尝试隔离任务并手动运行 kubeadm 命令行会导致相同的错误消息:
\n\n#/usr/local/bin/kubeadm upgrade apply -y v1.15.3 --config=/etc/kubernetes/kubeadm-config.yaml --ignore-preflight-errors=all --allow-experimental-upgrades --allow-release-candidate-upgrades --etcd-upgrade=false -v 6 \nRun Code Online (Sandbox Code Playgroud)\n\n或者甚至尝试手动更新证书:
\n\n/etc/kubernetes/pki# kubeadm alpha certs renew apiserver-kubelet-client …Run Code Online (Sandbox Code Playgroud) 我找不到像构建数组的方法
[ [1,2,3] , [1,2,3] , [1,2,3] , [1,2,3] , [1,2,3] ]
Run Code Online (Sandbox Code Playgroud)
给定[1,2,3]和数量5.我想有某种阵列上,比如运营商product的mult,但没有在文档做的.请告诉我.我错过了很简单的事情.
我试图弄清楚为什么这样做:
$_='12+34';$x=1;
s/(\d+)(.)(\d+)/"\$x$2$2"/ee; # This is working, does $x++
print "x=$x \n"; # x=2
Run Code Online (Sandbox Code Playgroud)
虽然这不是:
$_='12+34';$x=1;
s/(\d+)(.)(\d+)/\$x$2$2/e; # This is NOT working
# Error message is :
# Scalar found where operator expected at ./test.pl line 2, near "$x$2"
# (Missing operator before $2?)
Run Code Online (Sandbox Code Playgroud)
我有勇气s/xxx/yyy/e并且s/xxx/"yyy"/ee应该表现得一样,但显然我错了.
我错过了什么?