پرسوجو encoding/query
خواندن و ساختن رشتهی پرسوجوی نشانی وب، مثل q=سلام&page=2.
واردسازی کدگذاری.پرسوجو
رشتهی پرسوجو بخش بعد از ? در نشانی وب است. یک کلید ممکن است چند بار بیاید، مثل tag=a&tag=b؛ برای همین نگاشت پرسوجو برای هر کلید فهرستی از مقدارها نگه میدارد و ترتیب کلیدها را هم حفظ میکند.
روالهایی مثل مقدار و دارد مستقیم روی رشته کار میکنند و برای یک بار خواندن مناسباند.
گونهها
گزینههای پرسوجو QueryOptions
ساختار گزینههای پرسوجو| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| space_as_plus | space_as_plus | منطقی = درست | فاصله به + تبدیل شود؛ پیشفرض درست. اگر نادرست باشد، %20 نوشته میشود. |
واردسازی کدگذاری.پرسوجو
روال ریشه:
متن := "q=%D8%B3%D9%84%D8%A7%D9%85&page=2&tag=a&tag=b&empty="
سرچاپ پرسوجو.مقدار(متن، "q")، پرسوجو.مقدار(متن، "page")، پرسوجو.دارد(متن، "empty")، پرسوجو.دارد(متن، "x")
سرچاپ پرسوجو.همه مقدارها(متن، "tag")
ناپایا ن := پرسوجو.کدگشایی(متن)
سرچاپ پرسوجو.اندازه(ن)، پرسوجو.کلیدها(ن)
پرسوجو.افزودن(ن، "tag"، "c")
پرسوجو.تنظیم(ن، "page"، "3")
سرچاپ پرسوجو.حذف(ن، "empty")
سرچاپ پرسوجو.کدگذاری(ن)
ناپایا نگه := وکتور {} برگردان وکتور<رشته>
نگه.بیفزا("q")
پرسوجو.نگه داشتن(ن، نگه)
سرچاپ پرسوجو.کدگذاری(ن)
گ := پرسوجو.گزینههای پرسوجو {}
سرچاپ پرسوجو.کدگذاری سفارشی(پرسوجو.کدگشایی سفارشی("b=2&a=1"، گ)، گ)
خالی := پرسوجو.نگاشت پرسوجو جدید()
سرچاپ پرسوجو.اندازه(خالی)
پایانمقدارهای پرسوجو QueryValues
ساختار مقدارهای پرسوجو| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<رشته> | مقدارها، به ترتیب. |
نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
نگاشت پرسوجو QueryMap
ساختار نگاشت پرسوجو| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| data | data | نگاشت<رشته، مقدارهای پرسوجو> | مقدارهای هر کلید. |
| order | order | وکتور<رشته> | کلیدها به ترتیب نخستین ظهور. |
نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
روالها
نگاشت پرسوجو جدید NewQueryMap
روال نگاشت پرسوجو جدید(): نگاشت پرسوجونمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
کدگشایی سفارشی DecodeWith
روال کدگشایی سفارشی(qs: رشته، opts: گزینههای پرسوجو): نگاشت پرسوجونمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
کدگشایی Decode
روال کدگشایی(qs: رشته): نگاشت پرسوجو+ برگردانده میشوند.نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
کدگذاری سفارشی EncodeWith
روال کدگذاری سفارشی(values: نگاشت پرسوجو، opts: گزینههای پرسوجو): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
کدگذاری Encode
روال کدگذاری(values: نگاشت پرسوجو): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
همه مقدارها GetAll
روال همه مقدارها(qs: رشته، key: رشته): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
مقدار Get
روال مقدار(qs: رشته، key: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
دارد Has
روال دارد(qs: رشته، key: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
اندازه Size
روال اندازه(m: نگاشت پرسوجو): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
افزودن Add
روال افزودن(values &: نگاشت پرسوجو، key: رشته، val: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
تنظیم Set
روال تنظیم(values &: نگاشت پرسوجو، key: رشته، val: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
کلیدها Keys
روال کلیدها(values: نگاشت پرسوجو): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
حذف Remove
روال حذف(values &: نگاشت پرسوجو، key: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam
نگه داشتن Retain
روال نگه داشتن(values &: نگاشت پرسوجو، keep: وکتور<رشته>)نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-query-Query.salam