Oh, the single underline was used in 'fry' vocab. I consider using a double underline to represent anonymous variables...
-- KUSUMOTO Norio > 2019/09/19 7:21、KUSUMOTO Norio <kusum...@na.rim.or.jp> のメール: > >> Yep, you can also use the syntax for it: >> >> << { "foo "bar" "baz" } [ create-word-in define-symbol ] each >> > > > > Thank you. > My program needs to make a symbol every time it finds '_'. > It became as follows: > > SYMBOL: *anonymouse-var-no* 0 *anonymouse-var-no* set-global > > : reset-anonymouse-var-no ( -- ) 0 *anonymouse-var-no* set-global ; > > : inc-anonymouse-var-no ( -- ) > *anonymouse-var-no* get-global 1 + *anonymouse-var-no* set-global ; > > : generate-anonymouse-var ( -- var-symbol ) > [ > inc-anonymouse-var-no > *anonymouse-var-no* get-global "ANONYMOUSE-VAR-#%d_" sprintf > "factor-logica" create-word dup dup > define-symbol > LOGIC-VAR swap set-global > ] with-compilation-unit ; > > : replace-anonymouse-vars ( before -- after ) > { > { [ dup _ = ] [ drop generate-anonymouse-var ] } > { [ dup sequence? ] [ [ replace-anonymouse-vars ] map ] } > { [ dup tuple? ] [ > [ class-of 1array ] [ tuple-slots ] bi > [ replace-anonymouse-vars ] map append >tuple ] } > [ ] > } cond ; > > -- > KUSUMOTO Norio _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk