我们有一个带有BEGIN和END标记的字符串列表作为此列表的一部分.我们可以在函数式编程风格中过滤出BEGIN-END之间的元素吗?我只是在scala中使用这种常规(标记)方法出来了.
val list1 =
"""992
1010
1005
1112
BEGIN
1086
1244
1107
1121
END
1223
1312
1319
1306
1469""".lines.toList
var flag = false
val filteredList = list1.filter{
def f(x: String): Boolean = {
if (x.contains("BEGIN")) {
flag = true;
return false
} else if (x.contains("END")) {
flag = false
}
flag
}
f
}
Run Code Online (Sandbox Code Playgroud)
这有可能避免定义标志变量吗?他们如何用纯函数式语言解决这个问题?
如何在NSString中扩展宏?我有以下代码:
#define MAX_MESSAGE_LENGTH 2000
NSString *alertTxt = @"Your message exceeded MAX_MESSAGE_LENGTH characters";
Run Code Online (Sandbox Code Playgroud)
正如您可以预测的那样,"我的消息超出了MAX_MESSAGE_LENGTH个字符",而不是"您的消息超过2000个字符".有没有办法让我的MAX_MESSAGE_LENGTH扩展到字符串中?