问题描述
//f1 & f2 are float vars between 0 & 1
switch value {
case 0...f1:
break
case >f1..f1+f2:
break
case >f1+f2..<=1:
break
default:
break
}
解决方法
不可能在Swift中创建一个在低端打开的范围。
这将实现您的预期目标:
upstream mysite {
# Path to Unicorn SOCK file,as defined previously
server unix:/home/rails/mysite/shared/sockets/unicorn.sock fail_timeout=0;
}
server {
server_name mysite.com;
root /home/rails/mysite;
index index.htm index.html;
location / {
try_files $uri/index.html $uri.html $uri @mysite;
}
location @mysite {
proxy_pass http://mysite;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Ssl on; # Optional
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Host $host;
proxy_redirect off;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = mysite) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name mysite.es;
return 404; # managed by Certbot
}
[1]: https://stackoverflow.com/questions/63522807/nginx-does-not-pass-some-files-to-unicorn
由于switch value {
case 0...f1:
print("one")
case f1...(f1 + f2):
print("two")
case (f1 + f2)...1:
print("three")
default:
print("four")
}
与找到的第一个switch
相匹配,因此您不必担心在低端不具有包容性。 case
会与f1
情况相匹配,因此"one"
情况也包括它都没关系。
如果您想将第一种情况排除在"two"
之外,可以这样写:
0
或
case let x where 0...f1 ~= x && x != 0: