diff options
author | Li Jin <dragon-fly@qq.com> | 2024-08-10 22:04:38 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2024-08-10 22:04:38 +0800 |
commit | a3bde93c37e59d8d0e47d61bfde9b28a95eded89 (patch) | |
tree | d849a74407b6dc082b644f58d4d5de164309b30f | |
parent | 0731d4fce42ba2f13c4d8f8ecba1680f79d48065 (diff) | |
download | yuescript-a3bde93c37e59d8d0e47d61bfde9b28a95eded89.tar.gz yuescript-a3bde93c37e59d8d0e47d61bfde9b28a95eded89.tar.bz2 yuescript-a3bde93c37e59d8d0e47d61bfde9b28a95eded89.zip |
update docs.
-rwxr-xr-x | doc/docs/doc/README.md | 781 | ||||
-rwxr-xr-x | doc/docs/zh/doc/README.md | 773 |
2 files changed, 1554 insertions, 0 deletions
diff --git a/doc/docs/doc/README.md b/doc/docs/doc/README.md index 378e0f4..f6aebfc 100755 --- a/doc/docs/doc/README.md +++ b/doc/docs/doc/README.md | |||
@@ -3575,6 +3575,787 @@ print i, k -- these have been updated | |||
3575 | </pre> | 3575 | </pre> |
3576 | </YueDisplay> | 3576 | </YueDisplay> |
3577 | 3577 | ||
3578 | ## The Yuescript Library | ||
3579 | |||
3580 | Access it by `require("yue")`. | ||
3581 | |||
3582 | ### yue | ||
3583 | |||
3584 | **Description:** | ||
3585 | |||
3586 | The Yuescript language library. | ||
3587 | |||
3588 | #### version | ||
3589 | |||
3590 | **Type:** Field. | ||
3591 | |||
3592 | **Description:** | ||
3593 | |||
3594 | The Yuescript version. | ||
3595 | |||
3596 | **Signature:** | ||
3597 | ```lua | ||
3598 | version: string | ||
3599 | ``` | ||
3600 | |||
3601 | #### dirsep | ||
3602 | |||
3603 | **Type:** Field. | ||
3604 | |||
3605 | **Description:** | ||
3606 | |||
3607 | The file separator for the current platform. | ||
3608 | |||
3609 | **Signature:** | ||
3610 | ```lua | ||
3611 | dirsep: string | ||
3612 | ``` | ||
3613 | |||
3614 | #### yue_compiled | ||
3615 | |||
3616 | **Type:** Field. | ||
3617 | |||
3618 | **Description:** | ||
3619 | |||
3620 | The compiled module code cache. | ||
3621 | |||
3622 | **Signature:** | ||
3623 | ```lua | ||
3624 | yue_compiled: {string: string} | ||
3625 | ``` | ||
3626 | |||
3627 | #### to_lua | ||
3628 | |||
3629 | **Type:** Function. | ||
3630 | |||
3631 | **Description:** | ||
3632 | |||
3633 | The Yuescript compiling function. It compiles the Yuescript code to Lua code. | ||
3634 | |||
3635 | **Signature:** | ||
3636 | ```lua | ||
3637 | to_lua: function(code: string, config?: Config): | ||
3638 | --[[codes]] string | nil, | ||
3639 | --[[error]] string | nil, | ||
3640 | --[[globals]] {{string, integer, integer}} | nil | ||
3641 | ``` | ||
3642 | |||
3643 | **Parameters:** | ||
3644 | |||
3645 | | Parameter | Type | Description | | ||
3646 | | --- | --- | --- | | ||
3647 | | code | string | The Yuescript code. | | ||
3648 | | config | Config | [Optional] The compiler options. | | ||
3649 | |||
3650 | **Returns:** | ||
3651 | |||
3652 | | Return Type | Description | | ||
3653 | | --- | --- | | ||
3654 | | string \| nil | The compiled Lua code, or nil if the compilation failed. | | ||
3655 | | string \| nil | The error message, or nil if the compilation succeeded. | | ||
3656 | | \{\{string, integer, integer}} \| nil | The global variables appearing in the code (with name, row and column), or nil if the compiler option `lint_global` is false. | | ||
3657 | |||
3658 | #### file_exist | ||
3659 | |||
3660 | **Type:** Function. | ||
3661 | |||
3662 | **Description:** | ||
3663 | |||
3664 | The source file existence checking function. Can be overridden to customize the behavior. | ||
3665 | |||
3666 | **Signature:** | ||
3667 | ```lua | ||
3668 | file_exist: function(filename: string): boolean | ||
3669 | ``` | ||
3670 | |||
3671 | **Parameters:** | ||
3672 | |||
3673 | | Parameter | Type | Description | | ||
3674 | | --- | --- | --- | | ||
3675 | | filename | string | The file name. | | ||
3676 | |||
3677 | **Returns:** | ||
3678 | |||
3679 | | Return Type | Description | | ||
3680 | | --- | --- | | ||
3681 | | boolean | Whether the file exists. | | ||
3682 | |||
3683 | #### read_file | ||
3684 | |||
3685 | **Type:** Function. | ||
3686 | |||
3687 | **Description:** | ||
3688 | |||
3689 | The source file reading function. Can be overridden to customize the behavior. | ||
3690 | |||
3691 | **Signature:** | ||
3692 | ```lua | ||
3693 | read_file: function(filename: string): string | ||
3694 | ``` | ||
3695 | |||
3696 | **Parameters:** | ||
3697 | |||
3698 | | Parameter | Type | Description | | ||
3699 | | --- | --- | --- | | ||
3700 | | filename | string | The file name. | | ||
3701 | |||
3702 | **Returns:** | ||
3703 | |||
3704 | | Return Type | Description | | ||
3705 | | --- | --- | | ||
3706 | | string | The file content. | | ||
3707 | |||
3708 | #### insert_loader | ||
3709 | |||
3710 | **Type:** Function. | ||
3711 | |||
3712 | **Description:** | ||
3713 | |||
3714 | Insert the Yuescript loader to the package loaders (searchers). | ||
3715 | |||
3716 | **Signature:** | ||
3717 | ```lua | ||
3718 | insert_loader: function(pos?: integer): boolean | ||
3719 | ``` | ||
3720 | |||
3721 | **Parameters:** | ||
3722 | |||
3723 | | Parameter | Type | Description | | ||
3724 | | --- | --- | --- | | ||
3725 | | pos | integer | [Optional] The position to insert the loader. Default is 3. | | ||
3726 | |||
3727 | **Returns:** | ||
3728 | |||
3729 | | Return Type | Description | | ||
3730 | | --- | --- | | ||
3731 | | boolean | Whether the loader is inserted successfully. It will fail if the loader is already inserted. | | ||
3732 | |||
3733 | #### remove_loader | ||
3734 | |||
3735 | **Type:** Function. | ||
3736 | |||
3737 | **Description:** | ||
3738 | |||
3739 | Remove the Yuescript loader from the package loaders (searchers). | ||
3740 | |||
3741 | **Signature:** | ||
3742 | ```lua | ||
3743 | remove_loader: function(): boolean | ||
3744 | ``` | ||
3745 | |||
3746 | **Returns:** | ||
3747 | |||
3748 | | Return Type | Description | | ||
3749 | | --- | --- | | ||
3750 | | boolean | Whether the loader is removed successfully. It will fail if the loader is not inserted. | | ||
3751 | |||
3752 | #### loadstring | ||
3753 | |||
3754 | **Type:** Function. | ||
3755 | |||
3756 | **Description:** | ||
3757 | |||
3758 | Loads Yuescript code from a string into a function. | ||
3759 | |||
3760 | **Signature:** | ||
3761 | ```lua | ||
3762 | loadstring: function(input: string, chunkname: string, env: table, config?: Config): | ||
3763 | --[[loaded function]] nil | function(...: any): (any...), | ||
3764 | --[[error]] string | nil | ||
3765 | ``` | ||
3766 | |||
3767 | **Parameters:** | ||
3768 | |||
3769 | | Parameter | Type | Description | | ||
3770 | | --- | --- | --- | | ||
3771 | | input | string | The Yuescript code. | | ||
3772 | | chunkname | string | The name of the code chunk. | | ||
3773 | | env | table | The environment table. | | ||
3774 | | config | Config | [Optional] The compiler options. | | ||
3775 | |||
3776 | **Returns:** | ||
3777 | |||
3778 | | Return Type | Description | | ||
3779 | | --- | --- | | ||
3780 | | function \| nil | The loaded function, or nil if the loading failed. | | ||
3781 | | string \| nil | The error message, or nil if the loading succeeded. | | ||
3782 | |||
3783 | #### loadstring | ||
3784 | |||
3785 | **Type:** Function. | ||
3786 | |||
3787 | **Description:** | ||
3788 | |||
3789 | Loads Yuescript code from a string into a function. | ||
3790 | |||
3791 | **Signature:** | ||
3792 | ```lua | ||
3793 | loadstring: function(input: string, chunkname: string, config?: Config): | ||
3794 | --[[loaded function]] nil | function(...: any): (any...), | ||
3795 | --[[error]] string | nil | ||
3796 | ``` | ||
3797 | |||
3798 | **Parameters:** | ||
3799 | |||
3800 | | Parameter | Type | Description | | ||
3801 | | --- | --- | --- | | ||
3802 | | input | string | The Yuescript code. | | ||
3803 | | chunkname | string | The name of the code chunk. | | ||
3804 | | config | Config | [Optional] The compiler options. | | ||
3805 | |||
3806 | **Returns:** | ||
3807 | |||
3808 | | Return Type | Description | | ||
3809 | | --- | --- | | ||
3810 | | function \| nil | The loaded function, or nil if the loading failed. | | ||
3811 | | string \| nil | The error message, or nil if the loading succeeded. | | ||
3812 | |||
3813 | #### loadstring | ||
3814 | |||
3815 | **Type:** Function. | ||
3816 | |||
3817 | **Description:** | ||
3818 | |||
3819 | Loads Yuescript code from a string into a function. | ||
3820 | |||
3821 | **Signature:** | ||
3822 | ```lua | ||
3823 | loadstring: function(input: string, config?: Config): | ||
3824 | --[[loaded function]] nil | function(...: any): (any...), | ||
3825 | --[[error]] string | nil | ||
3826 | ``` | ||
3827 | |||
3828 | **Parameters:** | ||
3829 | |||
3830 | | Parameter | Type | Description | | ||
3831 | | --- | --- | --- | | ||
3832 | | input | string | The Yuescript code. | | ||
3833 | | config | Config | [Optional] The compiler options. | | ||
3834 | |||
3835 | **Returns:** | ||
3836 | |||
3837 | | Return Type | Description | | ||
3838 | | --- | --- | | ||
3839 | | function \| nil | The loaded function, or nil if the loading failed. | | ||
3840 | | string \| nil | The error message, or nil if the loading succeeded. | | ||
3841 | |||
3842 | #### loadfile | ||
3843 | |||
3844 | **Type:** Function. | ||
3845 | |||
3846 | **Description:** | ||
3847 | |||
3848 | Loads Yuescript code from a file into a function. | ||
3849 | |||
3850 | **Signature:** | ||
3851 | ```lua | ||
3852 | loadfile: function(filename: string, env: table, config?: Config): | ||
3853 | nil | function(...: any): (any...), | ||
3854 | string | nil | ||
3855 | ``` | ||
3856 | |||
3857 | **Parameters:** | ||
3858 | |||
3859 | | Parameter | Type | Description | | ||
3860 | | --- | --- | --- | | ||
3861 | | filename | string | The file name. | | ||
3862 | | env | table | The environment table. | | ||
3863 | | config | Config | [Optional] The compiler options. | | ||
3864 | |||
3865 | **Returns:** | ||
3866 | |||
3867 | | Return Type | Description | | ||
3868 | | --- | --- | | ||
3869 | | function \| nil | The loaded function, or nil if the loading failed. | | ||
3870 | | string \| nil | The error message, or nil if the loading succeeded. | | ||
3871 | |||
3872 | #### loadfile | ||
3873 | |||
3874 | **Type:** Function. | ||
3875 | |||
3876 | **Description:** | ||
3877 | |||
3878 | Loads Yuescript code from a file into a function. | ||
3879 | |||
3880 | **Signature:** | ||
3881 | ```lua | ||
3882 | loadfile: function(filename: string, config?: Config): | ||
3883 | nil | function(...: any): (any...), | ||
3884 | string | nil | ||
3885 | ``` | ||
3886 | |||
3887 | **Parameters:** | ||
3888 | |||
3889 | | Parameter | Type | Description | | ||
3890 | | --- | --- | --- | | ||
3891 | | filename | string | The file name. | | ||
3892 | | config | Config | [Optional] The compiler options. | | ||
3893 | |||
3894 | **Returns:** | ||
3895 | |||
3896 | | Return Type | Description | | ||
3897 | | --- | --- | | ||
3898 | | function \| nil | The loaded function, or nil if the loading failed. | | ||
3899 | | string \| nil | The error message, or nil if the loading succeeded. | | ||
3900 | |||
3901 | #### dofile | ||
3902 | |||
3903 | **Type:** Function. | ||
3904 | |||
3905 | **Description:** | ||
3906 | |||
3907 | Loads Yuescript code from a file into a function and executes it. | ||
3908 | |||
3909 | **Signature:** | ||
3910 | ```lua | ||
3911 | dofile: function(filename: string, env: table, config?: Config): any... | ||
3912 | ``` | ||
3913 | |||
3914 | **Parameters:** | ||
3915 | |||
3916 | | Parameter | Type | Description | | ||
3917 | | --- | --- | --- | | ||
3918 | | filename | string | The file name. | | ||
3919 | | env | table | The environment table. | | ||
3920 | | config | Config | [Optional] The compiler options. | | ||
3921 | |||
3922 | **Returns:** | ||
3923 | |||
3924 | | Return Type | Description | | ||
3925 | | --- | --- | | ||
3926 | | any... | The return values of the loaded function. | | ||
3927 | |||
3928 | #### dofile | ||
3929 | |||
3930 | **Type:** Function. | ||
3931 | |||
3932 | **Description:** | ||
3933 | |||
3934 | Loads Yuescript code from a file into a function and executes it. | ||
3935 | |||
3936 | **Signature:** | ||
3937 | ```lua | ||
3938 | dofile: function(filename: string, config?: Config): any... | ||
3939 | ``` | ||
3940 | |||
3941 | **Parameters:** | ||
3942 | |||
3943 | | Parameter | Type | Description | | ||
3944 | | --- | --- | --- | | ||
3945 | | filename | string | The file name. | | ||
3946 | | config | Config | [Optional] The compiler options. | | ||
3947 | |||
3948 | **Returns:** | ||
3949 | |||
3950 | | Return Type | Description | | ||
3951 | | --- | --- | | ||
3952 | | any... | The return values of the loaded function. | | ||
3953 | |||
3954 | #### find_modulepath | ||
3955 | |||
3956 | **Type:** Function. | ||
3957 | |||
3958 | **Description:** | ||
3959 | |||
3960 | Resolves the Yuescript module name to the file path. | ||
3961 | |||
3962 | **Signature:** | ||
3963 | ```lua | ||
3964 | find_modulepath: function(name: string): string | ||
3965 | ``` | ||
3966 | |||
3967 | **Parameters:** | ||
3968 | |||
3969 | | Parameter | Type | Description | | ||
3970 | | --- | --- | --- | | ||
3971 | | name | string | The module name. | | ||
3972 | |||
3973 | **Returns:** | ||
3974 | |||
3975 | | Return Type | Description | | ||
3976 | | --- | --- | | ||
3977 | | string | The file path. | | ||
3978 | |||
3979 | #### pcall | ||
3980 | |||
3981 | **Type:** Function. | ||
3982 | |||
3983 | **Description:** | ||
3984 | |||
3985 | Calls a function in protected mode. | ||
3986 | Catches any errors and returns a status code and results or error object. | ||
3987 | Rewrites the error line number to the original line number in the Yuescript code when errors occur. | ||
3988 | |||
3989 | **Signature:** | ||
3990 | ```lua | ||
3991 | pcall: function(f: function, ...: any): boolean, any... | ||
3992 | ``` | ||
3993 | |||
3994 | **Parameters:** | ||
3995 | |||
3996 | | Parameter | Type | Description | | ||
3997 | | --- | --- | --- | | ||
3998 | | f | function | The function to call. | | ||
3999 | | ... | any | Arguments to pass to the function. | | ||
4000 | |||
4001 | **Returns:** | ||
4002 | |||
4003 | | Return Type | Description | | ||
4004 | | --- | --- | | ||
4005 | | boolean, ... | Status code and function results or error object. | | ||
4006 | |||
4007 | #### require | ||
4008 | |||
4009 | **Type:** Function. | ||
4010 | |||
4011 | **Description:** | ||
4012 | |||
4013 | Loads a given module. Can be either a Lua module or a Yuescript module. | ||
4014 | Rewrites the error line number to the original line number in the Yuescript code if the module is a Yuescript module and loading fails. | ||
4015 | |||
4016 | **Signature:** | ||
4017 | ```lua | ||
4018 | require: function(name: string): any... | ||
4019 | ``` | ||
4020 | |||
4021 | **Parameters:** | ||
4022 | |||
4023 | | Parameter | Type | Description | | ||
4024 | | --- | --- | --- | | ||
4025 | | modname | string | The name of the module to load. | | ||
4026 | |||
4027 | **Returns:** | ||
4028 | |||
4029 | | Return Type | Description | | ||
4030 | | --- | --- | | ||
4031 | | any | The value stored at package.loaded[modname] if the module is already loaded.Otherwise, tries to find a loader and returns the final value of package.loaded[modname] and a loader data as a second result. | | ||
4032 | |||
4033 | #### p | ||
4034 | |||
4035 | **Type:** Function. | ||
4036 | |||
4037 | **Description:** | ||
4038 | |||
4039 | Inspects the structures of the passed values and prints string representations. | ||
4040 | |||
4041 | **Signature:** | ||
4042 | ```lua | ||
4043 | p: function(...: any) | ||
4044 | ``` | ||
4045 | |||
4046 | **Parameters:** | ||
4047 | |||
4048 | | Parameter | Type | Description | | ||
4049 | | --- | --- | --- | | ||
4050 | | ... | any | The values to inspect. | | ||
4051 | |||
4052 | #### options | ||
4053 | |||
4054 | **Type:** Field. | ||
4055 | |||
4056 | **Description:** | ||
4057 | |||
4058 | The current compiler options. | ||
4059 | |||
4060 | **Signature:** | ||
4061 | ```lua | ||
4062 | options: Config.Options | ||
4063 | ``` | ||
4064 | |||
4065 | #### traceback | ||
4066 | |||
4067 | **Type:** Function. | ||
4068 | |||
4069 | **Description:** | ||
4070 | |||
4071 | The traceback function that rewrites the stack trace line numbers to the original line numbers in the Yuescript code. | ||
4072 | |||
4073 | **Signature:** | ||
4074 | ```lua | ||
4075 | traceback: function(message: string): string | ||
4076 | ``` | ||
4077 | |||
4078 | **Parameters:** | ||
4079 | |||
4080 | | Parameter | Type | Description | | ||
4081 | | --- | --- | --- | | ||
4082 | | message | string | The traceback message. | | ||
4083 | |||
4084 | **Returns:** | ||
4085 | |||
4086 | | Return Type | Description | | ||
4087 | | --- | --- | | ||
4088 | | string | The rewritten traceback message. | | ||
4089 | |||
4090 | #### is_ast | ||
4091 | |||
4092 | **Type:** Function. | ||
4093 | |||
4094 | **Description:** | ||
4095 | |||
4096 | Checks whether the code matches the specified AST. | ||
4097 | |||
4098 | **Signature:** | ||
4099 | ```lua | ||
4100 | is_ast: function(astName: string, code: string): boolean | ||
4101 | ``` | ||
4102 | |||
4103 | **Parameters:** | ||
4104 | |||
4105 | | Parameter | Type | Description | | ||
4106 | | --- | --- | --- | | ||
4107 | | astName | string | The AST name. | | ||
4108 | | code | string | The code. | | ||
4109 | |||
4110 | **Returns:** | ||
4111 | |||
4112 | | Return Type | Description | | ||
4113 | | --- | --- | | ||
4114 | | boolean | Whether the code matches the AST. | | ||
4115 | |||
4116 | #### AST | ||
4117 | |||
4118 | **Type:** Field. | ||
4119 | |||
4120 | **Description:** | ||
4121 | |||
4122 | The AST type definition with name, row, column and sub nodes. | ||
4123 | |||
4124 | **Signature:** | ||
4125 | ```lua | ||
4126 | type AST = {string, integer, integer, any} | ||
4127 | ``` | ||
4128 | |||
4129 | #### to_ast | ||
4130 | |||
4131 | **Type:** Function. | ||
4132 | |||
4133 | **Description:** | ||
4134 | |||
4135 | Converts the code to the AST. | ||
4136 | |||
4137 | **Signature:** | ||
4138 | ```lua | ||
4139 | to_ast: function(code: string, flattenLevel?: number, astName?: string): | ||
4140 | --[[AST]] AST | nil, | ||
4141 | --[[error]] nil | string | ||
4142 | ``` | ||
4143 | |||
4144 | **Parameters:** | ||
4145 | |||
4146 | | Parameter | Type | Description | | ||
4147 | | --- | --- | --- | | ||
4148 | | code | string | The code. | | ||
4149 | | flattenLevel | integer | [Optional] The flatten level. Higher level means more flattening. Default is 0. Maximum is 2. | | ||
4150 | | astName | string | [Optional] The AST name. Default is "File". | | ||
4151 | |||
4152 | **Returns:** | ||
4153 | |||
4154 | | Return Type | Description | | ||
4155 | | --- | --- | | ||
4156 | | AST \| nil | The AST, or nil if the conversion failed. | | ||
4157 | | string \| nil | The error message, or nil if the conversion succeeded. | | ||
4158 | |||
4159 | #### __call | ||
4160 | |||
4161 | **Type:** Metamethod. | ||
4162 | |||
4163 | **Description:** | ||
4164 | |||
4165 | Requires the Yuescript module. | ||
4166 | Rewrites the error line number to the original line number in the Yuescript code when loading fails. | ||
4167 | |||
4168 | **Signature:** | ||
4169 | ```lua | ||
4170 | metamethod __call: function(self: yue, module: string): any... | ||
4171 | ``` | ||
4172 | |||
4173 | **Parameters:** | ||
4174 | |||
4175 | | Parameter | Type | Description | | ||
4176 | | --- | --- | --- | | ||
4177 | | module | string | The module name. | | ||
4178 | |||
4179 | **Returns:** | ||
4180 | |||
4181 | | Return Type | Description | | ||
4182 | | --- | --- | | ||
4183 | | any | The module value. | | ||
4184 | |||
4185 | ### Config | ||
4186 | |||
4187 | **Description:** | ||
4188 | |||
4189 | The compiler compile options. | ||
4190 | |||
4191 | #### lint_global | ||
4192 | |||
4193 | **Type:** Field. | ||
4194 | |||
4195 | **Description:** | ||
4196 | |||
4197 | Whether the compiler should collect the global variables appearing in the code. | ||
4198 | |||
4199 | **Signature:** | ||
4200 | ```lua | ||
4201 | lint_global: boolean | ||
4202 | ``` | ||
4203 | |||
4204 | #### implicit_return_root | ||
4205 | |||
4206 | **Type:** Field. | ||
4207 | |||
4208 | **Description:** | ||
4209 | |||
4210 | Whether the compiler should do an implicit return for the root code block. | ||
4211 | |||
4212 | **Signature:** | ||
4213 | ```lua | ||
4214 | implicit_return_root: boolean | ||
4215 | ``` | ||
4216 | |||
4217 | #### reserve_line_number | ||
4218 | |||
4219 | **Type:** Field. | ||
4220 | |||
4221 | **Description:** | ||
4222 | |||
4223 | Whether the compiler should reserve the original line number in the compiled code. | ||
4224 | |||
4225 | **Signature:** | ||
4226 | ```lua | ||
4227 | reserve_line_number: boolean | ||
4228 | ``` | ||
4229 | |||
4230 | #### space_over_tab | ||
4231 | |||
4232 | **Type:** Field. | ||
4233 | |||
4234 | **Description:** | ||
4235 | |||
4236 | Whether the compiler should use the space character instead of the tab character in the compiled code. | ||
4237 | |||
4238 | **Signature:** | ||
4239 | ```lua | ||
4240 | space_over_tab: boolean | ||
4241 | ``` | ||
4242 | |||
4243 | #### same_module | ||
4244 | |||
4245 | **Type:** Field. | ||
4246 | |||
4247 | **Description:** | ||
4248 | |||
4249 | Whether the compiler should treat the code to be compiled as the same currently being compiled module. For internal use only. | ||
4250 | |||
4251 | **Signature:** | ||
4252 | ```lua | ||
4253 | same_module: boolean | ||
4254 | ``` | ||
4255 | |||
4256 | #### line_offset | ||
4257 | |||
4258 | **Type:** Field. | ||
4259 | |||
4260 | **Description:** | ||
4261 | |||
4262 | Whether the compiler error message should include the line number offset. For internal use only. | ||
4263 | |||
4264 | **Signature:** | ||
4265 | ```lua | ||
4266 | line_offset: integer | ||
4267 | ``` | ||
4268 | |||
4269 | #### yue.Config.LuaTarget | ||
4270 | |||
4271 | **Type:** Enumeration. | ||
4272 | |||
4273 | **Description:** | ||
4274 | |||
4275 | The target Lua version enumeration. | ||
4276 | |||
4277 | **Signature:** | ||
4278 | ```lua | ||
4279 | enum LuaTarget | ||
4280 | "5.1" | ||
4281 | "5.2" | ||
4282 | "5.3" | ||
4283 | "5.4" | ||
4284 | "5.5" | ||
4285 | end | ||
4286 | ``` | ||
4287 | |||
4288 | #### options | ||
4289 | |||
4290 | **Type:** Field. | ||
4291 | |||
4292 | **Description:** | ||
4293 | |||
4294 | The extra options to be passed to the compilation function. | ||
4295 | |||
4296 | **Signature:** | ||
4297 | ```lua | ||
4298 | options: Options | ||
4299 | ``` | ||
4300 | |||
4301 | ### Options | ||
4302 | |||
4303 | **Description:** | ||
4304 | |||
4305 | The extra compiler options definition. | ||
4306 | |||
4307 | #### target | ||
4308 | |||
4309 | **Type:** Field. | ||
4310 | |||
4311 | **Description:** | ||
4312 | |||
4313 | The target Lua version for the compilation. | ||
4314 | |||
4315 | **Signature:** | ||
4316 | ```lua | ||
4317 | target: LuaTarget | ||
4318 | ``` | ||
4319 | |||
4320 | #### path | ||
4321 | |||
4322 | **Type:** Field. | ||
4323 | |||
4324 | **Description:** | ||
4325 | |||
4326 | The extra module search path. | ||
4327 | |||
4328 | **Signature:** | ||
4329 | ```lua | ||
4330 | path: string | ||
4331 | ``` | ||
4332 | |||
4333 | #### dump_locals | ||
4334 | |||
4335 | **Type:** Field. | ||
4336 | |||
4337 | **Description:** | ||
4338 | |||
4339 | Whether to dump the local variables in the traceback error message. Default is false. | ||
4340 | |||
4341 | **Signature:** | ||
4342 | ```lua | ||
4343 | dump_locals: boolean | ||
4344 | ``` | ||
4345 | |||
4346 | #### simplified | ||
4347 | |||
4348 | **Type:** Field. | ||
4349 | |||
4350 | **Description:** | ||
4351 | |||
4352 | Whether to simplify the error message. Default is true. | ||
4353 | |||
4354 | **Signature:** | ||
4355 | ```lua | ||
4356 | simplified: boolean | ||
4357 | ``` | ||
4358 | |||
3578 | ## Licence: MIT | 4359 | ## Licence: MIT |
3579 | 4360 | ||
3580 | Copyright (c) 2024 Li Jin | 4361 | Copyright (c) 2024 Li Jin |
diff --git a/doc/docs/zh/doc/README.md b/doc/docs/zh/doc/README.md index 90d1820..871edd2 100755 --- a/doc/docs/zh/doc/README.md +++ b/doc/docs/zh/doc/README.md | |||
@@ -3531,6 +3531,779 @@ print i, k -- 这些已经被更新 | |||
3531 | </pre> | 3531 | </pre> |
3532 | </YueDisplay> | 3532 | </YueDisplay> |
3533 | 3533 | ||
3534 | ## 月之脚本语言库 | ||
3535 | |||
3536 | 使用`require("yue")`来访问。 | ||
3537 | |||
3538 | ### yue | ||
3539 | |||
3540 | **描述:** | ||
3541 | |||
3542 | 月之脚本语言库。 | ||
3543 | |||
3544 | #### version | ||
3545 | |||
3546 | **类型:** 成员变量。 | ||
3547 | |||
3548 | **描述:** | ||
3549 | |||
3550 | 月之脚本版本。 | ||
3551 | |||
3552 | **签名:** | ||
3553 | ```tl | ||
3554 | version: string | ||
3555 | ``` | ||
3556 | |||
3557 | #### dirsep | ||
3558 | |||
3559 | **类型:** 成员变量。 | ||
3560 | |||
3561 | **描述:** | ||
3562 | |||
3563 | 当前平台的文件分隔符。 | ||
3564 | |||
3565 | **签名:** | ||
3566 | ```tl | ||
3567 | dirsep: string | ||
3568 | ``` | ||
3569 | |||
3570 | #### yue_compiled | ||
3571 | |||
3572 | **类型:** 成员变量。 | ||
3573 | |||
3574 | **描述:** | ||
3575 | |||
3576 | 编译模块代码缓存。 | ||
3577 | |||
3578 | **签名:** | ||
3579 | ```tl | ||
3580 | yue_compiled: {string: string} | ||
3581 | ``` | ||
3582 | |||
3583 | #### to_lua | ||
3584 | |||
3585 | **类型:** 函数。 | ||
3586 | |||
3587 | **描述:** | ||
3588 | |||
3589 | 月之脚本的编译函数。它将 Yuescript 代码编译为 Lua 代码。 | ||
3590 | |||
3591 | **签名:** | ||
3592 | ```tl | ||
3593 | to_lua: function(code: string, config?: Config): | ||
3594 | --[[codes]] string | nil, | ||
3595 | --[[error]] string | nil, | ||
3596 | --[[globals]] {{string, integer, integer}} | nil | ||
3597 | ``` | ||
3598 | |||
3599 | **参数:** | ||
3600 | |||
3601 | | 参数名 | 类型 | 描述 | | ||
3602 | | --- | --- | --- | | ||
3603 | | code | string | Yuescript 代码。 | | ||
3604 | | config | Config | [可选] 编译器选项。 | | ||
3605 | |||
3606 | **返回值:** | ||
3607 | |||
3608 | | 返回类型 | 描述 | | ||
3609 | | --- | --- | | ||
3610 | | string \| nil | 编译后的 Lua 代码,如果编译失败则为 nil。 | | ||
3611 | | string \| nil | 错误消息,如果编译成功则为 nil。 | | ||
3612 | | \{\{string, integer, integer}} \| nil | 代码中出现的全局变量(带有名称、行和列),如果编译器选项 `lint_global` 为 false 则为 nil。 | | ||
3613 | |||
3614 | #### file_exist | ||
3615 | |||
3616 | **类型:** 函数。 | ||
3617 | |||
3618 | **描述:** | ||
3619 | |||
3620 | 检查源文件是否存在的函数。可以覆盖该函数以自定义行为。 | ||
3621 | |||
3622 | **签名:** | ||
3623 | ```tl | ||
3624 | file_exist: function(filename: string): boolean | ||
3625 | ``` | ||
3626 | |||
3627 | **参数:** | ||
3628 | |||
3629 | | 参数名 | 类型 | 描述 | | ||
3630 | | --- | --- | --- | | ||
3631 | | filename | string | 文件名。 | | ||
3632 | |||
3633 | **返回值:** | ||
3634 | |||
3635 | | 返回类型 | 描述 | | ||
3636 | | --- | --- | | ||
3637 | | boolean | 文件是否存在。 | | ||
3638 | |||
3639 | #### read_file | ||
3640 | |||
3641 | **类型:** 函数。 | ||
3642 | |||
3643 | **描述:** | ||
3644 | |||
3645 | 读取源文件的函数。可以覆盖该函数以自定义行为。 | ||
3646 | |||
3647 | **签名:** | ||
3648 | ```tl | ||
3649 | read_file: function(filename: string): string | ||
3650 | ``` | ||
3651 | |||
3652 | **参数:** | ||
3653 | |||
3654 | | 参数名 | 类型 | 描述 | | ||
3655 | | --- | --- | --- | | ||
3656 | | filename | string | 文件名。 | | ||
3657 | |||
3658 | **返回值:** | ||
3659 | |||
3660 | | 返回类型 | 描述 | | ||
3661 | | --- | --- | | ||
3662 | | string | 文件内容。 | | ||
3663 | |||
3664 | #### insert_loader | ||
3665 | |||
3666 | **类型:** 函数。 | ||
3667 | |||
3668 | **描述:** | ||
3669 | |||
3670 | 将 Yuescript 加载器插入到 Lua 包加载器(搜索器)中。 | ||
3671 | |||
3672 | **签名:** | ||
3673 | ```tl | ||
3674 | insert_loader: function(pos?: integer): boolean | ||
3675 | ``` | ||
3676 | |||
3677 | **参数:** | ||
3678 | |||
3679 | | 参数名 | 类型 | 描述 | | ||
3680 | | --- | --- | --- | | ||
3681 | | pos | integer | [可选] 要插入加载器的位置。默认为 3。 | | ||
3682 | |||
3683 | **返回值:** | ||
3684 | |||
3685 | | 返回类型 | 描述 | | ||
3686 | | --- | --- | | ||
3687 | | boolean | 是否成功插入加载器。如果加载器已经插入,则返回失败。 | | ||
3688 | |||
3689 | #### remove_loader | ||
3690 | |||
3691 | **类型:** 函数。 | ||
3692 | |||
3693 | **描述:** | ||
3694 | |||
3695 | 从 Lua 包加载器(搜索器)中移除 Yuescript 加载器。 | ||
3696 | |||
3697 | **签名:** | ||
3698 | ```tl | ||
3699 | remove_loader: function(): boolean | ||
3700 | ``` | ||
3701 | |||
3702 | **返回值:** | ||
3703 | |||
3704 | | 返回类型 | 描述 | | ||
3705 | | --- | --- | | ||
3706 | | boolean | 是否成功移除加载器。如果加载器未插入,则返回失败。 | | ||
3707 | |||
3708 | #### loadstring | ||
3709 | |||
3710 | **类型:** 函数。 | ||
3711 | |||
3712 | **描述:** | ||
3713 | |||
3714 | 将 Yuescript 代码字符串加载为一个函数。 | ||
3715 | |||
3716 | **签名:** | ||
3717 | ```tl | ||
3718 | loadstring: function(input: string, chunkname: string, env: table, config?: Config): | ||
3719 | --[[loaded function]] nil | function(...: any): (any...), | ||
3720 | --[[error]] string | nil | ||
3721 | ``` | ||
3722 | |||
3723 | **参数:** | ||
3724 | |||
3725 | | 参数名 | 类型 | 描述 | | ||
3726 | | --- | --- | --- | | ||
3727 | | input | string | Yuescript 代码。 | | ||
3728 | | chunkname | string | 代码块的名称。 | | ||
3729 | | env | table | 环境表。 | | ||
3730 | | config | Config | [可选] 编译器选项。 | | ||
3731 | |||
3732 | **返回值:** | ||
3733 | |||
3734 | | 返回类型 | 描述 | | ||
3735 | | --- | --- | | ||
3736 | | function \| nil | 加载的函数,如果加载失败则为 nil。 | | ||
3737 | | string \| nil | 错误消息,如果加载成功则为 nil。 | | ||
3738 | |||
3739 | #### loadstring | ||
3740 | |||
3741 | **类型:** 函数。 | ||
3742 | |||
3743 | **描述:** | ||
3744 | |||
3745 | 将 Yuescript 代码字符串加载为一个函数。 | ||
3746 | |||
3747 | **签名:** | ||
3748 | ```tl | ||
3749 | loadstring: function(input: string, chunkname: string, config?: Config): | ||
3750 | --[[loaded function]] nil | function(...: any): (any...), | ||
3751 | --[[error]] string | nil | ||
3752 | ``` | ||
3753 | |||
3754 | **参数:** | ||
3755 | |||
3756 | | 参数名 | 类型 | 描述 | | ||
3757 | | --- | --- | --- | | ||
3758 | | input | string | Yuescript 代码。 | | ||
3759 | | chunkname | string | 代码块的名称。 | | ||
3760 | | config | Config | [可选] 编译器选项。 | | ||
3761 | |||
3762 | **返回值:** | ||
3763 | |||
3764 | | 返回类型 | 描述 | | ||
3765 | | --- | --- | | ||
3766 | | function \| nil | 加载的函数,如果加载失败则为 nil。 | | ||
3767 | | string \| nil | 错误消息,如果加载成功则为 nil。 | | ||
3768 | |||
3769 | #### loadstring | ||
3770 | |||
3771 | **类型:** 函数。 | ||
3772 | |||
3773 | **描述:** | ||
3774 | |||
3775 | 将 Yuescript 代码字符串加载为一个函数。 | ||
3776 | |||
3777 | **签名:** | ||
3778 | ```tl | ||
3779 | loadstring: function(input: string, config?: Config): | ||
3780 | --[[loaded function]] nil | function(...: any): (any...), | ||
3781 | --[[error]] string | nil | ||
3782 | ``` | ||
3783 | |||
3784 | **参数:** | ||
3785 | |||
3786 | | 参数名 | 类型 | 描述 | | ||
3787 | | --- | --- | --- | | ||
3788 | | input | string | Yuescript 代码。 | | ||
3789 | | config | Config | [可选] 编译器选项。 | | ||
3790 | |||
3791 | **返回值:** | ||
3792 | |||
3793 | | 返回类型 | 描述 | | ||
3794 | | --- | --- | | ||
3795 | | function \| nil | 加载的函数,如果加载失败则为 nil。 | | ||
3796 | | string \| nil | 错误消息,如果加载成功则为 nil。 | | ||
3797 | |||
3798 | #### loadfile | ||
3799 | |||
3800 | **类型:** 函数。 | ||
3801 | |||
3802 | **描述:** | ||
3803 | |||
3804 | 将 Yuescript 代码文件加载为一个函数。 | ||
3805 | |||
3806 | **签名:** | ||
3807 | ```tl | ||
3808 | loadfile: function(filename: string, env: table, config?: Config): | ||
3809 | nil | function(...: any): (any...), | ||
3810 | string | nil | ||
3811 | ``` | ||
3812 | |||
3813 | **参数:** | ||
3814 | |||
3815 | | 参数名 | 类型 | 描述 | | ||
3816 | | --- | --- | --- | | ||
3817 | | filename | string | 文件名。 | | ||
3818 | | env | table | 环境表。 | | ||
3819 | | config | Config | [可选] 编译器选项。 | | ||
3820 | |||
3821 | **返回值:** | ||
3822 | |||
3823 | | 返回类型 | 描述 | | ||
3824 | | --- | --- | | ||
3825 | | function \| nil | 加载的函数,如果加载失败则为 nil。 | | ||
3826 | | string \| nil | 错误消息,如果加载成功则为 nil。 | | ||
3827 | |||
3828 | #### loadfile | ||
3829 | |||
3830 | **类型:** 函数。 | ||
3831 | |||
3832 | **描述:** | ||
3833 | |||
3834 | 将 Yuescript 代码文件加载为一个函数。 | ||
3835 | |||
3836 | **签名:** | ||
3837 | ```tl | ||
3838 | loadfile: function(filename: string, config?: Config): | ||
3839 | nil | function(...: any): (any...), | ||
3840 | string | nil | ||
3841 | ``` | ||
3842 | |||
3843 | **参数:** | ||
3844 | |||
3845 | | 参数名 | 类型 | 描述 | | ||
3846 | | --- | --- | --- | | ||
3847 | | filename | string | 文件名。 | | ||
3848 | | config | Config | [可选] 编译器选项。 | | ||
3849 | |||
3850 | **返回值:** | ||
3851 | |||
3852 | | 返回类型 | 描述 | | ||
3853 | | --- | --- | | ||
3854 | | function \| nil | 加载的函数,如果加载失败则为 nil。 | | ||
3855 | | string \| nil | 错误消息,如果加载成功则为 nil。 | | ||
3856 | |||
3857 | #### dofile | ||
3858 | |||
3859 | **类型:** 函数。 | ||
3860 | |||
3861 | **描述:** | ||
3862 | |||
3863 | 将 Yuescript 代码文件加载为一个函数并执行。 | ||
3864 | |||
3865 | **签名:** | ||
3866 | ```tl | ||
3867 | dofile: function(filename: string, env: table, config?: Config): any... | ||
3868 | ``` | ||
3869 | |||
3870 | **参数:** | ||
3871 | |||
3872 | | 参数名 | 类型 | 描述 | | ||
3873 | | --- | --- | --- | | ||
3874 | | filename | string | 文件名。 | | ||
3875 | | env | table | 环境表。 | | ||
3876 | | config | Config | [可选] 编译器选项。 | | ||
3877 | |||
3878 | **返回值:** | ||
3879 | |||
3880 | | 返回类型 | 描述 | | ||
3881 | | --- | --- | | ||
3882 | | any... | 加载的函数执行后的返回值。 | | ||
3883 | |||
3884 | #### dofile | ||
3885 | |||
3886 | **类型:** 函数。 | ||
3887 | |||
3888 | **描述:** | ||
3889 | |||
3890 | 将 Yuescript 代码文件加载为一个函数并执行。 | ||
3891 | |||
3892 | **签名:** | ||
3893 | ```tl | ||
3894 | dofile: function(filename: string, config?: Config): any... | ||
3895 | ``` | ||
3896 | |||
3897 | **参数:** | ||
3898 | |||
3899 | | 参数名 | 类型 | 描述 | | ||
3900 | | --- | --- | --- | | ||
3901 | | filename | string | 文件名。 | | ||
3902 | | config | Config | [可选] 编译器选项。 | | ||
3903 | |||
3904 | **返回值:** | ||
3905 | |||
3906 | | 返回类型 | 描述 | | ||
3907 | | --- | --- | | ||
3908 | | any... | 加载的函数执行后的返回值。 | | ||
3909 | |||
3910 | #### find_modulepath | ||
3911 | |||
3912 | **类型:** 函数。 | ||
3913 | |||
3914 | **描述:** | ||
3915 | |||
3916 | 将 Yuescript 模块名解析为文件路径。 | ||
3917 | |||
3918 | **签名:** | ||
3919 | ```tl | ||
3920 | find_modulepath: function(name: string): string | ||
3921 | ``` | ||
3922 | |||
3923 | **参数:** | ||
3924 | |||
3925 | | 参数名 | 类型 | 描述 | | ||
3926 | | --- | --- | --- | | ||
3927 | | name | string | 模块名。 | | ||
3928 | |||
3929 | **返回值:** | ||
3930 | |||
3931 | | 返回类型 | 描述 | | ||
3932 | | --- | --- | | ||
3933 | | string | 文件路径。 | | ||
3934 | |||
3935 | #### pcall | ||
3936 | |||
3937 | **类型:** 函数。 | ||
3938 | |||
3939 | **描述:** | ||
3940 | |||
3941 | 在保护模式下调用一个函数。 | ||
3942 | 会捕获任何错误,执行成功则返回成功状态和结果,否则为失败状态和错误信息。 | ||
3943 | 当发生错误时,将错误信息中的代码行号重写为 Yuescript 代码中的原始行号。 | ||
3944 | |||
3945 | **签名:** | ||
3946 | ```tl | ||
3947 | pcall: function(f: function, ...: any): boolean, any... | ||
3948 | ``` | ||
3949 | |||
3950 | **参数:** | ||
3951 | |||
3952 | | 参数名 | 类型 | 描述 | | ||
3953 | | --- | --- | --- | | ||
3954 | | f | function | 要调用的函数。 | | ||
3955 | | ... | any | 要传递给函数的参数。 | | ||
3956 | |||
3957 | **返回值:** | ||
3958 | |||
3959 | | 返回类型 | 描述 | | ||
3960 | | --- | --- | | ||
3961 | | boolean, ... | 状态码和函数结果或错误信息。 | | ||
3962 | |||
3963 | #### require | ||
3964 | |||
3965 | **类型:** 函数。 | ||
3966 | |||
3967 | **描述:** | ||
3968 | |||
3969 | 加载给定的模块。可以是 Lua 模块或 Yuescript 模块。 | ||
3970 | 如果模块是 Yuescript 模块且加载失败,则将错误信息中的代码行号重写为 Yuescript 代码中的原始行号。 | ||
3971 | |||
3972 | **签名:** | ||
3973 | ```tl | ||
3974 | require: function(name: string): any... | ||
3975 | ``` | ||
3976 | |||
3977 | **参数:** | ||
3978 | |||
3979 | | 参数名 | 类型 | 描述 | | ||
3980 | | --- | --- | --- | | ||
3981 | | modname | string | 要加载的模块名。 | | ||
3982 | |||
3983 | **返回值:** | ||
3984 | |||
3985 | | 返回类型 | 描述 | | ||
3986 | | --- | --- | | ||
3987 | | any | 如果模块已经加载,则返回 package.loaded[modname] 中存储的值。否则,尝试查找加载器并返回 package.loaded[modname] 的最终值和加载器数据作为第二个结果。 | | ||
3988 | |||
3989 | #### p | ||
3990 | |||
3991 | **类型:** 函数。 | ||
3992 | |||
3993 | **描述:** | ||
3994 | |||
3995 | 检查传递的值的内部结构,并打印值出它的字符串表示。 | ||
3996 | |||
3997 | **签名:** | ||
3998 | ```tl | ||
3999 | p: function(...: any) | ||
4000 | ``` | ||
4001 | |||
4002 | **参数:** | ||
4003 | |||
4004 | | 参数名 | 类型 | 描述 | | ||
4005 | | --- | --- | --- | | ||
4006 | | ... | any | 要检查的值。 | | ||
4007 | |||
4008 | #### options | ||
4009 | |||
4010 | **类型:** 成员变量。 | ||
4011 | |||
4012 | **描述:** | ||
4013 | |||
4014 | 当前编译器选项。 | ||
4015 | |||
4016 | **签名:** | ||
4017 | ```tl | ||
4018 | options: Config.Options | ||
4019 | ``` | ||
4020 | |||
4021 | #### traceback | ||
4022 | |||
4023 | **类型:** 函数。 | ||
4024 | |||
4025 | **描述:** | ||
4026 | |||
4027 | 重写堆栈跟踪中的行号为 Yuescript 代码中的原始行号的 traceback 函数。 | ||
4028 | |||
4029 | **签名:** | ||
4030 | ```tl | ||
4031 | traceback: function(message: string): string | ||
4032 | ``` | ||
4033 | |||
4034 | **参数:** | ||
4035 | |||
4036 | | 参数名 | 类型 | 描述 | | ||
4037 | | --- | --- | --- | | ||
4038 | | message | string | 堆栈跟踪消息。 | | ||
4039 | |||
4040 | **返回值:** | ||
4041 | |||
4042 | | 返回类型 | 描述 | | ||
4043 | | --- | --- | | ||
4044 | | string | 重写后的堆栈跟踪消息。 | | ||
4045 | |||
4046 | #### is_ast | ||
4047 | |||
4048 | **类型:** 函数。 | ||
4049 | |||
4050 | **描述:** | ||
4051 | |||
4052 | 检查代码是否匹配指定的 AST。 | ||
4053 | |||
4054 | **签名:** | ||
4055 | ```tl | ||
4056 | is_ast: function(astName: string, code: string): boolean | ||
4057 | ``` | ||
4058 | |||
4059 | **参数:** | ||
4060 | |||
4061 | | 参数名 | 类型 | 描述 | | ||
4062 | | --- | --- | --- | | ||
4063 | | astName | string | AST 名称。 | | ||
4064 | | code | string | 代码。 | | ||
4065 | |||
4066 | **返回值:** | ||
4067 | |||
4068 | | 返回类型 | 描述 | | ||
4069 | | --- | --- | | ||
4070 | | boolean | 代码是否匹配 AST。 | | ||
4071 | |||
4072 | #### AST | ||
4073 | |||
4074 | **类型:** 成员变量。 | ||
4075 | |||
4076 | **描述:** | ||
4077 | |||
4078 | AST 类型定义,带有名称、行、列和子节点。 | ||
4079 | |||
4080 | **签名:** | ||
4081 | ```tl | ||
4082 | type AST = {string, integer, integer, any} | ||
4083 | ``` | ||
4084 | |||
4085 | #### to_ast | ||
4086 | |||
4087 | **类型:** 函数。 | ||
4088 | |||
4089 | **描述:** | ||
4090 | |||
4091 | 将代码转换为 AST。 | ||
4092 | |||
4093 | **签名:** | ||
4094 | ```tl | ||
4095 | to_ast: function(code: string, flattenLevel?: number, astName?: string): | ||
4096 | --[[AST]] AST | nil, | ||
4097 | --[[error]] nil | string | ||
4098 | ``` | ||
4099 | |||
4100 | **参数:** | ||
4101 | |||
4102 | | 参数名 | 类型 | 描述 | | ||
4103 | | --- | --- | --- | | ||
4104 | | code | string | 代码。 | | ||
4105 | | flattenLevel | integer | [可选] 扁平化级别。级别越高,会消除更多的 AST 结构的嵌套。默认为 0。最大为 2。 | | ||
4106 | |||
4107 | #### __call | ||
4108 | |||
4109 | **类型:** 元方法。 | ||
4110 | |||
4111 | **描述:** | ||
4112 | |||
4113 | 导入 Yuescript 模块。 | ||
4114 | 如果发生加载失败,则将错误信息中的代码行号重写为 Yuescript 代码中的原始行号。 | ||
4115 | |||
4116 | **签名:** | ||
4117 | ```tl | ||
4118 | metamethod __call: function(self: yue, module: string): any... | ||
4119 | ``` | ||
4120 | |||
4121 | **参数:** | ||
4122 | |||
4123 | | 参数名 | 类型 | 描述 | | ||
4124 | | --- | --- | --- | | ||
4125 | | module | string | 模块名。 | | ||
4126 | |||
4127 | **返回值:** | ||
4128 | |||
4129 | | 返回类型 | 描述 | | ||
4130 | | --- | --- | | ||
4131 | | any | 模块值。 | | ||
4132 | |||
4133 | ### Config | ||
4134 | |||
4135 | **描述:** | ||
4136 | |||
4137 | 编译器编译选项。 | ||
4138 | |||
4139 | #### lint_global | ||
4140 | |||
4141 | **类型:** 成员变量。 | ||
4142 | |||
4143 | **描述:** | ||
4144 | |||
4145 | 编译器是否应该收集代码中出现的全局变量。 | ||
4146 | |||
4147 | **签名:** | ||
4148 | ```tl | ||
4149 | lint_global: boolean | ||
4150 | ``` | ||
4151 | |||
4152 | #### implicit_return_root | ||
4153 | |||
4154 | **类型:** 成员变量。 | ||
4155 | |||
4156 | **描述:** | ||
4157 | |||
4158 | 编译器是否应该对根层级的代码块进行隐式的表达式返回。 | ||
4159 | |||
4160 | **签名:** | ||
4161 | ```tl | ||
4162 | implicit_return_root: boolean | ||
4163 | ``` | ||
4164 | |||
4165 | #### reserve_line_number | ||
4166 | |||
4167 | **类型:** 成员变量。 | ||
4168 | |||
4169 | **描述:** | ||
4170 | |||
4171 | 编译器是否应该在编译后的代码中保留原始行号。 | ||
4172 | |||
4173 | **签名:** | ||
4174 | ```tl | ||
4175 | reserve_line_number: boolean | ||
4176 | ``` | ||
4177 | |||
4178 | #### space_over_tab | ||
4179 | |||
4180 | **类型:** 成员变量。 | ||
4181 | |||
4182 | **描述:** | ||
4183 | |||
4184 | 编译器是否应该在编译后的代码中使用空格字符而不是制表符字符。 | ||
4185 | |||
4186 | **签名:** | ||
4187 | ```tl | ||
4188 | space_over_tab: boolean | ||
4189 | ``` | ||
4190 | |||
4191 | #### same_module | ||
4192 | |||
4193 | **类型:** 成员变量。 | ||
4194 | |||
4195 | **描述:** | ||
4196 | |||
4197 | 编译器是否应该将要编译的代码视为当前正在编译的模块。仅供编译器内部使用。 | ||
4198 | |||
4199 | **签名:** | ||
4200 | ```tl | ||
4201 | same_module: boolean | ||
4202 | ``` | ||
4203 | |||
4204 | #### line_offset | ||
4205 | |||
4206 | **类型:** 成员变量。 | ||
4207 | |||
4208 | **描述:** | ||
4209 | |||
4210 | 编译器错误消息是否应该包含行号偏移量。仅供编译器内部使用。 | ||
4211 | |||
4212 | **签名:** | ||
4213 | ```tl | ||
4214 | line_offset: integer | ||
4215 | ``` | ||
4216 | |||
4217 | #### yue.Config.LuaTarget | ||
4218 | |||
4219 | **类型:** 枚举。 | ||
4220 | |||
4221 | **描述:** | ||
4222 | |||
4223 | 目标 Lua 版本枚举。 | ||
4224 | |||
4225 | **签名:** | ||
4226 | ```tl | ||
4227 | enum LuaTarget | ||
4228 | "5.1" | ||
4229 | "5.2" | ||
4230 | "5.3" | ||
4231 | "5.4" | ||
4232 | "5.5" | ||
4233 | end | ||
4234 | ``` | ||
4235 | |||
4236 | #### options | ||
4237 | |||
4238 | **类型:** 成员变量。 | ||
4239 | |||
4240 | **描述:** | ||
4241 | |||
4242 | 要传递给编译函数的额外选项。 | ||
4243 | |||
4244 | **签名:** | ||
4245 | ```tl | ||
4246 | options: Options | ||
4247 | ``` | ||
4248 | |||
4249 | ### Options | ||
4250 | |||
4251 | **描述:** | ||
4252 | |||
4253 | 额外编译器选项定义。 | ||
4254 | |||
4255 | #### target | ||
4256 | |||
4257 | **类型:** 成员变量。 | ||
4258 | |||
4259 | **描述:** | ||
4260 | |||
4261 | 编译目标 Lua 版本。 | ||
4262 | |||
4263 | **签名:** | ||
4264 | ```tl | ||
4265 | target: LuaTarget | ||
4266 | ``` | ||
4267 | |||
4268 | #### path | ||
4269 | |||
4270 | **类型:** 成员变量。 | ||
4271 | |||
4272 | **描述:** | ||
4273 | |||
4274 | 额外模块搜索路径。 | ||
4275 | |||
4276 | **签名:** | ||
4277 | ```tl | ||
4278 | path: string | ||
4279 | ``` | ||
4280 | |||
4281 | #### dump_locals | ||
4282 | |||
4283 | **类型:** 成员变量。 | ||
4284 | |||
4285 | **描述:** | ||
4286 | |||
4287 | 是否在回溯错误消息中输出代码块的局部变量。默认为 false。 | ||
4288 | |||
4289 | **签名:** | ||
4290 | ```tl | ||
4291 | dump_locals: boolean | ||
4292 | ``` | ||
4293 | |||
4294 | #### simplified | ||
4295 | |||
4296 | **类型:** 成员变量。 | ||
4297 | |||
4298 | **描述:** | ||
4299 | |||
4300 | 是否简化输出的错误消息。默认为 true。 | ||
4301 | |||
4302 | **签名:** | ||
4303 | ```tl | ||
4304 | simplified: boolean | ||
4305 | ``` | ||
4306 | |||
3534 | ## MIT 许可证 | 4307 | ## MIT 许可证 |
3535 | 4308 | ||
3536 | 版权 (c) 2024 李瑾 | 4309 | 版权 (c) 2024 李瑾 |