我的目的是维护一个系统,该系统考虑三个变量的值来确定将采取哪个操作。
我想重构它以使用设计模式,但找不到适合它需要的设计模式。
为了解释这种情况,我将以健身房系统为例。
每个健身房用户都有一个TYPE_OF_CONTRACT,可能是:
健身房有一些GYM_CLASSES:
每个健身房用户都有一个PHYSICAL_CONDITION
对于这三个特征的每种组合,都应该执行一组任意操作。例如:
如果是 PLATINUM_MEMBERSHIP + PERSONAL_TRAINING + OVER_65:
如果是 GOLD_MEMBERSHIP + 个人培训 + OVER_65:
如果是 SILVER_MEMBERSHIP + PERSONAL_TRAINING + OVER_65:
如果(任何会员资格)+ 步骤 + 医疗条件:
如果 PLATINUM_MEMBERSHIP + WEIGHT_LIFTING + LIMITED_MOBILITY:
等等。
特征的组合可以具有一组动作,这些动作不是排他性的并且并非所有组合都得到保证。
遗留代码使用嵌套开关作为实现。例子:
switch (contractType):
case PLATINUM_MEMBERSHIP:
switch (gymClass):
case (PERSONAL_TRAINING):
switch (physicalCondition):
case (OVER_65): …Run Code Online (Sandbox Code Playgroud) 我在 NetBeans 上看到一个消息:“if 语句是多余的”
我想知道这两个如何相等
public boolean isVowel(char in)
{
char temp = Character.toLowerCase(in);
if (temp == 'a' || temp == 'e' || temp == 'i' || temp == 'o' || temp == 'u')
{
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
和
public boolean isVowel(char in)
{
char temp = Character.toLowerCase(in);
return temp == 'a' || temp == 'e' || temp == 'i' || temp == 'o' || temp == 'u';
}
Run Code Online (Sandbox Code Playgroud)
我可以看到如果元音之一与 temp 匹配,它将如何返回 true。但是,我不知道它如何返回 false。如果没有满足任何条件,它会直接返回 …
我已经在谷歌上搜索了很多关于这个的信息。我想要实现的目标是:如果 MIME 不是特定类型,我必须检查正则表达式条件。
例如,我收到了下一条消息:
image/png, image/jpeg, document/pdf
Run Code Online (Sandbox Code Playgroud)
我只想检测document/pdf部分,它是一个 MIME 类型,一个字符串,不以 image/ 开头
但无论我多么努力地寻找、尝试和使用 RegExBody 软件,我都完全无法匹配它。
我绝望地发布这篇文章,希望也许专家正则表达式可以帮助我。
我尝试了很多方法,主要是:找出非图像类型,不管有没有。
它只是拒绝工作。我尝试了正向预测和负向预测。但我可能用错了。我无法发布这些示例,因为我已经尝试并删除了很多示例。看起来真正接近工作的是,\b(?:(?!image/\w+))\w+\b但它只是坚持选择不匹配模式的第二部分。如果我使用:image/png
它会得到:png
这意味着它仍然会返回 true,尽管我的意思是忽略image/类型。
我想将一个新的布尔字段添加到包含其他字段信息的集合中。
我的样本数据是;
{
"_id" : ObjectId("50abae61edecb53c740022eb"),
"pull_request" : {
"diff_url" : null,
"patch_url" : null,
"html_url" : null
}
}
{
"_id" : ObjectId("50abae61edecb53c740022ec"),
"pull_request" : {
"diff_url" : "https://github.com/joyent/http-parser/pull/106.diff",
"patch_url" : "https://github.com/joyent/http-parser/pull/106.patch",
"html_url" : "https://github.com/joyent/http-parser/pull/106"
},
}
Run Code Online (Sandbox Code Playgroud)
新字段是“hasPullRequest”;如果 pull_request 字段为空,则 hasPullRequest:false; 否则 hasPullRequest:true。我的意思是下面的;
{
"_id" : ObjectId("50abae61edecb53c740022eb"),
"pull_request" : {
"diff_url" : null,
"patch_url" : null,
"html_url" : null
},
"hasPullRequest" : false
}
{
"_id" : ObjectId("50abae61edecb53c740022ec"),
"pull_request" : {
"diff_url" : "https://github.com/joyent/http-parser/pull/106.diff",
"patch_url" : "https://github.com/joyent/http-parser/pull/106.patch",
"html_url" : …Run Code Online (Sandbox Code Playgroud) 我试图做一个匹配一些嵌套数组条件的 mongodb 查询,但没有成功......
文件:
[
{
"_id":1,
"name":"foo",
"games":[
{
"name":"Game1",
"data":[
{ "data_id":1, "date":"YYYMMDD" },
{ "data_id":2, "date":"YYYMMDD" }
]
},
{
"name":"Game2",
"data":[
{ "data_id":1, "date":"YYYMMDD" },
{ "data_id":2, "date":"YYYMMDD" }
]
}
]
},
{
"_id":2,
"name":"bar",
"games":[
{
"name":"Game2",
"data":[
{ "data_id":1, "date":"YYYMMDD" },
{ "data_id":2, "date":"YYYMMDD" }
]
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
我想做一个update_many,匹配以下数据:
all documents
AND ( (_id = 1 and games.name = 'Game1' and games.data.data_id = 1 ) OR (_id = 2 and games.name …Run Code Online (Sandbox Code Playgroud) 通常,如何使用三元运算符对修饰符进行条件更改是很简单的。但是当我尝试在背景修改器的两个自定义视图之间切换时,我收到此错误。如果您直接指定颜色作为替代视图,则情况并非如此。
错误:结果值在 '? :' 表达式的类型 'BackgroundView1' 和 'BackgroundView2' 不匹配
import SwiftUI
struct TestView: View {
@State var buttonPressed = false
var body: some View {
Button(action: {self.buttonPressed.toggle()}) {
Image(systemName: "circle.fill")
.background(self.buttonPressed ? BackgroundView1() : BackgroundView2()) // Error
// .background(buttonPressed ? Color.red : Color.green)
}
}
}
struct BackgroundView1: View {
var body: some View {
Color.red
}
}
struct BackgroundView2: View {
var body: some View {
Color.green
}
}
struct TestView_Previews: PreviewProvider {
static var previews: some View …Run Code Online (Sandbox Code Playgroud) 我根据两个不同的数据集训练了两个机器学习模型。然后我将它们保存为 model1.pkl 和 model2.pkl 。有两个用户输入(不是模型的输入数据),例如 x=0 和 x=1,如果 x=0 我必须使用 model1.pkl 进行预测,否则我必须使用 model2.pkl 进行预测。我可以使用 if 条件来完成它们,但我的问题是我必须知道是否有可能将其保存为 model.pkl ,包括此条件语句。如果我将它们组合起来并另存为模型,则可以轻松加载到其他 IDE 中。
考虑 Julia 中的三元运算符
julia> x = 1 ; y = 2
julia> println(x < y ? "less than" : "not less than")
less than
Run Code Online (Sandbox Code Playgroud)
问题:有没有办法省略:语句的一部分?相当于
if condition
# dosomething
end
Run Code Online (Sandbox Code Playgroud)
没有写,如果条件不满足,什么都不应该做。
syntax if-statement conditional-operator conditional-statements julia
我可以使用dplyr列名位于外部向量中的条件来选择列吗?我发现一些帖子解释了如何使用名称向量对数据框进行子集化,但当向量中的某些名称在数据框中不存在时,我找不到帖子。
library(tidyverse)
library(tibble)
library(data.table)
col_names <- c('a', 'b', 'e')
rename <- dplyr::rename
select <- dplyr::select
set.seed(10002)
a <- sample(1:20, 1000, replace=T)
set.seed(10003)
b <- sample(letters, 1000, replace=T)
set.seed(10004)
c <- sample(letters, 1000, replace=T)
data <-
data.frame(a, b, c)
# I would like to choose a, b that are in col_names vector.
Run Code Online (Sandbox Code Playgroud) print("Fazli's Vet Services\n")
print("Exam: 50")
print("Vaccinations: 25")
print("Trim Nails: 5")
print("Bath: 20\n")
exam = "exam"
vaccinations = "vaccinations"
trim_nails = "trim nails"
bath = "bath"
none = "none"
exam_price = 50
vaccination_price = 25
trim_nails_price = 5
bath_price = 20
none_price = 0
first_service = input("Select first service:")
second_service = input("Select second service:")
print("\nFazli's Vet Invoice")
if first_service == exam:
print("Service 1 - Exam: " + str(exam_price))
elif first_service == vaccinations:
print("Service 1 - Vaccinations: " + str(vaccination_price))
elif first_service …Run Code Online (Sandbox Code Playgroud)