это ничем не отличается от выдачи сертификатов для веб-службы: либо вы доверяете стороннему поставщику для обмена сертификатами, либо обмениваетесь напрямую с контрагентом.
Fabric - это разрешенная цепочка блоков, и здесь есть определенный уровень доверия для начала. В противном случае вы никогда не узнаете, с кем вы совершаете сделку, например, в биткойнах ethereum, где рассматривается другой вариант использования.
Perl6
.Цепочечные операторы сравнения:
if( 2 <= $x <= 5 ){
}
Оператор умного соответствия:
if( $x ~~ 2..5 ){
}
Соединения:
if( $x ~~ any 2..5 ){
}
Операторы Given / When:
given( $x ){
when 2..5 {
}
when 6..10 {
}
default{
}
}
В Perl:
if( $x >= lower_limit && $x <= upper_limit ) {
# $x is in the range
}
else {
# $x is not in the range
}
В ударе:
$ if [[ 1 -gt 2 && 1 -lt 5 ]]; then echo "true"; fi
$ if [[ 3 -gt 2 && 1 -lt 5 ]]; then echo "true"; fi
true
Умный оператор соответствия доступен в Perl 5.10, также:
if ( $x ~~ [2..5] ) {
# do something
}
В жемчуге
grep {/^$number$/} (1..25);
даст Вам истинное значение, если число будет в диапазоне и ложном значении иначе.
Например:
[dsm@localhost:~]$ perl -le 'print "has `$ARGV[0]`" if grep {/^$ARGV[0]$/} (1..25)' 4
has `4`
[dsm@localhost:~]$ perl -le 'print "has `$ARGV[0]`" if grep {/^$ARGV[0]$/} (1..25)' 456
[dsm@localhost:~]$
In Bash:
x=9; p="\<$x\>"; if [[ $(echo {10..20}) =~ $p ]]; then echo true; else echo false; fi
Edited to correctly handle conditions as noted in the comment below.
rangecheck () { local p="\<$1\>"; if [[ $(echo {10..20}) =~ $p ]]; then echo true; else echo false; fi; }
for x in {9..21}; do rangecheck "$x"; done
false
true
.
.
.
true
false