1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-06-25 06:32:58 +00:00

Relax the restriction on the let widget being unable to create variables starting with a dollar

This commit is contained in:
jeremy@jermolene.com 2022-10-01 09:47:26 +01:00
parent 81e4745c56
commit 1df4c29d73
2 changed files with 7 additions and 6 deletions

View File

@ -51,11 +51,9 @@ LetWidget.prototype.computeAttributes = function() {
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) { $tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {
var value = self.computeAttribute(attribute), var value = self.computeAttribute(attribute),
name = attribute.name; name = attribute.name;
if(name.charAt(0) !== "$") {
// Now that it's prepped, we're allowed to look this variable up // Now that it's prepped, we're allowed to look this variable up
// when defining later variables // when defining later variables
self.currentValueFor[name] = value; self.currentValueFor[name] = value;
}
}); });
// Run through again, setting variables and looking for differences // Run through again, setting variables and looking for differences
$tw.utils.each(this.currentValueFor,function(value,name) { $tw.utils.each(this.currentValueFor,function(value,name) {

View File

@ -1,5 +1,6 @@
title: LetWidget title: LetWidget
created: 20211028115900000 created: 20211028115900000
modified: 20221001094658854
tags: Widgets tags: Widgets
caption: let caption: let
@ -12,10 +13,12 @@ caption: let
The content of the <<.wid let>> widget is the scope for the value assigned to the variable. The content of the <<.wid let>> widget is the scope for the value assigned to the variable.
|!Attribute |!Description | |!Attribute |!Description |
|//{attributes not starting with $}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable | |//{attributes}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable |
Attributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate. Attributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate.
<<.note """<<.from-version "5.2.4">> There is no longer any restriction on using variable names that start with the $ character.""">>
! Examples ! Examples
Consider a case where you need to set multiple variables, where some depend on the evaluation of others. Consider a case where you need to set multiple variables, where some depend on the evaluation of others.