diff --git a/README.md b/README.md index 48a9756..bafcdc0 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ SHA256 digest for macroArray: DF63B0E027827A82038F1C8422787A0BC569BA93104BA1778D [Documentation for macroArray](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/macroarray.md "Documentation for macroArray") -- **BasePlus**\[1.15\] adds a bunch of functionalities I am missing in BASE SAS, such as: +- **BasePlus**\[1.16\] adds a bunch of functionalities I am missing in BASE SAS, such as: ```sas call arrMissToRight(myArray); call arrFillMiss(17, myArray); @@ -164,7 +164,7 @@ format x bool.; %zipLibrary(sashelp,libOut=work) ``` -SHA256 digest for BasePlus: 0331C673052D5221DA98C5CC93295634D8A0BC62C7D2FEF9D0D85B0B2DEDE4E9 +SHA256 digest for BasePlus: 4CD3926B9842925C86B80B5B47B47BEA1FB9707826B545B9B4D52AE97BC3617E [Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus") diff --git a/packages/README.md b/packages/README.md index ffd560f..e8fc3c0 100644 --- a/packages/README.md +++ b/packages/README.md @@ -90,7 +90,7 @@ SHA256 digest for macroArray: DF63B0E027827A82038F1C8422787A0BC569BA93104BA1778D --- -- **BasePlus**\[1.15\] adds a bunch of functionalities I am missing in BASE SAS, such as: +- **BasePlus**\[1.16\] adds a bunch of functionalities I am missing in BASE SAS, such as: ```sas call arrMissToRight(myArray); call arrFillMiss(17, myArray); @@ -108,7 +108,7 @@ format x bool.; %zipLibrary(sashelp,libOut=work) ``` -SHA256 digest for BasePlus: 0331C673052D5221DA98C5CC93295634D8A0BC62C7D2FEF9D0D85B0B2DEDE4E9 +SHA256 digest for BasePlus: 4CD3926B9842925C86B80B5B47B47BEA1FB9707826B545B9B4D52AE97BC3617E [Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus") diff --git a/packages/SHA256_for_packages.txt b/packages/SHA256_for_packages.txt index 3e6c78f..20671bb 100644 --- a/packages/SHA256_for_packages.txt +++ b/packages/SHA256_for_packages.txt @@ -1,3 +1,6 @@ +/* 20220509 */ +BasePlus:4CD3926B9842925C86B80B5B47B47BEA1FB9707826B545B9B4D52AE97BC3617E + /* 20220508 */ BasePlus: 0331C673052D5221DA98C5CC93295634D8A0BC62C7D2FEF9D0D85B0B2DEDE4E9 diff --git a/packages/baseplus.md b/packages/baseplus.md index 3c24ca3..1a8e0f0 100644 --- a/packages/baseplus.md +++ b/packages/baseplus.md @@ -55,7 +55,7 @@ --- -# The BasePlus package [ver. 1.15] ############################################### +# The BasePlus package [ver. 1.16] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -272,7 +272,7 @@ Package contains: *SAS package generated by generatePackage, version 20220420* The SHA256 hash digest for package BasePlus: -`0331C673052D5221DA98C5CC93295634D8A0BC62C7D2FEF9D0D85B0B2DEDE4E9` +`4CD3926B9842925C86B80B5B47B47BEA1FB9707826B545B9B4D52AE97BC3617E` --- # Content description ############################################################################################ @@ -3593,23 +3593,6 @@ The `%LDSN()` macro executes like a pure macro code. `%ldsn(work.test)`, `%ldsn( work.test)`, `%ldsn(work.test )`, `%ldsn(work .test)`, `%ldsn(work. test)`, `%ldsn(work . test)`. -- if the user want to add an extra suffix to the dataset the `%ldsn()` macro - **has** to be wrapped inside the `%unquote()` macro function. -~~~~~~~~~~~~~~~~~~~~~~~sas -data - %unquote(%LDSN(WORK.some strange! DS name))_1 - %unquote(%LDSN(WORK.some strange! DS name))_2 -; - set sashelp.class; - - if SEX="M" then output %unquote(%LDSN(WORK.some strange! DS name))_1; - else output %unquote(%LDSN(WORK.some strange! DS name))_2; -run; -~~~~~~~~~~~~~~~~~~~~~~~ - The reason for this is a "bug" like behaviour of SAS tokenizer/macroprocesor. - See the following SAS-L discussion thread: - `https://listserv.uga.edu/scripts/wa-UGA.exe?A2=SAS-L;4b2bcf80.2205A&S=` - - macro calls of the form: `data %LDSN(); run;`, `data %LDSN( ); run;`, `data %LDSN( . ); run;` or even `data %LDSN( . (keep=x)); run;` are resolved to empty string, so the result is @@ -3671,23 +3654,6 @@ The `%LVarNm()` macro executes like a pure macro code. e.g. the following will give the same hash digest: `%LVarNm(test)`, `%LVarNm( test)`, `%LVarNm(test )`. -- if the user want to add an extra suffix to the variable, - e.g. to get a numerical suffix, the `%LVarNm()` macro - **has** to be wrapped inside the `%unquote()` macro function. -~~~~~~~~~~~~~~~~~~~~~~~sas -data test4; - array X[*] %unquote(%LVarNm(some strange! name))_0 - %unquote(%LVarNm(some strange! name))_10; - - do i = lbound(X) to hbound(X); - X[i] = 2**(i-1); - put X[i]=; - end; -run; -~~~~~~~~~~~~~~~~~~~~~~~ - The reason for this is a "bug" like behaviour of SAS tokenizer/macroprocesor. - See the following SAS-L discussion thread: - `https://listserv.uga.edu/scripts/wa-UGA.exe?A2=SAS-L;4b2bcf80.2205A&S=` - ### SYNTAX: ################################################################### The basic syntax is the following, the `<...>` means optional parameters: @@ -3751,7 +3717,7 @@ run; **EXAMPLE 4.** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas data test4; - array X[*] %unquote(%LVarNm(some strange! name))_0 - %unquote(%LVarNm(some strange! name))_10; + array X[*] %LVarNm(some strange! name)_0 - %LVarNm(some strange! name)_10; do i = lbound(X) to hbound(X); X[i] = 2**(i-1); diff --git a/packages/baseplus.zip b/packages/baseplus.zip index 311f4f8..18e626a 100644 Binary files a/packages/baseplus.zip and b/packages/baseplus.zip differ