我是Kotlin的新手(我有Java背景),我似乎无法弄清楚如何检查字符串是否包含关键字列表中的匹配项.
我想要做的是检查一个字符串是否包含一组关键字的匹配(请不区分大小写).如果是,请打印出匹配的关键字和包含该关键字的字符串.(我将循环遍历文件中的一堆字符串).
以下是初学者的MVE:
val keywords = arrayOf("foo", "bar", "spam")
fun search(content: String) {
var match = <return an array of the keywords that content contained>
if(match.size > 0) {
println("Found match(es): " + match + "\n" + content)
}
}
fun main(args: Array<String>) {
var str = "I found food in the barn"
search(str) //should print out that foo and bar were a match
}
Run Code Online (Sandbox Code Playgroud)
作为一个开始(这忽略'匹配'变量并获得匹配关键字列表),我尝试使用以下if语句根据我在此问题中找到的,
if(Arrays.stream(keywords).parallel().anyMatch(content::contains))
Run Code Online (Sandbox Code Playgroud)
但它在"内容"下面放了一条波浪线,给了我这个错误
使用提供的参数不能调用以下函数:public operator fun CharSequence.contains(char:Char,ignoreCase:Boolean = ...):在kotlin.text中定义的布尔值公共运算符fun CharSequence.contains(其他:CharSequence, ignoreCase:Boolean …
我正在使用phpmailer在Yii1中发送邮件.我开发的系统每天发送数千封电子邮件.通常它的工作正常,但有时系统无法发送电子邮件.邮件成功发送一段时间后(如果系统第一次无法发送电子邮件,则会再次尝试).我有时会收到不同类型的电子邮件错误.不确定如何解决这些错误:
以下发件人地址失败:test@test.com:MAIL不接受服务器,xxxx SMTP; 客户端未通过身份验证,以便在MAIL FROM [MWHPR11CA0017.namprd11.prod.outlook.com] SMTP服务器错误期间发送匿名邮件:5.7.57 SMTP; 客户端未通过身份验证,无法在MAIL FROM [MWHPR11CA0017.namprd11.prod.outlook.com]期间发送匿名邮件
test@test.com:MAIL不接受服务器
数据未被接受.STP服务器错误:2.1.5收件人确定
test@test.com:MAIL不接受服务器,354,开始邮件输入; 以<CRLF>结束.<CRLF> SMTP服务器错误:启动邮件输入; 以<CRLF>结束.<CRLF> SMTP服务器错误:启动邮件输入; 以<CRLF>结束.<CRLF>
以下收件人失败:xxx@xxx.com
所以上面是我有时会遇到的不同类型的错误.对于#5,似乎收件人不正确,所以一个人没事.但其他人呢?怎么解决?
我是 docker-compose 的新手。
我试图了解如何通过 docker-compose 传递环境变量,以在Dockerfile构建阶段填充配置文件中缺少的变量值,因此在运行阶段,我将运行该服务 -rabbitmq其配置填充了 env变量值。
在 docker-compose yml 文件中,我有一个env_file:和environment:,问题是如何将它们转发以填充配置文件。
当然,如果有任何帮助、想法和简单的例子,我们将不胜感激。
示例rabbitmq配置文件(带有环境变量,需要填充$SSL_PORT的值):
[{rabbit,
[
{loopback_users, []},
{ssl_listeners, [$SSL_PORT]},
{ssl_options, [{cacertfile,"/etc/rabbitmq/ca/cacert.pem"},
{certfile,"/etc/rabbitmq/server/cert.pem"},
{keyfile,"/etc/rabbitmq/server/key.pem"},
{verify,verify_none},
{fail_if_no_peer_cert,false}]}
]}
].
Run Code Online (Sandbox Code Playgroud) 在这里的ARM文档中,它表示:
进位发生:
...如果减法的结果是正数或零...
我从这个关于SO的答案中知道,当存在无符号下溢时(即被减去(subtrahend)的数字大于从(被减数)减去的数字),进位标志设置为减法。
因此,请考虑以下示例:
r1 = 5
r2 = 10
CMP r1, r2
Run Code Online (Sandbox Code Playgroud)
比较(CMP)做减法这里提到,然后设置相应的标志。在这种情况下,r1-r2 = 5-10 = -5。由于此处未签名下溢(5 <10),因此我们希望设置进位标志。但是根据ARM文档,结果(-5)不是正数或零,因此,不应设置进位标志。(假设我们查看签名的结果;否则根据文档将不会发生进位)。
ARM文档是否错误?我有什么误会