mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-27 03:57:21 +00:00
Added examples to compare :map filter run prefix to + prefix (#6282)
* Added examples to compare :map filter run prefix to + prefix * Prefer ':and' over '+'
This commit is contained in:
parent
68095eb392
commit
6512b038c5
@ -1,5 +1,5 @@
|
||||
created: 20210618134753828
|
||||
modified: 20210618140945870
|
||||
modified: 20211125152755859
|
||||
tags: [[Filter Syntax]] [[Filter Run Prefix Examples]] [[Map Filter Run Prefix]]
|
||||
title: Map Filter Run Prefix (Examples)
|
||||
type: text/vnd.tiddlywiki
|
||||
@ -14,3 +14,28 @@ Replace the input titles with the caption field if it exists, otherwise preserve
|
||||
For each title in a shopping list, calculate the total cost of purchasing each item:
|
||||
|
||||
<<.operator-example 2 "[tag[shopping]] :map[get[quantity]else[0]multiply{!!price}]">>
|
||||
|
||||
!! Comparison between `:map` and `:and`/`+` filter run prefixes
|
||||
|
||||
The functionality of the `:map` filter run prefix has some overlap with the `:and` prefix (alias `+`). They will sometimes return the same results as each other. In at least these cases, the results will be different:
|
||||
|
||||
# The `:and` filter run can modify the number of items (either increase or decrease). The `:map` run will never alter the number of items.
|
||||
# The number of items in the `:and` filter run will also decrease due to de-duplication. The `:map` run will not de-duplicate.
|
||||
# Explicit references to the "currentTiddler" variable will behave differently
|
||||
# Implicit references to the "currentTiddler" using TextReference will behave differently.
|
||||
|
||||
| `:map` | `:and` |
|
||||
|!results are the same|<|
|
||||
|^<<.operator-example 1.1 "[range[5]] :map[add[1]]">>|^<<.operator-example 1.2 "[range[5]] :and[add[1]]">>|
|
||||
|^<<.operator-example 2.1 "[range[5]] :map[addsuffix[ hello]]">>|^<<.operator-example 2.2 "[range[5]] :and[addsuffix[ hello]]">>|
|
||||
|^<<.operator-example 3.1 "[tag[shopping]] :map[get[quantity]]">>|^<<.operator-example 3.2 "[tag[shopping]] :and[get[quantity]]">>|
|
||||
|!decrease in the number of items|<|
|
||||
|^<<.operator-example 4.1 "[range[5]] :map[sum[]]">>|^<<.operator-example 4.2 "[range[5]] :and[sum[]]">>|
|
||||
|^<<.operator-example 5.1 "[range[5]] :map[join[,]]">>|^<<.operator-example 5.2 "[range[5]] :and[join[,]]">>|
|
||||
|!increase in the number of items|<|
|
||||
|^<<.operator-example 6.1 "[[1,2,3]] [[4,5]] :map[split[,]]">>|^<<.operator-example 6.2 "[[1,2,3]] [[4,5]] :and[split[,]]">>|
|
||||
|!de-duplication|<|
|
||||
|^<<.operator-example 7.1 "[range[5]] :map[[hello]]">>|^<<.operator-example 7.2 "[range[5]] :and[[hello]]">>|
|
||||
|!currentTiddler|<|
|
||||
|^<<.operator-example 8.1 "[tag[shopping]] :map[<currentTiddler>]">>|^<<.operator-example 8.2 "[tag[shopping]] :and[<currentTiddler>]">>|
|
||||
|^<<.operator-example 9.1 "[tag[shopping]] :map[{!!quantity}]">>|^<<.operator-example 9.2 "[tag[shopping]] :and[{!!quantity}]">>|
|
||||
|
Loading…
Reference in New Issue
Block a user