File tree Expand file tree Collapse file tree 1 file changed +33
-1
lines changed Expand file tree Collapse file tree 1 file changed +33
-1
lines changed Original file line number Diff line number Diff line change 651
651
check_name (name) = name isa Symbol || throw (Meta. ParseError (" The lhs must be a symbol (a) or a ref (a[1:10]). Got $name ." ))
652
652
653
653
"""
654
- $(SIGNATURES)
654
+ @named y = foo(x)
655
+ @named y[1:10] = foo(x)
656
+ @named y 1:10 i -> foo(x*i)
655
657
656
658
Rewrite `@named y = foo(x)` to `y = foo(x; name=:y)`.
659
+
660
+ Rewrite `@named y[1:10] = foo(x)` to `y = map(i′->foo(x; name=Symbol(:y_, i′)), 1:10)`.
661
+
662
+ Rewrite `@named y 1:10 i -> foo(x*i)` to `y = map(i->foo(x*i; name=Symbol(:y_, i)), 1:10)`.
663
+
664
+ Examples:
665
+ ```julia
666
+ julia> using ModelingToolkit
667
+
668
+ julia> foo(i; name) = i, name
669
+ foo (generic function with 1 method)
670
+
671
+ julia> x = 41
672
+ 41
673
+
674
+ julia> @named y = foo(x)
675
+ (41, :y)
676
+
677
+ julia> @named y[1:3] = foo(x)
678
+ 3-element Vector{Tuple{Int64, Symbol}}:
679
+ (41, :y_1)
680
+ (41, :y_2)
681
+ (41, :y_3)
682
+
683
+ julia> @named y 1:3 i -> foo(x*i)
684
+ 3-element Vector{Tuple{Int64, Symbol}}:
685
+ (41, :y_1)
686
+ (82, :y_2)
687
+ (123, :y_3)
688
+ ```
657
689
"""
658
690
macro named (expr)
659
691
name, call = split_assign (expr)
You can’t perform that action at this time.
0 commit comments