match operator
0.2.1
PHP มีโครงสร้างการควบคุมชื่อ match ซึ่งเปิดตัวตั้งแต่ PHP8.0
มันเหมือนกับการลดความซับซ้อนของโครงสร้างการควบคุม switch
ตัวอย่าง:
$ food = ' strawberry ' ;
$ description = match ( $ food ) {
' apple ' => ' This food is an apple ' ,
' strawberry ' , ' raspberry ' => ' This food is a red fruit ' ,
}; // This food is a red fruit
$ food = ' unknown ' ;
$ description = match ( $ food ) {
' apple ' => ' This food is an apple ' ,
' strawberry ' , ' raspberry ' => ' This food is a red fruit ' ,
}; // UnhandledMatchError
$ food = ' unknown ' ;
$ description = match ( $ food ) {
' apple ' => ' This food is an apple ' ,
' strawberry ' , ' raspberry ' => ' This food is a red fruit ' ,
default => ' This food is unknown ' ,
}; // This food is unknown
แพ็คเกจนี้เป็นความพยายามในการพอร์ตโครงสร้างการควบคุมนั้นไปยังฟังก์ชัน JS ซึ่งเป็นวิธีที่ใกล้เคียงที่สุด
ตัวอย่าง:
import match from 'match-operator'
const food = 'strawberry'
const description = match ( food , [
[ 'apple' , 'This food is an apple' ] ,
[ 'strawberry' , 'raspberry' , 'This food is a red fruit' ] ,
] ) // This food is a red fruit
const food = 'unknown'
const description = match ( food , [
[ 'apple' , 'This food is an apple' ] ,
[ 'strawberry' , 'raspberry' , 'This food is a red fruit' ] ,
] ) // UnhandledMatchError
const food = 'unknown'
const description = match ( food , [
[ 'apple' , 'This food is an apple' ] ,
[ 'strawberry' , 'raspberry' , 'This food is a red fruit' ] ,
[ match . default , 'This food is unknown' ]
] ) // This food is unknown
คุณสามารถใช้อาร์เรย์ของหัวเรื่องได้หากคุณพบว่าอ่านง่ายขึ้น
const description = match ( food , [
[ [ 'strawberry' , 'raspberry' ] , 'This food is a red fruit' ] ,
] )
npm install match-operator --save # If you're using NPM
yarn add match-operator # If you're using Yarn
npm run test # If you're using NPM
yarn test # If you're using Yarn
นี่เป็นแพ็คเกจ Typescript แรกของฉัน - โปรดกรุณาด้วย!
เอ็มไอที.