小编tak*_*a15的帖子

测试字符串是否包含字符串数组中的任何内容(kotlin)

我是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 …

arrays string contains kotlin

11
推荐指数
1
解决办法
4314
查看次数

电子邮件通知失败

我正在使用phpmailer在Yii1中发送邮件.我开发的系统每天发送数千封电子邮件.通常它的工作正常,但有时系统无法发送电子邮件.邮件成功发送一段时间后(如果系统第一次无法发送电子邮件,则会再次尝试).我有时会收到不同类型的电子邮件错误.不确定如何解决这些错误:

  1. 邮寄错误:

以下发件人地址失败: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]期间发送匿名邮件

  1. 以下发件人地址失败:

test@test.com:MAIL不接受服务器

  1. SMTP错误:

数据未被接受.STP服务器错误:2.1.5收件人确定

  1. 以下发件人地址失败:

test@test.com:MAIL不接受服务器,354,开始邮件输入; 以<CRLF>结束.<CRLF> SMTP服务器错误:启动邮件输入; 以<CRLF>结束.<CRLF> SMTP服务器错误:启动邮件输入; 以<CRLF>结束.<CRLF>

  1. SMTP错误:

以下收件人失败:xxx@xxx.com

所以上面是我有时会遇到的不同类型的错误.对于#5,似乎收件人不正确,所以一个人没事.但其他人呢?怎么解决?

php email phpmailer

8
推荐指数
1
解决办法
470
查看次数

如何使用 docker-compose 环境变量填充配置文件

我是 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)

bash rabbitmq docker docker-compose

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

关于带进位标志的ARM文档的困惑

这里的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文档是否错误?我有什么误会

assembly arm compare carryflag

5
推荐指数
1
解决办法
768
查看次数