User Guide for the Borrowing Command Line Utility
- 格式:pdf
- 大小:286.54 KB
- 文档页数:4
外文原文:Managing Brand Equity4 LEVERAGING AND MEASURING BRAND EQUITY4.1 Leveraging brand equityThere are three ways to leverage brand equity: firstly building it, secondly borrowing it, or thirdly buying it. Increasingly, ”building” brand equity is not e asy –given the proliferation of brands and the intense competition that is prevalent in many industries. Within a given industry, there typically exist many high quality products and high levels of advertising, making it difficult to introduce superior quality brand and shape perceptions through advertising. Thus, the alternative to building brand equity is by borrowing or buying it. (Farquhar 1990, RC10–RC11)4.1.1 Building brand equityBrand equity is built firstly, by creating positive brand evaluations with a quality product, secondly, by fostering accessible brand attitudes to have the most impact on consumer purchase behaviour, and thirdly, by developing a consistent brand image to form a relationship with the consumer. (Farquhar 1990, RC8–RC10) Of these three elements, positive brand evaluation may be considered the most important, and it is based on a quality product that delivers superior performance.The first element in building a strong brand is a positive brand evaluation. Quality is the cornerstone of a strong brand. A firm must have a quality product that delivers superior performance to the consumer in order to achieve a positive evaluation of the brand in the consumer’s memory.Three types of evaluations can be stored in a consumer’s memor y: 1) affective responses, 2) cognitive evaluations and 3) behavioural intentions. Affective responses involve emotions or feelings toward the brand (e.g., the brand makes me feel good about myself, the brand is a familiar friend or the brand symbolises status, affiliation or uniqueness). Cognitive evaluations are inferences made from beliefs about the brand (e.g., the brand lowers the risk of something bad). Behavioural intentions are developed from habits or heuristic interest toward the brand (e.g., the brand is the only one my family uses or the brand is on sale this week). Efforts to create positivebrand evaluations are usually aimed at one of these types. (Farquhar 1990, RC8–RC9) The second element in building a strong brand is attitude accessibility. It refers to how quickly an individual can retrieve something stored in memory. Stored evaluations can be retrieved from memory in two ways. Automatic activation occurs spontaneously from memory upon the mere observation of the attitude object. Controlled activation requires the active attention of the individual to retrieve a previously stored evaluation or to construct a summary evaluation of the attitude object.The third element in building a strong brand is to have a consistent brand image. Consiste ncy of the brand’s image is a part of managing the relationship between the consumer and the brand. A relationship develops between the personality of the brand and the personality of the consumer with each purchase.Building brand equity requires the creation of a familiar brand that has favourable, strong, and unique brand associations. This can be done both through the initial choice of the brand identities, such as the brand name, logo, or symbol, and through the integration of the brand identities into the supporting marketing program. The judicious choice of brand identities can contribute significantly to brand equity, but the primary input comes from supporting marketing activities for the brand. The product or service specifications themselves are the primary basis for the product-related attribute associations and determine a consumer’s fundamental understanding of what the product or service means. Similarly, the pricing policy for the brand directly creates associations to the relevant price tier or level for the brand in the product category, as well as its corresponding price volatility or variance, e.g., in terms of the frequency and magnitude of discounts. The marketing communication efforts by the firm, in contrast, afford a flexible means of shaping consumer perceptions of the product or service. Marketing communication may also be helpful in increasing user and usage imagery attributes. Word-of-mouth and other social influences also play an important role, especially for user and usage imagery attributes. (Keller 1993, 9–10)Investment to build or maintain strong brands can be difficult or impossible tojustify when considering the short-term financial outlook. It is required a vision and a belief that such investments will pay off. A key to developing a vision and having faith in it is to understand the ways in which a brand can generate competitive advantage. With a vision established, it is necessary to be vigilant with brands. The temptation is put a priority in other areas, such as to correct a market-share problem or to pursue a cost reduction program. As a result, brand equity is temporarily put on hold. This temptation is particularly strong when the organisation’s structure and reward systems do not protect brand equity. (Aaker 1992, 32)4.1.2 Borrowing brand equityMany firms borrow on the brand equity in their brand names by extending existing brand names to other products. Two types of extensions can be distinguished: a line and a category extension. The latter is frequently also called brand extension. A line extension is when a current brand name is used to enter new market segment in the existing product class. A category extension is when the current brand name is used to enter a different product class. (Aaker – Keller 1990, 27–28; Farquhar 1990, RC10; Farquhar – Herr – Fazio 1990, 856; Hankinson – Cowking 1993, 74–75; Keller 1998, 67)A line extension occurs when a company introduces additional items in the same product category under the same brand name. A line extension often involves a different size, colour, flavour or ingredient, a different form or a different application for the brand. Products in line extensions are technically congruent, i.e., similar in many attributes. They belong to the same product category or subclass. The vast majority of new-product activity consists of line extensions. Excess manufacturing capacity often drives a company to introduce additional items. The company might want to meet the consumers’ desire for variety. The company may recognise a latent consumer want and try to capitalise on it. The company may want to match a competitor’s successful line extension. Many companies introduce line extensions primarily to command more shelf space from resellers. Line extensions involve risks. There is a chance that the brand name will lose its specific meaning. This is called the line-extension trap. The other risk is that many line extensions will not sell enough tocover their development and promotion costs. Furthermore, even when they sell enough, the sales may come at the expense of other items in the line. A line extension works best when it takes sales away from competing brands, not when it cannibalises the company’s other products. (Keller 1998, 455–469; Kotler 1994, 452–454; van Raaij – Schoonderbeek 1993, 482)A category extension occurs when a company decides to use an existing brand name to launch a product in a new product category. Category extensions capitalise on the brand image of the core product or service to efficiently inform consumers and retailers about a new product or service. The potential benefits of category extensions include immediate name recognition and the transference of benefits associated with a familiar brand. A well-regarded brand name gives the new product instant recognition and earlier acceptance. It enables the company to enter into new-product categories more easily. Moreover, category extensions eliminate the high costs of establishing a new brand and often reduce the costs of gaining distribution. Category extensions also involve risks. The new product might disappoint buyers and damage their respect for the company’s other products. The brand name may lose its special positioning in the consumer’s mind through over-extension. Brand dilution is said to occur when consumers no longer associate a brand with a specific product or highly similar products. Companies that are tempted to transfer their brand name must research how well the brand’s associations fit the new product. The best result would occur when the brand name builds the sales of both the new product and the existing product. An acceptable result would be when the new product sells well without affecting the sales of the existing product. The worst result would be when the new product fails and hurts the sales of the existing product. (Farquhar – Herr – Fazio 1990, 856; Hankinson – Cowking 1993, 74–82; Keller 1993, 15–16; Kotler 1994, 454–455; Loken – John 1993, 79–83)The relationship between the core product and the extended product may be based on technical attributes, benefits, or values and lifestyles. First, products may be technically related, based on physical attributes. Extensions based on technical attributes are often successful, if the products have a large set of similar attributes.Second, the extension may be based on product benefits, if a brand offers clear and distinguishing benefits. These extensions may have dissimilar attributes, but they are similar for one or more benefits, e.g., quality. Third, well-known brand names with a good reputation may extend to new products based on their associated value and lifestyle. The precondition is that the brand is already associated with a clear set of values. These extensions may be completely dissimilar in a technical sense, but similar in values and lifestyle for the target group and for usage situations. The core of these extensions is the set of values and the lifestyle of the target group. These brand names often have a connotation of high class or luxury. The new product may be technically different from the core product. Brand extensions based on values and lifestyle may enrich the associations of the core product. These extensions may also keep the brand name in the evoked set of consumers. If the schema of the core product is high in the hierarchy, i.e., associated with values and lifestyle, one could extend it to completely dissimilar products. The new products should, however, fit in the schema of the core product and appeal to the same values and lifestyle of the target group. Cross selling is possible, because these products are often complementary for the same lifestyle. Brands should avoid, however, becoming only associated with values that are too far away from the original product benefits. (van Raaij – Schoonderbeek 1993, 482–483)The relational model for category extensions includes three types of associations: brand to category, category to brand, and category to category. The strengths of these associations are called typicality, dominance, and relatedness, respectively. The possible asymmetry in the relationship between typicality and dominance is a distinguishing feature of the model. Typical brands in a product category are more easily extended to closely related target categories than to distant target categories. Furthermore, dominant brands are not easily extended to distant target categories, because of the exemplary nature of such brands in their original product categories. The relationship between typicality and dominance is of practical interest for exploring the limitations of category extensions. When the same brand has been extended to a wide variety of target categories, we do not expect the parent brand’sdominance in the original category to diminish, but we would expect a dilution of typicality. Furthermore, some brands are so typical in a particular target category that consumers mistakenly may believe that the brand extension exists when it does not. This spurious awareness of non-existent brand extensions might sound a blessing for marketers. To the extent that a strong association already exists, a firm might well consider a category extension to that target category. Less effort would be needed for creating awareness, and more could be spent on other activities. (Farquhar – Herr –Fazio 1990, 857–859; Roux – Lorange 1993, 495)The association network of the core product indicates how far one could stretch the brand. If the network of the core product is low in the hierarchy, i.e., only associated with technical and functional product attributes, one should not go beyond line extensions. On the other hand, brands develop over time. The typical history of a brand is that it starts narrowly with a complete overlap with the product. Then, line extensions of, e.g., flavour and colour variants may be developed. The brand becomes broader and obtains connotations of quality, design and other psychosocial attributes and benefits. Then, the brand may transcend the physical reality and become associated with values. This case provides the richest opportunities for brand extensions. However, not all brands develop according to these lines. (Van Raaij –Schoonderbeek 1993, 483)Source:Pekka Tuominen.Managing Brand Equity(J). LTA 1/99.PP:65-100中文译文:管理品牌资产4利用和测量品牌资产4.1利用品牌资产利用品牌资产有三种方式:创建、利用、购买。
EPIC-User’s GuideContents1Plug-in Installation11.1Prerequisites (1)1.1.1Eclipse (1)1.1.2Perl (1)1.1.3Considerations when using Cygwin (1)1.2Installing EPIC (2)1.3Uninstalling EPIC (2)2Setting Up Preferences32.1General Preferences (3)2.2Code Assist (4)2.3Editor (4)2.4Source Formatter (5)2.5Task Tags (6)2.6Templates (6)2.7Associating Files with the Perl Editor (7)2.8CVS Setup (7)2.9Setting Up the Debugger (8)3Perl Projects93.1Creating a Project (9)3.2Perl Include Path (9)3.3Converting an Existing Project (10)3.4Recommended Project Layout (10)4Eclipse Basics124.1Perspectives (12)4.2Views (12)4.3Using Perspectives (13)4.3.1New Perspectives (13)4.3.2Configuring Perspectives (14)4.3.3Saving a User Defined Perspective (15)4.3.4Resetting Perspectives (15)4.4Using Views (15)4.4.1Opening Views (15)4.4.2Moving and Docking Views (15)5Working with the Perl Editor175.1Syntax Check (17)5.2Explain Errors and Warnings (17)5.3Open Declaration (18)5.4Perldoc (19)5.5Quick Reference (19)5.6Code Assist (20)5.6.1Variable Inspection (20)5.6.2Module Inspection (20)5.7Task Markers (21)5.8Templates (21)5.8.1Defining Templates (21)5.8.2Using Templates (22)5.9Source Formatter (23)5.10Source Folding (23)5.11Refactoring (23)5.11.1Extract Subroutine (23)5.12HTML Export (24)5.13Outline View (25)6Using the Perl Debugger266.1Launching Perl Programs (26)6.1.1Launching Perl Programs in Run Mode (27)6.1.2Re-launching a Perl Program (27)6.2Creating Launch Configurations (28)6.2.1Perl Local:Running a Perl Script on the Local Machine (28)6.2.2Perl CGI:Run Perl Programs in a CGI Environment (29)6.2.3Perl Remote:Debug a Perl Script on a Remote Machine (30)6.3Breakpoints (31)6.3.1Setting Breakpoints (32)6.3.2Enabling or Disabling Breakpoints (32)6.3.3Removing Breakpoints (32)6.4Views in the Debug Perspective (32)6.4.1Debug View (33)6.4.2Variables View (33)6.4.2.1Customizing the Variables View (34)6.4.3Breakpoints View (35)6.4.4Perl Expression View (35)6.5Stepping Through the Execution of a Perl Program (35)6.5.1Step Over (36)6.5.2Step Into (36)6.5.3Run to Return (36)7RegExp Plug-in377.1Enabling the RegExp View (37)7.2Using the RegExp Plug-in (37)7.3Debugging Regular Expressions (38)8Known Bugs&Problems39 9References40Chapter1Plug-in Installation1.1Prerequisites1.1.1EclipseBefore installing the EPIC plug-in,a recent version of Eclipse has to be installed.The minimum require-ment is version3.1of Eclipse for EPIC’stable’and version3.2of Eclipse for EPIC’testing’.Eclipse comes in twoflavors.The SDK version contains Java IDE components and is much larger than the Platform version.If you only want to use Eclipse as a Perl IDE,the Platform version is sufficient.If you are in for Perl and Java coding,use the SDK version.Eclipse does not include a Java Runtime Environment(JRE).You will need a1.4.1level or higher Java Runtime or Java Development Kit(JDK)installed on your machine in order to run Eclipse.Eclipse can be downloaded from .1.1.2PerlIn order to have all EPIC features like Syntax Checking,Source Formatting etc.,a Perl interpreter is needed. In principle any Perl interpreter can be used.To use debugging within Eclipse,Perl version5.8.x or5.6.x is required.For further requirements concerning the debugger,see Section2.9.Most*nix/Linux installations will provide Perl interpreters out of the box.Perl for Windows can be downloaded from 1.1.3Considerations when using CygwinMake sure that the mount command is available and that it is in your system path.As mount is a standard component of Cygwin,you usually just have to add the cygwin\bin directory to your system path.1.2Installing EPICThe installation is done by using the Eclipse Update Manager.The Update Manager connects to an EPIC Update Site[/updates].The Update Site can also be stored locally if no Internet connection is available and can be downloaded from the EPIC project page.After starting Eclipse,select Help→Software and Updates→Find and Install...from the menu.Select Search for new features to install an press Next.Press the Add Update Site...button for a remote installation via HTTP or the Add Local Site...button if the Update Site is available locally.When installing EPIC from remote,enter any desired Name and the URL /updates.Tick the newly created site and press the Next button.Follow the instructions of the install wizard.The warning about the installation of an unsigned feature can be ignored.Eclipse has to be restarted after installation.Now the EPIC installation should be complete.1.3Uninstalling EPICTo tempoarily disable or uninstall the currently active version of EPIC,select Help→Software and Updates →Manage Configuration from the menu.Expand the tree in the dialog window which appears and select the EPIC feature.Click on the option Disable in the panel on the right side and restart Eclipse when asked. At this point EPIC is disabled,but still present on disk.To remove it completely,enter the same dialog again and select the previously disabled version of EPIC(you may need to toggle showing disabled features in the dialog’s toolbar).The option Uninstall will now remove the chosen version of EPIC completely.Chapter2Setting Up PreferencesEPIC preferences can be accessed via Window→Preferences...from the Eclipse Menu.2.1General PreferencesClick on Perl EPIC to open the General Preferences page.General preferences include the location of the Perl interpreter,the option to enable warnings,taint mode and the interval of the source validation.The validation interval indicates when to start validation after the editor becomes idle.Apart from the standard interpreter type,the type can be switched to Cygwin.In this case the@INC path is mapped to be Cygwin compliant.The two debugger-related preferences work as follows:•Enable debugger console is only useful if you wish to debug EPIC itself and should not be activated otherwise.This preference causes a special console to become available while debugging Perl scripts. The console shows internal communication between EPIC and the Perl debugger backend.To access this console,you have to click on the item perl-d in the Debug view.•Suspend debugger atfirst statement(active by default)causes the debugger to stop right at the beginning of the debugged script,even if there are no breakpoints set.If this preference is inactive,then the debugger will not suspend until thefirst breakpoint is hit(or the scriptfinishes execution).NoteOn slower systems it might be useful to disable automatic syntax validation.Syntax validation is still possible by using the Shift-F5function key.2.2Code AssistOn the Code Assist Preference Page the auto completion trigger characters are defined.Normally it should not be necessary to change these values.By default the editor suggests a list of already used variables when the characters$@%are typed.To switch this feature off,deselect the Inspect Variables check box.2.3EditorThese options define the appearance of the Perl Editor,the coloring of the Perl source code,and how annotations are displayed.Smart typing settings allow to switch auto-completion of quotes,parenthesis etc.on or off.2.4Source FormatterEPIC uses PerlTidy to format source code.The Source Formatter Preference allows to specify PerlTidy command line parameters.To get a description of available parameters,press the Help key and select PerlTidy options from the popup menu.NoteIn order for PerlTidy to work correctly,the Perl Interpreter Preferences have to be setup correctly(see above).2.5Task TagsIn this section,you can specify a list of keywords that act as markers for tasks inside comments in your Perl code,i.e.tags that mark the beginning of a task entry.By default,the words TODO and TASK mark the beginning of a task.Check the Ignore Case option if you want EPIC to recognize task tags case-insensitively,e.g.#todo my task.If you select Allow whitespace,task tags do not need to follow a comment sign(#)directly,e.g.#TODO my task instead of having to write#TODO my task.See Section5.7to see how to use Task Tags in the Perl Editor.2.6TemplatesTemplates are a powerful tool to insert pre-defined code snippets while working with the Perl Editor.How Templates are use is covered in Chapter5.The Templates Preference page allows the creation,import and export of Templates.Exported Templates are stored in XML format.2.7Associating Files with the Perl EditorEclipse associatesfile extensions with editors.If another plug-in is installed,the EPIC Perl Editor might not be used as the default editor when opening*.pl,*.pm or*.cgifiles.To associate thesefile extensions with the Perl Editor,choose Window→Preferences...from the Eclipse menu and select Workbench→File Associations.If the Perl extensions are missing,they can be created by pressing the Add...button.Select the Perl Editor from the list and press the Default button.NoteRegrettably,there is currently no way to associate EPIC with scriptfiles that do not have any specific extension but instead begin with the#!/usr/bin/perl line.2.8CVS SetupBy default,Eclipse stores Perlfiles as binary when they are added to the CVS repository.To store Perl files as text(ASCII),select Window→Preferences...from the Eclipse menu and modify the Team→File Content settings.Add your Perl extensions(pl,pm etc.)by pressing the Add...button and specify ASCII in the Contents column.2.9Setting Up the DebuggerSetting up the debugger requires two steps:1.Define the Perl interpreter to use.2.Install the PadWalker Perl module.NoteIt is possible to use the debugger without installing PadWalker,but in this case local variables won’t be shown.Download the PadWalker module from CP AN(PadWalker1.5)and install as described in the installa-tion notes or use the installation manager provided with your Perl installation(e.g.PPM for ActiveState installations).Earlier versions of EPIC provided a custom-compiled version of PadWalker for ActiveState5.8.x.This is no longer necessary;you should simply use the most recent version of PadWalker distributed by ActiveState.Chapter3Perl Projects3.1Creating a ProjectPerl projects are created(like any other project)by selecting File→New→Project...from the Eclipse menu.Follow the wizard’s instructions to create your Perl Project.Perl Projects appear with a custom folder iconin the Navigator view:3.2Perl Include PathTo add entries to a project’s Perl Include Path(@INC),right click on the project icon and select Properties.... If non-absolute paths are entered,they are interpreted as relative to the project folder.Standard Eclipse variables(e.g.${project_loc})can also be used.3.3Converting an Existing ProjectTo add the Perl Nature to an existing project,select the project in the Navigator and select Add Perl Nature from the context menu.To remove the Perl Nature from a project,select the project and select Remove Perl Nature from the context menu.3.4Recommended Project LayoutIn order to avoid problems with syntax validation(such as packages reported missing)and the debugger (such as skipped breakpoints),it is best to organize your project according to the conventions of the core Perl distribution:•Keep your own modules in dedicated subtrees of your project.For example,create a subdirectory lib as the root of the subtree containing all*.pmfiles.Note that you can have more than one such subtree.For example,you could also create test/lib to store modules that are only imported by test scripts.•Add the root directories of your subtrees to the@INC path(see[?title]).For example,add the entries lib and test/lib there.•Map package names to paths in the subtree(and vice versa).For example,store code for the package Foo::Bar infile lib/Foo/Bar.pm and ensure that lib/Foo/Baz.pm contains only package F-oo::Baz.•Store your Perl scripts anywhere you like in the project.For example,in subdirectory bin or cgi-bin.•To import from a package,use it,rather than require it.For example,use Foo::Bar;rather than require’../lib/Foo/Bar.pm’;Chapter4Eclipse Basics4.1PerspectivesEach Workbench window contains one or more perspectives.A perspective defines the initial set and layout of views in the Workbench window.Within the window,each perspective shares the same set of editors. Each perspective provides a set of capabilities aimed at accomplishing a specific type of task or works with specific types of resources.For example,the Java perspective combines views that you would commonly use while editing Java sourcefiles,while the Debug perspective contains the views that you would use while debugging Java programs.As you work in the Workbench,you will probably switch perspectives frequently.Perspectives control what appears in certain menus and toolbars.They define visible action sets,which you can change to customize a perspective.You can save a perspective that you build in this manner,making your own custom perspective that you can open again later.You can set your Workbench preferences to open perspectives in the same window or in a new window. The main perspectives for developing Perl applications are:This is the main perspective for coding Perl scripts.Provides the main functionality for debugging and executing Perl scripts.For details see Section6.4.4.2ViewsViews support editors and provide alternative presentations as well as ways to navigate the information in your Workbench.For example,the Navigator view displays projects and other resources that you are working with.Views also have their own menus.To open the menu for a view,click the icon at the left end of the view’s title bar.Some views also have their own toolbars.The actions represented by buttons on view toolbars only affect the items within that view.A view might appear by itself,or stacked with other views in a tabbed notebook.You can change the layout of a perspective by opening and closing views and by docking them in different positions in the Workbench window.4.3Using Perspectives4.3.1New PerspectivesThere are several ways to open a new perspective within this Workbench window:•Using the Open Perspective button on the shortcut bar.•Choosing a perspective from the Window→Open Perspective menu.To open one by using the shortcut bar button:1.Click on the Open Perspective button.2.A menu appears showing the same choices as shown on the Window→Open Perspective menu.Choose Other from the menu.3.In the Select Perspective dialog choose Debug and click OK.The Debug perspective is displayed.4.There are several other interesting things to take note of.•The title of the window now indicates that the Debug perspective is in use.•The shortcut bar contains several perspectives,the original Resource perspective,the new Debug perspective and a few others.The Debug perspective button is pressed in,indicating that it is the current perspective.•To display the full name of the perspective right click the perspective bar and check Show Text.5.In the shortcut bar,click on the Resource perspective button.The Resource perspective is once againthe current perspective.Notice that the set of views is different for each of the perspectives.4.3.2Configuring PerspectivesIn addition to configuring the layout of a perspective you can also control several other key aspects of a perspective.These include:•The New menu.•The Window→Open Perspective menu.•The Window→Show View menu.•Action sets that show up on the toolbar.Try customizing one of these items.1.In the shortcut bar click on the Resource perspective.2.Select Window→Customize Perspective....3.Select the Commands tab.4.Check Launch and click OK.5.Observe that the toolbar now includes buttons for debug/run launching.6.After experimenting with the other options on the Customize Perspective dialog,choose Window→Reset Perspective to return the perspective to its original state.4.3.3Saving a User Defined PerspectiveIf you have modified a perspective by adding,deleting,or moving(docking)views,you can save your changes for future use.1.Switch to the perspective that you want to save.2.Click Window→Save Perspective As.3.Type a new name for the perspective into the Namefield.4.Click OK.4.3.4Resetting PerspectivesTo restore a perspective to its original layout:1.Click Window→Preferences.2.Expand Workbench and choose Perspectives.3.From the Available perspectives list,select the perspective you want to restore.4.Click Reset.5.Click OK.4.4Using Views4.4.1Opening ViewsPerspectives offer pre-defined combinations of views and editors.To open a view that is not included in the current perspective,select Window→Show View from the main menu bar.You can create fast views to provide a shortcut to views that you use often.After adding a view to the current perspective,you may wish to save your new layout by clicking Window →Save Perspective As.4.4.2Moving and Docking ViewsTo change the location of a view in the current perspective:1.Drag the view by its title bar.Do not release the left mouse button yet.2.As you move the view around the Workbench,the mouse pointer changes to one of the drop cursorsshown in the table below.The drop cursor indicates where the view will be docked if you release the left mouse button.To see the drop cursor change,drag the view over the left,right,top,or bottom border of another view or editor.3.When the view is in the location that you want,relative to the view or editor area underneath the dropcursor,release the left mouse button.4.(Optional)If you want to save your changes,select Window→Save Perspective As from the mainmenu bar.5.Note that a group of stacked views can be dragged using the empty space to the right of the view tabs.Chapter5Working with the Perl Editor5.1Syntax CheckEPIC performs on thefly syntax check of Perl sourcefiles.In order for the Syntax Check to work,the Perl Interpreter has to be set up correctly(see Chapter2).The Syntax Check is performed after a defined idle period,after the user has stopped typing.This idle period can be configured in the preferences.When an error/warning has been found,the editor displays the appropriate icon in the annotation ruler(the gray bar on the left side of the editor),underlines the error in the source,and inserts a marker into the Problems view.A syntax check can be enforced by pressing Shift-F5.It is also triggered automatically by saving a source file.5.2Explain Errors and WarningsIn addition to displaying warnings and errors,the editor is capable of explaining them in more detail.To get an Error/Warning explanation,right-click the Error/Warning icon and select Explain Errors/Warnings from the context menu.The explanation(s)will be displayed in the Explain Errors/Warnings view:5.3Open DeclarationOpen Declaration allows the user to search for the declaration of a specific subroutine or package.The searchfirst determines what is selected.If no text is selected,it attempts tofind a subroutine or package name at the current cursor position.The search will fail if neither is selected.Due to the dynamic nature of Perl programs,the search is not entirely reliable.For package names and subroutine names qualified by a package prefix,an attempt will be made to locate the appropriately namedmodulefile using the@INC path.For unqualified subroutine names,the search willfirst occur in the current editor and then extend to modules referenced by’use’and(literal)’require’statements.If the declaration is found,it will be highlighted in an existing or new editor.5.4PerldocTo retrieve Perldoc information,select a keyword or text and choose Perldoc from the context menu or press Shift-Ctrl-H.If nothing is selected,an input dialog will appear.The search is performed among built-in Perl functions,FAQs from the Perl documentation,and modules on the include path(see[?title]).If Perldoc entries are found,they are displayed inside the Perldoc view.NotePerldoc has to be installed and available in the system P A TH,otherwise this feature will not work.5.5Quick ReferenceApart from Perldoc support,a quick reference feature is available.This feature has the advantage that no perldoc has to be installed on the system but does not provide as much information as perldoc.To view the Quick Reference,select a keyword and move the mouse pointer over the selection.A tooltip with a short description of the keyword should appear.5.6Code AssistCode Assist features try to assist the user during source code editing.NoteThe features currently implemented in EPIC may not be fully functional but will be improved in the future.5.6.1Variable InspectionWhen you press one of the auto completion characters$@%,the editor displays all defined variables in a list.From the list you can select the variable that should be inserted in the source code.5.6.2Module InspectionThe editor tries to display methods available in modules when the auto completion characters>or:are entered.NoteCurrently,indirect object invocations are not recognized by code assist.This code block will not work: $smtp=new Net::SMTP;$smtp->[no content assist]This one will work:$smtp=Net::SMTP->new();$smtp->[content assist]5.7Task MarkersTask markers are a very convenient way to add items to the Eclipse task list.A task marker is generated when a#TODO any text is found in the Perl source code.On deletion of the#TODO comment,the task marker is also deleted.You can customize the keywords which begin task markers in the preferences(see Section2.5).5.8TemplatesTemplates allow for easy insertion of predefined text segments.In addition to normal text these segments can also include pre-defined variables that are included at runtime as well as variables that are specified by the user when the template is inserted.5.8.1Defining TemplatesTemplates are defined in the EPIC Preferences(Window→Preferences...).To define a new template,press the New...button.To insert pre-defined variables,press the Insert Variable...button.In addition to pre-defined variables,the user can specify additional variables(using the syntax${varname}) which can be edited when the template is inserted.When thefirst variable is inserted,variables with the same name will automatically be changed.5.8.2Using TemplatesTemplates are invoked by typing some characters and pressing Ctrl-Space.Templates matching the typed characters will be displayed in a list.A preview is also available.If the template contains user defined variables the user can press the TAB key to jump to the next variable after the template has been inserted.5.9Source FormatterEPIC uses PerlTidy for source code formatting(PerlTidy is included in the EPIC package).To format the source code,select Source→Format from the Eclipse menu or use Ctrl-Shift-F.PerlTidy settings can be changed in the Source Formatter preference page.NoteSource formatting might take a while if the source code has a lot of lines.5.10Source FoldingThe editor supports folding of POD comments and subroutines.Source folding can be disabled in the Editor preference page.NoteOn bigfiles source folding can decrease performance.So if you experience slowdowns,disabling source folding might help.5.11Refactoring5.11.1Extract SubroutineExtraction of subroutines is supported by the use of the CPAN Devel::Refactor module.To extract a subroutine,mark the code to extract and select Refactor→Extract Subroutine from the popup menu.In the popup menu insert the name of the new subroutine and press Enter.The new subroutine will be placed at the end of the Perl script(before__END__section)and the selection will be replaced with the subroutine call.NoteThe extraction might not work properly at the moment because the Devel::Refactor module is in an early stage of development.With upcoming versions of the module,this function should become more reliable.5.12HTML ExportTo export,select Source→Export→HTML from the Eclipse menu and specify an outputfile.HTML export settings can be changed in the Source Formatter preference page.NoteFor HTML export to work,a working Source Formatter is needed(see[?title]).5.13Outline ViewThe Outline view displays packages and subroutines defined in the editedfile.Modules referenced by’use’statements are also shown.When you click on a module or subroutine name in the outline,the editor will jump to the appropriate position in the source code.When the cursor is moved inside of a subroutine’s definition,the subroutine will become selected in the outline.Subroutines named new will get a different icon.Chapter6Using the Perl Debugger6.1Launching Perl ProgramsYou may launch your Perl programs from the workbench.Programs may be launched in either run or debug mode.•In run mode,the program executes,but may not be suspended or examined.•In debug mode,execution may be suspended and resumed,variables may be inspected,and expressions may be evaluated.The environment a Perl program is to be executed in is defined via"Launch Configurations".A launch configuration defines•if the program is to be executed in a CGI or normal Perl environment•the host the program is to be executed on•the program to execute•execution parameters to pass•environment variables•configuration data for the web server used to provide the CGI framework6.1.1Launching Perl Programs in Run Mode1.Select Run→Run...from the Eclipse menu.2.Within the appearing dialog,select the configuration type:•Perl Local:Run a Perl script on the local machine•Perl CGI:Run Perl programs in a CGI environment on the local machine•Perl Remote:Run a Perl script on a remote machineand press the New button to create a new launch configuration.3.Adjust launch configuration attributes.For details see Section6.2.4.Press the Run button.This executes the program.The program’s console output will be shown in the console window.For"Perl Local"and"Perl Remote"configurations,the console window also accepts keyboard input to be passed to the program.If you switch to the debug view,you have additional control over the execution of the program.For details see Section6.4.1.6.1.2Re-launching a Perl ProgramThe workbench keeps a history of each launched and debugged program.To relaunch a program,do one of the following:•Select a previous launch from Run or Debug button pull-down menus.•From the menu bar,select Run→Run History or Run→Debug History and select a previous launch from these sub-menus.•In the Debug view,select a process that you want to relaunch,and select Relaunch from the process’s pop-up menu.To relaunch the most recent launch,do one of the following:•Click the Run or Debug buttons(without using the button pull-down menu).•Select Run→Run Last Launched(Ctrl-F11),or Run→Debug Last Launched(F11)from the workbench menu bar.6.2Creating Launch Configurations6.2.1Perl Local:Running a Perl Script on the Local Machine1.Enter the name for the launch configuration in the Namefield.2.In the Main tab•Projectfield:select the project which contains the script to executeNoteOnly Perl projects(projects associated with a Perl nature)will be shown.If the project you require is not shown,see Section3.3for adding a Perl nature to your project.•File to executefield:select the script to executeNoteOnlyfiles associated with the Perl editor will be shown.See Section2.7for details.。
财务英文1. IntroductionIn today’s globalized business world, having a good command of financial English is indispensable for finance professionals. Whether it is for reading financial reports, communicating with international clients, or negotiating financial contracts, being fl uent in financial English can greatly enhance one’s career prospects. This document aims to provide a comprehensive guide to key financial English terms and phrases for finance professionals.2. Financial Statements2.1 Balance SheetThe balance sheet, also known as the statement of financial position, provides a snapshot of a company’s financial position at a specific point in time. It lists the company’s assets, liabilities, and shareholders’ equity. Key terms related to the balance sheet include:•Assets: Economic resources owned by the company, such as cash, accounts receivable, inventory, and property.•Liabilities: Obligations of the company, including accounts payable, loans, and accrued expenses.•Shareholders’ Equity: The residual interest in the company’s assets after deducting liabilities.2.2 Income StatementThe income statement, also known as the statement of comprehensive income or profit and loss statement, summarizes a company’s revenues, expenses, gains, and losses over a specific period. It re veals the company’s profitability and indicates whether it has made a profit or incurred a loss. Key terms related to the income statement include:•Revenue: Income generated from the company’s primary operations, such as sales revenue or service revenue.•Expenses: Costs incurred in the production of goods or services, such as salaries, rent, and utility expenses.•Gross Profit: The difference between revenue and the cost of goods sold.•Net Profit (or Net Income): The amount of money left after subtracting all expenses from revenue.2.3 Cash Flow StatementThe cash flow statement provides information about a company’s cash inflows and outflows over a specific period. It helps assess a company’s ability to generate cash and its financial liquidity. Key terms related to the cash flow statement include:•Operating Activities: Cash flows from the company’s core operations, such as sales, collections from customers, and payments to suppliers.•Investing Activities: Cash flows from the purchase or sale of long-term assets, such as property, plant, and equipment.•Financing Activities: Cash flows from borrowing or repaying loans, issuing or buying back shares, and paying dividends.3. Financial Analysis3.1 Ratio AnalysisRatio analysis is a tool used to evaluate a compan y’s financial performance and solvency. It involves calculating various financial ratios based on data from the financial statements. Key financial ratios include:•Current Ratio: Current assets divided by current liabilities, indicatinga company’s short-term liquidity.•Debt-to-Equity Ratio: Total debt divided by shareholders’ equity, measuring a company’s financial leverage.•Gross Profit Margin: Gross profit divided by revenue, reflecting a company’s ability to generate profit from its core operations.•Return on Assets: Net income divided by total assets, indicating the profitability of a company’s assets.3.2 Financial ForecastingFinancial forecasting involves pred icting a company’s future financial performance based on historical data and market trends. It is crucial for making informed business decisions and planning for future growth. Key terms related to financial forecasting include:•Sales Forecast: Predicting future sales revenues based on past sales data and market analysis.•Expense Forecast: Estimating future expenses, such as salaries, rent, and marketing costs.•Cash Flow Forecast: Projecting future cash inflows and outflows to determine if the company will have enough cash to meet its financialobligations.4. Financial Terms and PhrasesThis section provides a list of common financial terms and phrases that finance professionals frequently encounter in their work:•Assets Under Management (AUM): Total market value of assets that a financial institution manages on behalf of its clients.•Hedge Fund: An investment fund that pools capital from accredited individuals or institutional investors to invest in a variety of assets.•Initial Public Offering (IPO): The fi rst sale of a company’s shares to the public.•Return on Investment (ROI): A measure of the profitability of an investment, calculated as the ratio of the net profit to the initial investment.•Risk Management: The process of identifying, analyzing, and miti gating potential risks that may impact a company’s financial performance.•Sarbanes-Oxley Act (SOX): A U.S. federal law that establishes standards for corporate governance, financial reporting, and auditing practices.ConclusionMastering financial English is paramount for finance professionals to excel in their careers. This document has provided an overview of key financial statements, analysis techniques, and common financial terms and phrases. By continually expanding your financial English vocabulary and understanding, you will be better equipped to navigate the complex world of finance successfully.。
D IGI 002Continuing a long tradition of excellence and innovation,Digidesign brings you Digi 002 — an astounding FireWire-based advance in mini studio technology.With Digi 002,Digidesign’s taken the best of both the traditional analog world and digital audio workstation technology and combined them into a power package small enough to fit under your arm.Now Pro Tools LE can be engaged via both the computer and/or the integrated control surface,giving you functional options and flexibility never before available through project studio products of any kind.Digi 002 provides the means to create every-thing from top-notch demos to masterful remixes to superb radio spots,all with 24-bit clarity and up to 96 kHz sample support.Its analog,digital and MIDI capabilities enable Digi 002 to handle a wide variety of I/O configurations,while dedicated monitor and headphone outputs allow you to keep a close ear on progress — there’s no need for an additional small format mixer.What really sets Digi 002 apart,though,is software and hardware access to the intuitive power of Pro Tools.Borrowing the same technology found in Digidesign’s Control|24,Digi 002’s array of touch-sensitive faders,rotary encoders and LCD scribble strips gives you tactile and visual command over nearly every Pro Tools LE feature and parameter,including plug-in manipulation.With the Digi 002,audio,MIDI and control surface information is passed over a single FireWire (or,IEEE 1394) cable,so you just plug in and go.Once up and running,allfunctionality — riding faders,tweaking plug-in parameters,adjusting sends,monitoring levels,etc.— is accessible via the Digi 002 tactile interface,and/or via the Pro Tools LE software interface.Digi 002 enables you to work however you choose,without compromise.For live applica-tions,Digi 002 can be uncoupled from Pro Tools via stand-alone mode,offering you a solid 4x2digital mixer with four effects sends.T HE I NSANDO UTSDigi 002 includes 8 channels of balanced analog I/O (four mic pres),8 channels of ADAT optical I/O and 2 channels of S/PDIF I/O,for a total of 18simultaneous channels of I/O — all of which are easily accessible via the back panel.Digi 002 also features up to 96 kHz sample rate support;four mic pres coupled with 48V phantom power;one MIDI IN and two MIDI OUT ports for a total of 16 in/32 out MIDI channels;a separate unbalanced RCA-based,–10 dBV main input and output (for recording from/to cassette decks or CD players);and an Alternate Source Input for monitoring tape or CD players at the touch of a button.The Digi 002 also offers a convenient headphone jack on the front panel.Every signal that hits Digi 002 travels throughout the system in 24-bit luxury.Sample rates extend up to 96 kHz,and a >108 dB dynamic range further ensures the sonic quality of your end results.Whether you are working with raw audio,MIDI,or a combination of the two,Digi 002 and Pro Tools LE work together seamlessly to allow you to optimize your time and creativity.Digi 002 ships with the latest Pro Tools LE software,giving you more power and flexibility than ever before,including support for up to 32 simultaneous audio tracks.A division ofAvid18 C HANNELS OF I/O F EATURING :I 8 analog inputs with 4 mic pres with individual gain and high-pass filter;48V phantom power enabled on channel pairsI8 analog outputs;Outputs 1 & 2 mirrored on 1/4”TRS Monitor Output (with dedicated volume control),headphone output on 1/4”TRS (with dedicated volume control knob),and RCA-based –10 dBV fixed output I8 channels of ADAT optical I/O or 2 channels of optical S/PDIF I/OI2 channels of S/PDIF I/O on RCA connectors IAlternate Source Input for direct monitoring of –10 dBV audio equipment (tape players,CD players,etc.)I24-bit/96 kHz converters,up to >108 dB Dynamic Range and >98 dB (0.002%) THD+NA DDITIONAL F EATURES :I 8 touch-sensitive motorized fadersI8 motion-sensitive rotary encoders used for pan/send/meter/plug-in control I10 scribble strips for track name,pan,send,fader,plug-in values and timeline position I Transport control IMIDI I/O – 1 IN port,2OUT ports (16 channels in,32 channels out)IFootswitch for QuickPunch control|F E A T U R E S|Digi 002FireWire-based Pro Tools Mini Studio with Integrated Control Surface2001 Junipero Serra Blvd.|Daly City,CA 94014-3886||Tel 650.731.6300|Fax 650.731.6399M Mac OSWWindowscy from input to output.Stand-alone mode was designed to function much like Pro Tools LE mode,thereby providing a familiar feel and routing system,as well as the robust quality inherent in Digidesign products.In its regular operating mode,Digi 002 works with any FireWire-enabled system to give you some serious creative power;you’re not restricted to bulky,desktop CPUs.And your sessions are equally viable in your own studio and in a professional Pro Tools TDM studio,sharing the same interface and,in many respects,the same functionality.F REE B UNDLED P LUG -INSAs if combining a Pro Tools workstation,control surface,and live digital mixer weren’t enough,for a limited time,Digi 002 also comes packed with a potent array of powerful plug-ins to get you started creating right out of the box — over US $2,200worth of plug-ins to be exact.Aside from the wide assortment of DigiRack plug-ins included with Digi 002,you also receive Native Instruments Pro-52 synth and IK Multimedia’s SampleTank SEsample player along with a host of samples to get you started.Then,to tweak your sounds,you have Waves’ Renaissance Collection (EQ,Compressor,and Reverb),IK’s AmpliTube,and Digidesign’s D-Fi,D-fx,and Maxim to choose from.Plus,if you so choose,several of the Development Partner plug-ins included offer competitive packages that allow you to upgrade to their larger plug-in bundles and packages to add even more sonic sculpting power to your system.T HE B OTTOM L INEDigi 002 represents a truly revolutionary break-through on several levels.No other single product on the market combines tactile control surface technology with digital audio interfacing and software production prowess like Digi 002 does.Equally significant,no other product prepares you as effectively to make the transition from an all-in-one home/project solution to a professional DAW environment.And,no other product can touch the value of Digi 002 — at $2,495,it is far and away the best investment you can make for a solution of its kind.S ELF -C ONTROLLEDIf you’ve ever handled a Control|24,you’ll recognize the look and feel of Digi 002’s integrated control surface;if you haven’t,you’ll be entirely pleased with the fluidity,flexibility and layout at your disposal.Each of Digi 002’s eight channel strips include a motorized,touch-sensitive,100mm fader,a user-definable scribble strip,a multi-function rotary encoder,and select switches.This design enables you to control volume,pan,sends,plug-ins,transport,and more right from the unit.Each and every adjustment is reflected in the Pro Tools LE software interface — and vice versa — so you can instantly move back and forth as needs and comfort demand.Through its tactile interface,Digi 002 offers a comprehensive means of accessing and manipulating Pro Tools LE parameters.In Console View,Digi 002allows you to view a single channel parameter on each scribble strip for all tracks (i.e.pan position,send status,insert assignment,etc.).Switch to Channel View and all the scribble strips show a singletrack’s pan/send or plug-in parameters,taking advantage of scribble strips,rotary encoders and buttons in a horizontal orientation.Also,since the analog monitoring section and headphone jacks are built-in to Digi 002,there is no need to introduce external mixers.Connecting Digi 002 to your computer is as simple as plugging in a FireWire cable,which facilitates the flow of all audio streams,MIDI data and Pro Tools control data between Digi 002 and your PC or Mac.(For Windows XP users,Digi 002 works with leading 1394 (FireWire)controller cards.For more information,visit /compato.)D IGI 002 U NPLUGGEDA major benefit of Digi 002 is its flexible personality.Carry Digi 002 to a gig and use it as a stand-alone 4x2 digital mixer,complete with four effects sends (two internal,two external),EQ,dynamics,delay,reverb,and snapshot recall.As a stand-alone mixer,Digi 002’s manual functionality and pure signal path remain intact while offering near-zero laten-Digi 002Headphone volume and output Touch-sensitive,100mm motorized fadersTransport,navigation,and mode settingsMulti-purpose,velocity-sensitive rotary encodersMulti-purpose scribble displaysMic pre controlsSolo/Mute/Rec enable buttonsConsole view switchesSpecialized function keys for Pro Tools and Standalone modeMaster fader buttonStatus indicatorsChannel view switchesMonitor muteMono Monitor output Alt Input routesto Pro Tools input 7-8Alt Input routesdirectly to Monitor outputHeadphone JackDigi 002FireWire-based Pro Tools Mini Studio with Integrated Control Surface©12/02.Digidesign,Digi 002,Control|24,Pro Tools,Pro Tools LE,and RTAS are trademarks or registered trademarks of Avid Technology,Inc.,or its subsidiaries or divisions.Mac OS is a registered trademark of Apple Computer,Inc.Windows is a registered trademark of Microsoft Corp.All other trademarks contained herein are the property of their respective owners.All features and specifications subject to change without notice.A division ofAvidU.S.A.1.800.333.2137 or 1.650.731.6300 England44.01753.658496France33.1.41.49.40.10Germany49.811.5520.555Benelux31.0.73.687.2031Italy39.02.577897.1Asia (Japan)81.3.3505.7963Latin America (Miami)1.305.971.4075Pacific (Australia)61.3.5428.7780P M 175|S P E C I F I C A T I O N S |A/DSample Rate:• 44.1,48,88.2,96 kHz Max Input:• Inputs 1-4 (mic):+3 dBu • Inputs 1-4 (line):+18 dBu • Inputs 5-8 (+4 mode):+18 dBu Gain Range:• Inputs 1-4:Mic Setting:+15 - +65 dB;Line/DI Setting:+0 - +50 dB• Inputs 5-8 – fixed +4 dBu or –10 dBV,-14 dB headroom Mic E.I.N (unweighted):• Inputs 1-4:–126 dBu @ 65 dB gain,150 ohm source,20 Hz – 20 kHz THD+N:• Inputs 1-4(mic):0.004%,62 dB gain 1,3• Inputs 1-4 (line):0.004%,+17 dBu signal 1,3(minimum gain)• Inputs 5-6:0.002% @ +17 dBu input level • Inputs 7-8:0.003% @ +17 dBu input level Dynamic range:1,2• Inputs 1-4:>101 dB (A-weighted),98 dB (unweighted)• Inputs 5-8:>108 dB (A-weighted),105 dB (unweighted) 5• Alt Source Inputs:>99 dB (A-weighted),97 dB (unweighted)Frequency Response:• +0.15 / -0.5 dB,20 Hz – 20 kHz Input Impedance:• Inputs 1-4 (XLR):2 kohm • Inputs 1-4 (1/4"):10 MohmD/ASample Rate:• 44.1,48,88.2,96 kHz Max Output:• Main (1-2),Monitor,and Outputs (3-8):+18 dBu • Alt.–10 dBV Outputs:+4 dBV• Headphone Outputs:+15 dBu,150 ohm load THD+N:1,3,4• Main Outputs:<0.0016% (-95 dB)• Monitor Outputs:<0.0016% (-95 dB)• Outputs 3-8:<0.0023% (-93 dB)• Alt.–10 dBV Outputs:<0.0023% (-93 dB)Dynamic range:1,3,4• Main Outputs:114 dB (A-weighted),112 dB (unweighted)• Monitor Outputs:112 dB (A-weighted),110 dB (unweighted)• Outputs 3-8:114 dB (A-weighted),112 dB (unweighted)• Alt.–10 dBV Outputs:98 dB (A-weighted),95 dB (unweighted)Frequency Response:• +0.15 / -0.5 dB,20 Hz – 20 kHz Output Impedance:• 50 ohmsDimensions• W = 18.9 in /48.3 cm • D = 17.1 in /43.5 cm • H = 6.1 in /15.6 cm Weight:15 lbs,3.2 oz /6.9 kg FireWire cable• 6-pin to 6-pin,12 ft / 3.7 m1Measurement made using balanced connectors2ADC measured -60 dBFS method with a gain setting such that +18 dBu = 0 dBFS at S/PDIF output3Measured relative to level at 1 kHz4Measured with digital input at -60 dBFS @ 1 kHz 5Measured using "+4" setting。
About the T utorialScala is a modern multi-paradigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way. Scala has been created by Martin Odersky and he released the first version in 2003.Scala smoothly integrates the features of object-oriented and functional languages. This tutorial explains the basics of Scala in a simple and reader-friendly way.AudienceThis tutorial has been prepared for beginners to help them understand the basics of Scala in simple and easy steps. After completing this tutorial, you will find yourself at a moderate level of expertise in using Scala from where you can take yourself to next levels. PrerequisitesScala Programming is based on Java, so if you are aware of Java syntax, then it's pretty easy to learn Scala. Further if you do not have expertise in Java but if you know any other programming language like C, C++ or Python then it will also help in grasping Scala concepts very quickly.Disclaimer & Copyright© Copyright 2015 by Tutorials Point (I) Pvt. Ltd.All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher.We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or inthistutorial,******************************************.iT able of ContentsAbout this Tutorial (i)Audience (i)Prerequisites (i)Disclaimer & Copyright (i)Table of Contents .................................................................................................................................. i i 1.SCALA – OVERVIEW (1)Scala vs Java (2)Scala Web Frameworks (2)2.SCALA – ENVIRONMENT (3)Step 1: Verify your Java Installation (3)Step 2: Set your Java Environment (4)Step 3: Install Scala (4)3.SCALA – BASICS (7)First Scala Program (7)Script Mode (8)Basic Syntax (9)Scala Identifiers (9)Scala Keywords (10)Comments in Scala (11)Blank Lines and Whitespace (11)Newline Characters (12)Scala Packages (12)Apply Dynamic (12)ii4.SCALA – DATA (14)Scala Basic Literals (14)Escape Sequences (16)5.SCALA – VARIABLES (18)Variable Declaration (18)Variable Data Types (18)Variable Type Inference (19)Multiple assignments (19)Example Program (19)Variable Scope (20)6.SCALA – CLASSES & OBJECTS (22)Basic Class (22)Extending a class (24)Implicit Classes (26)Singleton Objects (28)7.SCALA – ACCESS MODIFIERS (30)Private Members (30)Protected Members (30)Public Members (31)Scope of Protection (32)8.SCALA – OPERATORS (34)Arithmetic Operators (34)Relational Operators (35)Logical Operators (37)Bitwise Operators (39)iiiOperators Precedence in Scala (46)9.SCALA – IF ELSE STATEMENT (48)if Statement (48)If-else Statement (49)If-else-if-else Statement (50)Nested if-else Statement (52)10.SCALA – LOOP STATEMENTS (54)While loop (55)do-while loop (57)for Loop (59)Loop Control Statements (66)Break Statement (66)Breaking Nested Loops (68)The infinite Loop (70)11.SCALA – FUNCTIONS (72)Function Declarations (72)Function Definitions (72)Calling Functions (73)Function Call-by-Name (74)Function with Variable Arguments (75)Function Default parameter values (76)Nested Functions (77)Partially Applied Functions (78)Function with Named arguments (80)Recursion Functions (81)ivAnonymous Functions (83)Currying Functions (84)12.SCALA – CLOSURES (86)13.SCALA – STRINGS (88)Creating a String (88)String Length (89)Concatenating Strings (89)Creating Format Strings (90)String Interpolation (91)The ‘f’ Interpolator (92)String Methods (94)14.SCALA – ARRAYS (98)Declaring Array Variables (98)Processing Arrays (99)Multi-Dimensional Arrays (100)Concatenate Arrays (102)Create Array with Range (103)Scala Array Methods (104)15.SCALA – COLLECTIONS (106)Scala Lists (106)Creating Uniform Lists (109)Tabulating a Function (110)Scala List Methods (111)Scala Sets (114)vFind max, min elements in set (117)Find Common Values Insets (118)Scala Map [K, V] (122)Concatenating Maps (124)Print Keys and Values from a Map (125)Check for a key in Map (126)Scala Map Methods (127)Scala Tuples (131)Iterate over the Tuple (132)Converting to String (133)Scala Options (134)Using getOrElse() Method (136)Using isEmpty() Method (137)Scala Option Methods (137)Scala Iterators (139)Find Min & Max values Element (140)Find the length of the Iterator (140)Scala Iterator Methods (141)16.SCALA – TRAITS (146)Value classes and Universal traits (148)When to Use Traits? (148)17.SCALA – PATTERN MATCHING (150)Matching using case Classes (151)18.SCALA – REGULAR EXPRESSIONNS (154)Forming Regular Expressions (156)vi19.SCALA – EXCEPTION HANDLING (161)Throwing Exceptions (161)Catching Exceptions (161)The finally Clause (162)20.SCALA – EXTRACTORS (164)Example (164)Pattern Matching with Extractors (165)21.SCALA – FILES I/O (167)Reading a Line from Command Line (167)Reading File Content (168)vii1.Scala, short for Scalable Language, is a hybrid functional programming language. It was created by Martin Odersky. Scala smoothly integrates the features of object-oriented and functional languages. Scala is compiled to run on the Java Virtual Machine. Many existing companies, who depend on Java for business critical applications, are turning to Scala to boost their development productivity, applications scalability and overall reliability.Here we have presented a few points that makes Scala the first choice of application developers.Scala is object-orientedScala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits which will be explained in subsequent chapters.Classes are extended by subclassing and a flexible Mixin-based composition mechanism as a clean replacement for multiple inheritance.Scala is functionalScala is also a functional language in the sense that every function is a value and every value is an object so ultimately every function is an object.Scala provides a lightweight syntax for defining anonymous functions, it supports higher-order functions, it allows functions to be nested, and supports currying functions. These concepts will be explained in subsequent chapters.Scala is statically typedScala, unlike some of the other statically typed languages (C, Pascal, Rust, etc.), does not expect you to provide redundant type information. You don't have to specify a type in most cases, and you certainly don't have to repeat it.Scala runs on the JVMScala is compiled into Java Byte Code which is executed by the Java Virtual Machine (JVM). This means that Scala and Java have a common runtime platform. You can easily move from Java to Scala.The Scala compiler compiles your Scala code into Java Byte Code, which can then be executed by the ‘scala’ command. The ‘s cala’ command is similar to the java command, in that it executes your compiled Scala code.Scala Scala can Execute Java CodeScala enables you to use all the classes of the Java SDK and also your own custom Java classes, or your favorite Java open source projects.Scala can do Concurrent & Synchronize processingScala allows you to express general programming patterns in an effective way. It reduces the number of lines and helps the programmer to code in a type-safe way. It allows you to write codes in an immutable manner, which makes it easy to apply concurrency and parallelism (Synchronize).Scala vs JavaScala has a set of features that completely differ from Java. Some of these are: ∙All types are objects∙Type inference∙Nested Functions∙Functions are objects∙Domain specific language (DSL) support∙Traits∙Closures∙Concurrency support inspired by ErlangScala Web FrameworksScala is being used everywhere and importantly in enterprise web applications. You can check a few of the most popular Scala web frameworks:∙The Lift Framework∙The Play framework∙The Bowler framework2Scala3Scala can be installed on any UNIX flavored or Windows based system. Before you start installing Scala on your machine, you must have Java 1.8 or greater installed on your computer.Follow the steps given below to install Scala.Step 1: V erify Y our Java InstallationFirst of all, you need to have Java Software Development Kit (SDK) installed on your system. To verify this, execute any of the following two commands depending on the platform you are working on.If the Java installation has been done properly, then it will display the current version and specification of your Java installation. A sample output is given in the following table. PlatformCommandSample OutputWindowsOpen Command Console and type:\>java –versionJava version "1.8.0_31" Java (TM) SE Run TimeEnvironment (build 1.8.0_31-b31) Java Hotspot (TM) 64-bit Server VM (build 25.31-b07, mixed mode)LinuxOpen Command terminal and type: $java –versionJava version "1.8.0_31"Open JDK Runtime Environment (rhel-2.8.10.4.el6_4-x86_64)Open JDK 64-Bit Server VM (build 25.31-b07, mixed mode)2.We assume that the readers of this tutorial have Java SDK version 1.8.0_31 installed on their system.In case you do not have Java SDK, download its current version from /technetwork/java/javase/downloads/index.html and install it.Step 2: Set Y our Java EnvironmentSet the environment variable JAVA_HOME to point to the base directory location where Java is installed on your machine. For example,Platform DescriptionWindows Set JAVA_HOME to C:\ProgramFiles\java\jdk1.7.0_60Linux Export JAVA_HOME=/usr/local/java-currentAppend the full path of Java compiler location to the System Path.Platform DescriptionWindows Append the String "C:\Program Files\Java\jdk1.7.0_60\bin" to the end of the system variable PATH.Linux Export PATH=$PATH:$JAVA_HOME/bin/Execute the command java -version from the command prompt as explained above.Step 3: Install ScalaYou can download Scala from /downloads. At the time of writing this tutorial, I downloaded ‘scala-2.11.5-installer.jar’. Make sure you have admin privilege to proceed. Now, execute the following command at the command prompt:Platform Command & Output Description4Windows\>java –jar scala-2.11.5-installer.jar\> This command will display an installation wizard, which will guide you to install Scala on your windows machine. During installation, it will ask for license agreement, simply accept it and further it will ask a path where Scala will be installed. I selected default given path “C:\Program Files\Scala”, you can select a suitable path as per your convenience.Linux Command:$java –jar scala-2.9.0.1-installer.jarOutput:Welcome to the installation of Scala2.9.0.1!The homepage is at: http://Scala-/press 1 to continue, 2 to quit, 3 toredisplay1 ................................................[ Starting to unpack ][ Processing package: Software PackageInstallation (1/1) ][ Unpacking finished ][ Console installation done ]During installation, it will ask forlicense agreement, to accept ittype 1 and it will ask a path whereScala will be installed. I entered/usr/local/share, you can select asuitable path as per yourconvenience.Finally, open a new command prompt and type Scala -version and press Enter. You should see the following:Platform Command Output5Windows \>scala -version Scala code runner version 2.11.5 -- Copyright 2002-2013, LAMP/EPFLLinux $scala -version Scala code runner version2.9.0.1 – Copyright 2002-2013, LAMP/EPFL6Scala7If you have a good understanding on Java, then it will be very easy for you to learn Scala. The biggest syntactic difference between Scala and Java is that the ‘;’ line end character is optional.When we consider a Scala program, it can be defined as a collection of objects that communicate via invoking each other’s methods. Let us now briefly look into what do class, object, methods and instant variables mean.∙Object - Objects have states and behaviors. An object is an instance of a class. Example: A dog has states - color, name, breed as well as behaviors - wagging, barking, and eating.∙Class - A class can be defined as a template/blueprint that describes the behaviors/states that object of its type support.∙Methods - A method is basically a behavior. A class can contain many methods. It is in methods where the logics are written, data is manipulated and all the actions are executed.∙Fields - Each object has its unique set of instant variables, which are called fields. An object's state is created by the values assigned to these fields.∙Closure - A closure is a function, whose return value depends on the value of one or more variables declared outside this function.∙Traits - A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Traits are used to define object types by specifying the signature of the supported methods.First Scala ProgramWe can execute a Scala program in two modes: one is interactive mode and another is script mode .Interactive ModeOpen the command prompt and use the following command to open Scala. \>ScalaIf Scala is installed in your system, the following output will be displayed:3.Welcome to Scala version 2.9.0.1Type in expressions to have them evaluated.Type: help for more information.Type the following text to the right of the Scala prompt and press the Enter key:Scala> println(“Hello, scala”);It will produce the following result:Hello, Scala!Script ModeUse the following instructions to write a Scala program in script mode. Open notepad and add the following code into it.object HelloWorld {/* This is my first java program.* This will print 'Hello World' as the output*/def main(args: Array[String]) {println("Hello, world!") // prints Hello World}}Save the file as: HelloWorld.scala.Open the command prompt window and go to the directory where the program file is saved. The ‘scalac’ command is used to compile the Scala program and it will generate a few class files in the current directory. One of them will be called HelloWorld.class. This is a bytecode which will run on Java Virtual Machine (JVM) using ‘scala’ command.Use the following command to compile and execute your Scala program.\>scalac HelloWorld.scala\>scala HelloWorldOutput:8Hello, World!Basic SyntaxThe following are the basic syntaxes and coding conventions in Scala programming.∙Case Sensitivity - Scala is case-sensitive, which means identifier Hello and hello would have different meaning in Scala.∙Class Names - For all class names, the first letter should be in Upper Case.If several words are used to form a name of the class, each inner word's first letter should be in Upper Case. Example: class MyFirstScalaClass.∙Method Names - All method names should start with a Lower Case letter.If multiple words are used to form the name of the method, then each inner word's first letter should be in Upper Case. Example: def myMethodName()∙Program File Name - Name of the program file should exactly match the object name. When saving the file you should save it using the object name (Remember Scala is case-sensitive) and append ‘.scala’ to the end of the name. (If the file name and the object name do not match your program will not compile).Example:Assume 'HelloWorld' is the object name. Then the file should be saved as 'HelloWorld.scala'.∙def main(args: Array[String]) - Scala program processing starts from the main() method which is a mandatory part of every Scala Program.Scala IdentifiersAll Scala components require names. Names used for objects, classes, variables and methods are called identifiers. A keyword cannot be used as an identifier and identifiers are case-sensitive. Scala supports four types of identifiers.Alphanumeric IdentifiersAn alphanumeric identifier starts with a letter or an underscore, which can be followed by further letters, digits, or underscores. The '$' character is a reserved keyword in Scala and should not be used in identifiers.Following are legal alphanumeric identifiers:age, salary, _value, __1_valueFollowing are illegal identifiers:9$salary, 123abc, -salaryOperator IdentifiersAn operator identifier consists of one or more operator characters. Operator characters are printable ASCII characters such as +, :, ?, ~ or #.Following are legal operator identifiers:+, ++, :::, <?>, :>,The Scala compiler will internally "mangle" operator identifiers to turn them into legal Java identifiers with embedded $ characters. For instance, the identifier :-> would be represented internally as $colon$minus$greater.Mixed IdentifiersA mixed identifier consists of an alphanumeric identifier, which is followed by an underscore and an operator identifier.Following are legal mixed identifiers:unary_+, myvar_=Here, unary_+ used as a method name defines a unary + operator and myvar_= used as method name defines an assignment operator (operator overloading).Literal IdentifiersA literal identifier is an arbitrary string enclosed in back ticks (` . . . `).Following are legal literal identifiers:`x` `<clinit>` `yield`Scala KeywordsThe following list shows the reserved words in Scala. These reserved words may not be used as constant or variable or any other identifier names.abstract case catch Class def do else extendsfalse final finally For10forSome if implicit importlazy match new Nullobject override package privateprotected return sealed super this throw trait Trytrue type val Varwhile with yield- : = =><- <: <% >:# @Comments in ScalaScala supports single-line and multi-line comments very similar to Java. Multi-line comments may be nested, but are required to be properly nested. All characters available inside any comment are ignored by Scala compiler.object HelloWorld {/* This is my first java program.* This will print 'Hello World' as the output* This is an example of multi-line comments.*/def main(args: Array[String]) {// Prints Hello World// This is also an example of single line comment.println ("Hello, world!")}}Blank Lines and WhitespaceA line containing only whitespace, possibly with a comment, is known as a blank line, and Scala totally ignores it. Tokens may be separated by whitespace characters and/or comments.11Newline CharactersScala is a line-oriented language where statements may be terminated by semicolons (;) or newlines. A semicolon at the end of a statement is usually optional. You can type one if you want but you don't have to if the statement appears by itself on a single line. On the other hand, a semicolon is required if you write multiple statements on a single line. Below syntax is the usage of multiple statements.val s = "hello"; println(s)Scala PackagesA package is a named module of code. For example, the Lift utility package is net.liftweb.util. The package declaration is the first non-comment line in the source file as follows:package com.liftcode.stuffScala packages can be imported so that they can be referenced in the current compilation scope. The following statement imports the contents of the scala.xml package:import scala.xml._You can import a single class and object, for example, HashMap from the scala.collection.mutable package:import scala.collection.mutable.HashMapYou can import more than one class or object from a single package, for example, TreeMap and TreeSet from the scala.collection.immutable package:import scala.collection.immutable.{TreeMap, TreeSet}Apply DynamicA marker trait that enables dynamic invocations. Instances x of this trait allow method invocations x.meth(args) for arbitrary method names meth and argument lists args as well as field accesses x.field for arbitrary field namesfield. This feature is introduced in Scala-2.10. If a call is not natively supported by x (i.e. if type checking fails), it is rewritten according to the following rules:foo.method("blah") ~~> foo.applyDynamic("method")("blah")12foo.method(x = "blah") ~~> foo.applyDynamicNamed("method")(("x", "blah"))foo.method(x = 1, 2) ~~> foo.applyDynamicNamed("method")(("x", 1), ("", 2))foo.field ~~> foo.selectDynamic("field")foo.varia = 10 ~~> foo.updateDynamic("varia")(10)foo.arr(10) = 13 ~~> foo.selectDynamic("arr").update(10, 13)foo.arr(10) ~~> foo.applyDynamic("arr")(10)13End of ebook previewIf you liked what you saw…Buy it from our store @ https://14。
给学校的图书馆提建议英语作文全文共3篇示例,供读者参考篇1Suggestions to Improve Our School LibraryAs a student who spends a significant amount of time in our school library, I have some thoughts and suggestions on how we could enhance this valuable resource. The library plays a crucial role in our academic journey, providing access to knowledge, fostering a love for reading, and serving as a sanctuary for learning and exploration. However, there is always room for improvement, and by implementing a few changes, we can create an even more inviting and efficient space for all.Firstly, I would like to address the issue of the library's collection. While our library boasts an impressive array of books, there are certain areas that could benefit from expansion and regular updates. In today's rapidly evolving world, it is essential to keep our resources current, particularly in fields such as technology, science, and current affairs. I suggest allocating a dedicated budget for the acquisition of the latest publications,ensuring that our library remains a relevant and up-to-date source of information.Additionally, I propose introducing a more diverse selection of reading materials. Our student body is rich in cultural diversity, and it would be wonderful to see this reflected in the library's offerings. By incorporating books, magazines, and other resources that cater to different languages, cultures, and perspectives, we can foster an inclusive environment that celebrates our school's diversity and encourages cross-cultural understanding.Moving on to the library's physical space, I believe there is room for improvement in terms of comfort and functionality. The current seating arrangements, while adequate, could be enhanced to create a more inviting and ergonomic environment. Investing in comfortable chairs and desks with adjustable heights would go a long way in promoting better posture and reducing fatigue during long study sessions. Additionally, the incorporation of more private study areas or soundproofed rooms would provide students with the option of a quieter, distraction-free environment when needed.Furthermore, I suggest exploring the possibility of introducing more technology-friendly spaces within the library.As we embrace the digital age, it becomes increasingly important to accommodate the needs of students who rely on laptops, tablets, and other devices for their studies. Dedicated charging stations, ample power outlets, and perhaps even a few computer workstations would greatly enhance the library's functionality and appeal to tech-savvy students.Another area that could benefit from attention is the library's online presence. In today's digital world, many students turn to the internet as their first source of information. By creating a user-friendly, comprehensive online catalog and resource portal, our library can remain relevant and accessible even beyond its physical walls. This online platform could feature a searchable database of the library's holdings, as well as links to reputable online resources, research databases, and digital archives. Additionally, the integration of an online reservation system for popular books and study rooms would streamline the borrowing process and minimize frustration caused by unavailability.Lastly, I believe that fostering a strong sense of community within the library is essential. One way to achieve this could be through the introduction of regular book clubs, author talks, or other literary events. These gatherings would not only promote the love of reading but also create opportunities for students toengage in stimulating discussions, share their perspectives, and form connections with like-minded individuals. Furthermore, collaborating with student organizations and clubs to host workshops, presentations, or exhibitions within the library could further enhance its role as a hub for intellectual and cultural exchange.In conclusion, our school library has the potential to become an even more valuable and dynamic space for learning, exploration, and personal growth. By addressing the areas outlined above, we can create a library that truly meets the diverse needs of our student body and fosters a vibrant learning community. I am confident that with the combined efforts of students, faculty, and library staff, we can transform our library into a model of excellence, one that inspires and empowers generations of learners to come.篇2Suggestions for Improving Our School LibraryAs students, we spend a considerable amount of time in the school library – whether it's for research, studying, or simply finding a quiet space to read. However, there are several areas where our library could be improved to better serve the needs ofits users. In this essay, I will outline some suggestions that could enhance the overall experience and make our library a more inviting and functional space.Expand the Book CollectionOne of the primary functions of a library is to provide access to a wide range of books and reading materials. Unfortunately, our library's collection feels somewhat limited, particularly in certain subject areas. For example, the selection of contemporary fiction and non-fiction titles is lacking, making it difficult for students to find engaging and up-to-date reading material.To address this issue, I would suggest that the library allocates a larger portion of its budget towards acquiring new books on a regular basis. Additionally, it would be beneficial to establish a system where students can submit requests for specific titles they would like to see added to the collection.Improve the Organization and NavigationWhile our library has a vast array of resources, navigating through them can be a daunting task. The current organization and labeling system can be confusing, making it challenging to locate specific books or materials efficiently.To simplify the process, I propose implementing a more user-friendly classification system that is intuitive and easy to understand. Clear signage and directional aids could also be installed throughout the library to guide students to the relevant sections.Furthermore, introducing a digital catalog or search system would greatly enhance the ability to locate desired materials quickly. This could be integrated into the school's website or made accessible through dedicated terminals within the library itself.Create Dedicated Study SpacesWhile our library provides ample seating, the current layout does not offer many dedicated spaces for individual or group study. Students often find themselves working in open areas, which can be distracting and counterproductive.To address this issue, I suggest designating specific areas within the library for quiet, focused study. These spaces could feature individual study carrels or small group study rooms, equipped with whiteboards, adequate lighting, andnoise-canceling features.Additionally, the implementation of adjustable lighting and temperature controls in these areas would allow students to customize the environment to their preferences, further enhancing their ability to concentrate and work effectively.Enhance Technology and Digital ResourcesIn today's digital age, it is essential for libraries to keep up with technological advancements and provide access to a wide range of digital resources. While our library does offer some computers and online databases, there is room for improvement in this area.Firstly, I would recommend increasing the number of computers available for student use, as well as ensuring that these machines are equipped with up-to-date software and fast internet connections.Secondly, the library could invest in a broader selection of online databases and e-book collections, covering a variety of subjects and disciplines. This would not only provide students with more research materials but also cater to different learning styles and preferences.Additionally, the introduction of multimedia stations or areas where students can access and work with audio-visual materials would be a valuable addition to the library's offerings.Foster a Welcoming and Engaging EnvironmentWhile functionality is crucial, it is also important for our library to cultivate an inviting and engaging atmosphere that encourages students to spend time there and take advantage of its resources.One way to achieve this would be to incorporate more comfortable and cozy seating areas, such as beanbags or plush chairs, where students can relax and read leisurely. These spaces could also feature ambient lighting and decorative elements to create a warm and inviting ambiance.Furthermore, the library could host regular events or activities that promote reading, learning, and community engagement. This could include book clubs, author talks, writing workshops, or even board game nights – all of which would foster a sense of community and encourage students to view the library as more than just a place to study.Collaborate with Students and FacultyFinally, and perhaps most importantly, I believe it is crucial for the library staff to actively collaborate with students and faculty members to gather feedback and suggestions for improvement continuously. After all, we are the primary users of the library, and our input should be valued and incorporated into any decision-making processes.Regular surveys or feedback forms could be distributed to gauge students' opinions on the current offerings and their specific needs or desires. Additionally, establishing a student advisory committee or council that works closely with the library staff could provide valuable insights and ensure that the library remains responsive to the evolving needs of its users.By fostering open communication and actively involving the student body and faculty members, our library can truly become a dynamic and user-centric space that serves as a hub for learning, exploration, and community-building.In conclusion, while our school library already provides valuable resources and services, there is always room for improvement. By expanding the book collection, improving organization and navigation, creating dedicated study spaces, enhancing technology and digital resources, fostering a welcoming and engaging environment, and collaborating withstudents and faculty, we can transform our library into a truly exceptional space that meets the diverse needs of its users. As students, we have a vested interest in ensuring that our library remains a vibrant and essential part of our academic experience, and these suggestions aim to achieve just that.篇3Suggestions to Improve Our School LibraryAs a student who spends a considerable amount of time in our school library, I've noticed several areas where improvements could be made to enhance the overall experience for everyone who utilizes this invaluable resource. While I appreciate the efforts of our librarians and the administration to maintain a functional and well-stocked library, there's always room for growth and adaptation to better cater to the evolving needs of the student body.One of the primary concerns I have is the limited selection of up-to-date reference materials and textbooks. In an era where knowledge is constantly expanding and evolving, it's crucial to ensure that our library keeps pace with the latest developments across various academic disciplines. Many of the textbooks and reference books on the shelves seem outdated, with some evencontaining obsolete information that could potentially mislead students. I strongly recommend allocating a portion of the library's budget to regularly update the collection with the most recent editions of essential texts and reference works.Another area that could benefit from improvement is the organization and categorization of books. While the Dewey Decimal System is a well-established method of classification, it can sometimes be confusing for students to navigate, especially those in lower grade levels or those unfamiliar with the system. I suggest exploring more user-friendly and intuitive categorization methods, perhaps incorporating visual aids or color-coding to make it easier for students to locate the books they need.Furthermore, I believe that our library could benefit from a more comprehensive digital resource collection. While we do have access to some online databases and e-books, the selection is rather limited. In today's digital age, many students prefer to access information electronically, whether through e-books, academic journals, or other online resources. Investing in a broader range of digital resources would not only cater to the preferences of tech-savvy students but also provide greateraccessibility to those who may have difficulty physically visiting the library.Another area of concern is the study environment within the library. While it is important to maintain a certain level of quiet and decorum, the current atmosphere can sometimes feel too restrictive and intimidating, especially for younger students or those who prefer a more collaborative learning environment. I propose the creation of designated group study areas or collaborative workspaces within the library, where students can engage in discussions, work on group projects, or participate in peer-to-peer learning activities without disrupting those who prefer a quieter setting.Additionally, I believe that the library could benefit from hosting more educational and engaging events or workshops. These could include author talks, book clubs, research skills workshops, or even creative writing sessions. Such events not only promote a love for reading and learning but also foster a sense of community within the school and encourage students to view the library as more than just a repository of books.In terms of physical space, our library could use some improvements as well. While the current layout is functional, it often feels cramped and uninviting, particularly during peakhours when students flock to the library for study sessions or research. Exploring ways to optimize the use of space, such as incorporating more comfortable seating areas, creating dedicated quiet zones, or even expanding the overall footprint of the library, could go a long way in enhancing the overall experience for students.Finally, I believe that our library could benefit from greater student involvement and input. Perhaps a student advisory council or committee could be formed, allowing students to voice their opinions, suggestions, and concerns directly to the librarians and administration. This would not only foster a sense of ownership and pride in the library but also ensure that the resources and services offered align with the evolving needs and preferences of the student body.In conclusion, while our school library is a valuable asset, there is always room for improvement. By addressing concerns such as outdated resources, organizational challenges, limited digital offerings, study environment constraints, lack of engaging events, spatial limitations, and lack of student involvement, we can transform our library into a truly dynamic and inclusive hub of learning, discovery, and intellectual growth. I firmly believe that implementing these suggestions will not only enhance theoverall student experience but also foster a deeper appreciation for the invaluable role that libraries play in our educational journey.。
介绍学校图书馆规章制度七年英语作文全文共6篇示例,供读者参考篇1My Favorite Place: The School LibraryThe school library is one of my favorite places to be. It's a magical world filled with books that can transport me to different lands, teach me new things, and spark my imagination. But it's not just a place for reading and exploring; it's also a place with rules that help keep everything organized and running smoothly.One of the most important rules is being quiet. The library is a place for reading, studying, and thinking, so we have to be respectful of others who are trying to concentrate. That's why we whisper instead of talking loudly, and we walk instead of running around like wild monkeys. It's like being in a secret club where everyone knows the secret handshake – except the handshake is being quiet and calm.Another rule is to handle the books with care. Books are like treasures, and we have to treat them gently so they last a long time. That means no ripping pages, no writing or drawing inthem, and no using them as frisbees or building materials for our forts. We have to be book guardians, protecting them from harm so others can enjoy them too.Speaking of enjoying books, there's a rule about borrowing them. We can take books home to read, but we have to remember to bring them back on time. If we keep them too long, we might have to pay a fine, which is like a little punishment for being forgetful. But it's okay because the library understands that sometimes we get so caught up in a good book that we lose track of time.There are also rules about where we can eat and drink in the library. Food and drinks are not allowed near the books because they could spill and damage the pages. Imagine trying to read a book that's been soaked in chocolate milk – not a pleasant experience! So, we have to be careful and save our snacks for outside the library.One of my favorite rules is about using the computers. The library has computers that we can use for research, typing up reports, or playing educational games. But we have to be responsible and not visit any inappropriate websites or do anything that might harm the computers. It's like having a special tool that we have to treat with respect.There are also rules about how to check out books and where to return them. We have to follow the proper procedures so that everything stays organized and easy to find. It's like a secret code that we have to learn, but once we do, it makes everything run smoothly.Overall, the school library is a wonderful place, and the rules are like guidelines that help us appreciate and respect it even more. They teach us responsibility, respect for others, and how to be good citizens in our little book community. So, the next time I'm in the library, I'll remember to follow the rules and be a good book guardian, quiet reader, and respectful computer user. Because that's what makes the library such a magical place.篇2Of course! Here's an essay introducing the library rules and regulations in your school, written from the perspective of an elementary school student, in approximately 2,000 words.Welcome to Our Wonderful School Library!Hi there! I'm so excited to tell you all about our amazing school library. It's like a magical wonderland filled with books, stories, and adventures waiting to be explored. But before we dive into the shelves, let me share with you the super importantrules we need to follow to keep this special place neat, organized, and enjoyable for everyone.Rule #1: Use Your Inside VoicesThe library is a calm and peaceful place where people come to read, study, and concentrate. That's why we have to use our inside voices at all times. No shouting, screaming, or making loud noises that could disturb others. We want to create a quiet and cozy atmosphere where everyone can focus and enjoy their books without distractions.Rule #2: Handle Books with CareBooks are our friends, and we need to treat them with love and respect. Always use clean hands when touching books, and turn the pages gently without folding or ripping them. If a book is damaged, let the librarian know right away so they can fix it or get a new copy. Remember, books are precious treasures that deserve our care and attention.Rule #3: Return Books on TimeBorrowing books from the library is like going on a fantastic adventure. But just like any adventure, it has to come to an end eventually. When you take a book home, make sure you keep track of the due date and return it on time. That way, otherstudents can enjoy the same book after you. If you need more time with a book, you can always ask the librarian to renew it for you.Rule #4: No Food or DrinksAs much as we love snacking while reading, food and drinks are not allowed in the library. Crumbs, spills, and stains can damage the books and make a mess that's hard to clean up. So, it's best to enjoy your snacks before or after your library visit, and keep them away from the books.Rule #5: Follow the Librarian's InstructionsOur librarian is like a wise wizard who knows everything about the library's magical world. They're here to help us find the perfect books, answer our questions, and make sure the library runs smoothly. It's important to always follow their instructions and treat them with respect. If you're not sure about something, just ask the librarian, and they'll be happy to guide you.Rule #6: Put Books Back in Their Proper PlacesImagine if someone came into your room and messed up all your toys and belongings. It would be pretty frustrating, right? That's why it's crucial to put books back in their proper places on the shelves after you're done reading them. This helps keep thelibrary organized and makes it easier for everyone to find the books they need.Rule #7: Be Kind and RespectfulLast but not least, our library is a place where everyone should feel welcome, respected, and safe. That means being kind to your classmates, teachers, and the librarian. Share the cozy reading nooks, take turns using the computers, and always treat others the way you'd like to be treated. By working together and showing kindness, we can make our library an even more wonderful place to be.I know it might seem like a lot of rules, but they're all designed to make our library experience the best it can be. By following these guidelines, we're helping to create a magical, peaceful, and organized space where we can explore new worlds, learn amazing things, and have lots of fun with books.So, let's all do our part to keep our school library a fantastic place to visit. Whether you're curling up with a beloved storybook, researching a fascinating topic, or discovering a brand-new adventure, the library is here to inspire, educate, and entertain us all.Happy reading, my friends!篇3Certainly! Here is a 2000-word essay on "Introduction to School Library Rules and Regulations" in English, written from the perspective of an elementary school student:Welcome to the Amazing World of Our School Library!Hi there, my friends! I'm Lily, a fourth-grader here at Sunshine Elementary School. I absolutely love our school library – it's like a magical kingdom filled with countless books, just waiting to be explored! But before we dive into the wonderful world of reading, let me share with you some important rules and regulations that we all need to follow to keep our library a happy and organized place.Rule #1: Use Your Indoor VoiceThe library is a special place where people come to read, study, and concentrate. That's why it's so important to use our indoor voices when we're inside. No shouting, yelling, or making loud noises, okay? We want to create a peaceful atmosphere that allows everyone to enjoy their books without any distractions.Rule #2: Handle Books with CareBooks are our friends, and we need to treat them with love and respect. That means no tearing pages, writing or drawing in them, or bending their covers. When you're done reading a book, make sure to put it back on the shelf in its proper place, so it's ready for the next reader. Remember, a well-cared-for book can be enjoyed by many generations of students!Rule #3: Follow the Borrowing ProcedureOur library has a borrowing system that allows us to take books home for a certain period of time. To borrow a book, you'll need to check it out at the circulation desk with Mrs. Johnson, our wonderful librarian. She'll scan the book's barcode and give you a due date when it needs to be returned. It's really important to bring the book back on time, so other students can have a chance to read it too.Rule #4: Return Books on TimeSpeaking of returning books, this is a super important rule! When you borrow a book, you'll be given a due date by Mrs. Johnson. Make sure to mark that date on your calendar or set a reminder on your phone, so you don't forget. If you need more time with the book, you can always ask Mrs. Johnson for a renewal. But if you don't return the book on time, there might be a small fine to pay.Rule #5: Keep the Library Neat and TidyOur library is a shared space, and we all need to do our part to keep it looking neat and tidy. That means putting books back on the shelves after we're done reading them, pushing in our chairs when we leave, and not leaving any trash or food behind.A clean and organized library makes it easier for everyone to find the books they're looking for.Rule #6: Ask for HelpDon't be afraid to ask for help if you can't find what you're looking for or if you have any questions! Mrs. Johnson and the other library staff are always happy to assist you. They can help you locate a specific book, recommend a good read based on your interests, or even teach you how to use the library's online catalog and resources.Rule #7: Respect OthersLast but not least, it's important to respect the other people in the library. That means being mindful of others who are trying to read or study, and not disturbing them with loud conversations or disruptive behavior. We're all part of the same library community, and by showing respect for one another, wecan create a welcoming and enjoyable environment for everyone.Well, those are the main rules and regulations of our school library! I know it might seem like a lot to remember, but they're all in place to ensure that our library runs smoothly and that everyone can make the most of this incredible resource.Just think of all the amazing adventures that await between the pages of the books here! You can explore distant galaxies, travel back in time, or even learn about fascinating real-life people and events. The library is truly a gateway to knowledge, imagination, and endless possibilities.So, the next time you visit our library, remember to follow these rules, and get ready to embark on incredible journeys through the wonderful world of books. Happy reading, my friends!篇4My School Library: A Wonderland of Books and RulesThe library at my school is a magical place, filled with books of all kinds – adventure stories that transport you to faraway lands, comic books bursting with vibrant colors, and even bookscrammed with fascinating facts about dinosaurs or outer space! It's like a treasure trove of knowledge and imagination, just waiting to be explored.But as amazing as our library is, it wouldn't work without some important rules to keep everything organized and running smoothly. At first, these rules might seem like a buzzkill, but trust me, they're there to make sure everyone can enjoy the library to the fullest!Rule #1: Silence is GoldenOne of the most well-known library rules is to keep quiet. And I get it – when you're engrossed in a riveting book, the last thing you want is someone yapping away or making a ruckus nearby. That's why we have to be as quiet as a mouse when篇5My School Library: A Wonderland of Books and RulesHello, everyone! I'm so excited to share with you all about the incredible library we have at our school. It's not just a place filled with books; it's a magical world where knowledge comes to life, and adventures await at every turn. However, to ensure that this wonderland remains a delightful and orderly place for all ofus, we have some important rules and regulations to follow. Let me take you on a journey through our library's guidelines!First and foremost, let's talk about the most crucial rule: respecting the books. You see, these books are like precious treasures, each one holding a wealth of stories, facts, and ideas within its pages. We must handle them with care, turning the pages gently and avoiding any mistreatment that could damage them. After all, we want these books to continue inspiring generations of readers for years to come.Next, there's the matter of silence. Our library is a sanctuary of tranquility, a place where we can immerse ourselves in the worlds created by authors without distractions. That's why we must maintain a hushed and respectful environment, speaking only in whispers if necessary. Imagine trying to concentrate on an exciting adventure while someone nearby is loudly chatting or making unnecessary noise – it would be nearly impossible!Speaking of noise, we also have to be mindful of our electronic devices. While technology can be a wonderful tool for learning and research, the sounds and vibrations from phones, tablets, and other gadgets can disrupt the peaceful atmosphere of the library. Therefore, we kindly ask that all devices be set to silent mode or turned off entirely while inside.Now, let's talk about borrowing books. Our library has a vast collection, and we want everyone to have the opportunity to explore as many titles as possible. That's why we have a system in place for checking out books. Each student is allowed to borrow a certain number of books at a time, and they must be returned by the due date. This ensures that the books keep circulating and that everyone has a chance to read their favorite stories or research their favorite topics.Another important rule concerns food and drinks. While we all love a good snack or a refreshing beverage, these items can pose a serious threat to our beloved books. Crumbs, spills, and sticky fingers can potentially ruin the pages or covers, which is why we kindly ask that all food and drinks remain outside the library. Trust me; you don't want to be responsible for damaging a rare or valuable book!Lastly, let's talk about the library's organizational system. Our books are carefully arranged according to specific categories and genres, making it easier for us to find what we're looking for. It's crucial that we respect this organization by returning books to their proper places after we've finished reading them. Imagine the chaos that would ensue if books were left scattered around willy-nilly!Well, there you have it, my friends – the essential rules and regulations that keep our school library running smoothly. By following these guidelines, we can ensure that our library remains a true wonderland of knowledge, adventure, and literary delights for generations to come. So, let's all do our part to keep this magical place in pristine condition, shall we?篇6My School Library: A World of Wonder and RulesThe library at my school is a magical place where books come alive, and knowledge dances on every shelf. It's a sanctuary for curious minds like mine, filled with endless adventures waiting to be discovered. However, amidst the enchantment of books, there are rules that we must follow to ensure harmony and respect for this sacred space.One of the most important rules is maintaining a peaceful atmosphere. The library is a haven for quiet study and reading, so we must speak in hushed tones or whispers. Imagine if everyone spoke loudly – it would be like trying to read in the middle of a playground during recess! That's why we practice the art of silence, allowing the words on the pages to captivate our minds without distraction.Another crucial rule is treating the books with care. These precious tomes are like little friends, and we must handle them gently. We never dog-ear the pages or write in the books, as that would be like scribbling on a friend's face! Instead, we use bookmarks to mark our places and ensure the books remain in pristine condition for future readers.When we borrow books, we must remember to return them on time. The library has a system in place to keep track of all the books, and if we don't return them promptly, others might miss out on the chance to read those wonderful stories. It's like borrowing a friend's toy – we wouldn't want to keep it forever, right?Speaking of borrowing, we have a limit on the number of books we can take home at once. This rule ensures that everyone has a fair chance to explore the library's vast collection. Imagine if one person hoarded all the books – how unfair would that be? By following the borrowing limit, we share the joy of reading and give others the opportunity to dive into new literary worlds.In the library, we walk at a leisurely pace, almost like we're tiptoeing through a field of flowers. Running or rushing would be like stomping through those delicate petals, disturbing thetranquility of the space. So, we take our time, savoring each step and allowing the calm energy of the library to envelop us.Snacks and drinks are strictly forbidden in the library, as we wouldn't want any accidental spills or crumbs damaging the precious books. It's like having a tea party in a room full of priceless antiques – not the best idea! Instead, we enjoy our snacks before or after our library adventure, ensuring the books remain pristine for generations to come.While the library is a place of wonder and excitement, we must remember to follow the rules set by our librarians. They are the guardians of this literary realm, dedicated to preserving the sanctity of knowledge. Obeying their instructions is like following a wise wizard's advice – it helps us navigate the library's enchanting maze of shelves without causing any mishaps.Lastly, we must always treat our fellow library-goers with respect. Just as we appreciate the quietness, others do too. We wouldn't want someone's loud chatter or disruptive behavior to ruin our enjoyment of a captivating story, would we? By being considerate and following the rules, we create a harmonious environment where everyone can immerse themselves in the magic of books.The library is a treasure trove of knowledge, adventure, and wonder, but it's also a place of order and etiquette. By adhering to these rules, we not only ensure the library remains a sanctuary for learning but also cultivate a sense of responsibility and respect within ourselves. So, let's embark on our literary journeys with a spirit of curiosity and a deep appreciation for the library's enchanting realm.。
RELEASE NOTESMATRIXx™Version 7.1These release notes contain system requirements, and information aboutnew features included in MATRIXx 7.1, the Xmath, AutoCode, andSystemBuild Modules.Platforms, Requirements, and DeliverablesMATRIXx runs on Windows 2000/NT/XP and Solaris 7 and 8.The MATRIXx 7.1 product CD includes Altia Design 5.28, AltiaFacePlate5.28, and the MATRIXx 7.1 Bookshelf in portable documentformat (PDF) .The MATRIXx Help requires an Internet Browser that can run JavaScript.Microsoft Internet Explorer or Netscape Navigator can be used. DocumentationThe MATRIXx Bookshelf is part of the MATRIXx 7.1 CD and can beinvoked from the Xmath Help menu or by opening the $MATRIXX/xmath/help/bookshelf/matrixx.pdf file in Adobe Acrobat Reader. TheMATRIXx Bookshelf displays a structured list of MATRIXx manualsavailable in PDF. To view PDF documents, you must have Adobe AcrobatReader Version 5.0.5 or later with Search and Accessibility to use thesearch functionality. You can download the reader from .The MATRIXx Bookshelf PDF includes documentation for all MATRIXxproducts including Xmath, SystemBuild, AutoCode, and DocumentIt. Italso includes FLEXlm End User Manual from Macrovision Software andanimation documentation from Altia.Hardcopy DocumentationPDF files can be printed on most printers. For more information on AdobePDF format or related products, refer to the Adobe Web site at. MATRIXx Help can be printed from the InternetBrowser.MATRIXx HelpMATRIXx provides a hypertext markup language (HTML) Help system.The MATRIXx Help is a self-contained system with multiple hypertextlinks from one topic to another. To start the MATRIXx Help and getinstructions on viewing, navigating, and printing topics, type helpmatrixx in the Xmath Commands window or direct your Internet Browserto file://$MATRIXX/xmath/help/help.html.the $MATRIXX environment variable as shown above. Alternatively, you may use theInternet Browser’s Browse feature when selecting File»Open in the browser. What’s New in MATRIXx 7.1The following features have been added since the release ofMATRIXx6.32:•Xmath graphics function plot2d()providing access to plot() anduiplot() features plus multiple windows and data viewing.•Xmath PC Debugger window allows you to interactively debug, edit,save, and re-run MathScript functions and commands.•Xmath PC command line now echoes the last invalid Xmath commandentered, highlighting the invalid part of the command. This makes iteasier to correct a mistake and re-enter the command.•Configuration management interface to commercial file and versioncontrol systems.•Enhanced SystemBuild Catalog Browser provides a Catalog view andFile view. The File view folders represent all currently openedMATRIXx data files and when selected, lists the catalog objects andXmath partitions associated with each file. The Catalog view adds newfolders for Model, Variables, User Types, and Xmath Partitions.•IfThenElse blocks now have output ports (pins) and a prolog section.•Block diagram enhancements, including allowing pins to enter or exitfrom any side, flexible block name positioning, and expandedcharacter set for labels.MATRIXx 7.1 Release •State Transition Diagram (STD) enhancements allow Input and Outputlabels to be defined and displayed on STD diagrams. The STDproperties dialog box now has Input, Output, and Comment tabs.•Optimized and restructured fixed-point functions achieving more than50% size reduction in some applications.•Code generation template for the Wind River RTOS: VxWorks 5.4.•Improvements to AutoCode and DocumentIt.•FLEXlm License Management Software was upgraded from 6.0kto8.4a. FLEXlm 8.4a has a license borrowing feature enablingMATRIXx to be used on a portable computer off-site with a borrowedlicense.•MATRIXx 7.1 replaces the FLEXlm mtxlmd license daemon in the$MTXHOME/ISILM directory with the National Instruments FLEXlmnilm license daemon residing in the new $MTXHOME/NILM directory. New or Improved FeaturesEnhanced Catalog BrowserThe Catalog Browser has an enhanced Catalog pane on the left side of theSystemBuild Catalog Browser, which has the following new sections underMain—Model, Variables, and UserTypes. A new Xmath Partitions sectionwas added. It can be expanded to display a folder to each Xmath Partition.Selecting an Xmath Partition causes the Contents pane (right side) todisplay the name, size, and comment for all of the variables in the partition.The model hierarchy tree which previously displayed under the SuperBlockfolder is now displayed under the new Model folder and will display nestedState Diagrams.The folders for SuperBlocks, State Diagrams, DataStores, Components,Variables, User Types, and Xmath Partitions each display anon-hierarchical list of elements.The Variables folder acts similarly to the DataStores folder. When selected,the Contents pane displays all of the Global Variables defined at this scopeof the catalog.The UserType folder, when selected, displays in the Contents pane all theUser Types defined in the Main SystemBuild Catalog. In previous releases,the User Types were stored in the Xmath partition _usertypes andcreated using the usertype Xmath GUI. Since the release ofMATRIXx7.0, User Types are now stored in the SystemBuild MainCatalog and can be created using the old usertype Xmath GUI, SBAcreateusertype command or by selecting File»New»UserType in theCatalog Browser.© National Instruments Corporation3MATRIXx 7.1 Release NotesState Transition Diagram EnhancementsTransition conditions displayed in the STD diagram can now optionallyselect U n (for example, U, U2, U3), InputLabels, or InputSignals in thetransition expression. The format of the outputs displayed on Bubbles(Moore) and transitions (Mealy) in the STD diagram can now optionallyselect ChannelNumbers, Y n (for example, Y, Y2, Y3), or OutputLabels.The InputLabels and OutputLabels are entered in the new Input, Output,and Comment tabs of the STD Properties dialog box. The InputLabels andOutputLabels entered in the STD Properties dialog box can be propagatedto STD references using the PropagateLabels checkbox in the STDreference block dialog box Display tab, similar to SuperBlock references.The STD Properties dialog box Input tab has the following fields:InstancePath, InputDisplay, Higher Level InputSignal(s), and InputLabel(s). The InstancePath fields display a list-box containingSBname/blkId for all locations this STD is referenced. Changing theInstancePath updates the Higher Level Input Signal(s) column to displaythe signal names of the inputs connected to the STD reference.The STD Properties dialog box Output tab has the following fields:OutputDisplay, OutputLabel(s), Activating Bubble(s), ActivatingTransition(s), Deactivating Bubble(s), and Deactivating Transition(s). Theactivating and deactivating columns show which BubbleIds or Transitions{FromBubbleId, priority} set or reset each STD output.Improved Block Face and InterfacesSystemBuild has interfaces that allow pins to enter or exit from any side(top, left, right, or bottom) for input or output pins. You can define a blockinput face and a block output face independently.You can rotate block names by using the rotation keyword. Block andblock name rotation are independent. You can use the new directionkeyword to toggle the definitions of the block input and output faces.Block Diagram EnhancementsSystemBuild 7.1 includes 4-way input/output face entry/exit. You canselect a left (existing), right, top, or bottom entry or exit for a block fromthe Inputs or the Display tab.MATRIXx 7.1 Release Configuration ManagementThe configuration management (CM) feature of SystemBuild enhances theability to manage data files in Rational ClearCase 3.2.1 or later, MerantPVCS6.6 or later, and (Windows) Microsoft Visual SourceSafe 6.0 or later.CM, accessed from the Versioning menu and the FileView tab of theCatalog Browser, has the following features:•Saves catalog items into their home files.•Provides a file view for viewing currently loaded files.•Tracks status on new, modified, moved, overwritten, and deleted items.•Provides a seamless interface to basic CM operations from withinSystemBuild.For detailed information about the above and other CM features, refer to theSystemBuild User Guide.Extended Character Set for LabelsSystemBuild supports an extended character set for block output labels andSuperBlock external input labels. This extended character set includes the!"#$%'*+,-./<=>?@^ characters and the rest of the standard ASCII128character set, except it excludes all control characters (ASCII 1–32)and (){}[]:;\`|~&.IfThenElse BlockThe IfThenElse block has been improved with output ports (pins) and aProlog section.The IfThenElse block output ports are available from the face of the firstcondition block in the IfThenElse block chain. You can connect to theseports as if they were the output ports of any other standard block. Outputfrom each of the block sections is connectable to the output ports the sameway the output of the content of a SuperBlock is connected to its externaloutput. With this capability, you no longer need to use variable blocks andthe Sequencer with the IfThenElse block.You can define default values for each output channel in the Prolog section.SystemBuild executes the Prolog section before any other IfThenElsesections. This guarantees that all of the output has been defined.If any of the output of the IfThenElse block is not connected in each sectionof the block structure, some output may not be assigned if that output is notdefined in the branch of the block that is being executed. This can causesome of the output to be undefined unless you use the Prolog section.© National Instruments Corporation5MATRIXx 7.1 Release NotesThis section appears as the uppermost section in the block and is definedby typing prolog in the Code tab of the IfThenElse Block Propertiesdialog box.Signal SplittingSignal splitting is now marked in a diagram. Signal splitting occurs whenone output is connected to the input of multiple blocks. These markers areplaced automatically on the SystemBuild diagram whenever two or moreconnection lines that share the same path from the same source branch off.AutoCode and DocumentItAutoCode7.1 provides the following new features:•Fixed-point libraries (standalone utilities and more source code files)•Variable step-size solver•Code Generation template support for VxWorks 5.4•Name mangling report•makefile generation and the acmake command•The AutoCode SDK interface is now part of the AutoCode productXmathXmath 7.1 introduces plot2d(), a graphics function that provides ashortcut to PGUI uiPlot() features for users familiar with the plotfunction. plot2d() accepts the parameters and keywords of both plot()and uiPlot(). By converting plot() function calls to plot2d(), youcan employ all uiPlot() functionality, including:•Multiple Plot Windows—You can create plots on multiple windowsfrom the Xmath Commands window and address plot commands toany given existing plot window.•Enhanced Command Capability—You can specify and update allplot attributes with keywords issued from the Xmath Commandswindow.•Interactive Data Viewing—With the mouse, you can interactivelydisplay the x and y values of points along any plot line.•Multiple Y Axes—You can display multiple Y axis scales on a plot.•Improved Default Background and Line Colors—New defaultbackground and line colors improve the visual presentation of plots.•Improved Plot Attributes—Grid line and tick mark spacings, as wellas text font sizes, are determined relative to the size of the plot.•Plot Legend Placement—You control placement of plot legends withplot2d command options.MATRIXx 7.1 Release For more information about Xmath graphics, refer to the Xmath User Guideand the uiPlot and plot2d topics of the MATRIXx Help.Xmath Debugger WindowThe Xmath Debugger Window is now available for Microsoft Windowsand allows you to interactively debug MathScript functions and commands.All debugging functions can be controlled from it. The PC DebuggerWindow has the same layout as the UNIX version. The editable sourcecode is displayed on the top with the error message area in the middle andan array of buttons for controlling the debugging session on the bottom.The line that is about to be executed is highlighted, unless there are errorsin the function, in which case the highlighted line points to the error.Breakpoints can be set by moving the cursor in the source code to thedesired line of code and the clicking the Set Break button.Watchpoints can be set by using the mouse to highlight the name of thevariable you want to watch and clicking the Set Watch button.One use case for the Debugger Window is when an error occurs in afunction. In that case, the Debugger Window displays highlightingthe line in error. The function source code can be modified and saveddirectly in the Debugger Window. By clicking the Rerun button, thefunction can be rerun using the same input arguments. Additional MATRIXx InformationFor more information on MATRIXx or other National Instrumentsproducts, refer to the National Instruments Web site at .Refer to the MATRIXx product documentation or visit /supportfor more information.© National Instruments Corporation7MATRIXx 7.1 Release NotesAutoCode™, DocumentIt™, MATRIXx™, National Instruments™, NI™, ™, SystemBuild™, and Xmath™ are trademarks of National Instruments Corporation. Product and company names mentioned herein are trademarks or trade names of their respective companies. For patents coveringNational Instruments products, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your CD, or /patents.© 2003–2004 National Instruments Corp. All rights reserved.371151A-01Apr04 *371151A-01*。
Detailed example of running IBM MQ Explorerto setup JMS Administered objects in the JNDI .bindings fileand test with sample JmsJndiProducer for queue and topichttps:///support/pages/node/6956770Date last updated: 26-Jun-2023Angel RiveraIBM MQ Supporthttps:///products/mq/supportFind all the support you need for IBM MQ+++ Objective +++Detailed example of running IBM MQ Explorer to setup JMS Administered objects in the JNDI .bindings file and test with the MQ JMS sample JmsJndiProducer for putting a message into a queue and for publishing a message to a topic.Note 1: About using MQ ExplorerIf you have installed MQ Explorer in the host where you want to have your JDNI .bindings file, then it is far easier to use MQ Explorer than the JMSAdmin tool.For more information on using the MQ Explorer for this task, see the online manual: https:///docs/en/ibm-mq/9.3?topic=explorer-creating-configuring-jms-administered-objectsIBM MQ / 9.3Creating and configuring JMS administered objectsYou can use IBM® MQ Explorer to configure the JMS administered objects that enable communication between Java™ applications and IBM MQ.Note 2: For Jakarta Messaging 3.0- You cannot administer JNDI using IBM MQ Explorer.- JNDI administration is supported by the Jakarta Messaging 3.0 variant of JMSAdmin, which is JMS30Admin.+ Related tutorial for JMS Admin:If you want to use the command line utility JMSAdmin see:https:///support/pages/node/481027Detailed example of running IBM MQ JMSAdmin to setup JMS Administered objects in the JNDI .bindings file and test with sample JmsJndiProducer for queue and topic++ Requirements ++You need:- The MQ Java fileset (MQSeriesJava)- The MQ Samples fileset (MQSeriesSamples), which provides the sample JmsJndiProducer - A Java Runtime Environment (JRE). You can use the JRE shipped with MQ.- The MQ Explorer.- Note: MQ Explorer 9.3 has been removed from the main product installers (Linux x86-64 and Windows), that is, is no longer included with the MQ server package from IBM Passport Advantage. But it is available as a separate download from IBM Fix Central:https:///mqexplorer- The MQ samples for JMS are located at:Linux:/opt/mqm/samp/jms/samples/JmsJndiProducer.class.rpm fileset: MQSeriesSamples-9.2.0-5.x86_64Windows:C:\Program Files\IBM\MQ\tools\jms\samples- It is necessary to have a Java Runtime Environment (JRE) installed in the machine.MQ already provides one, if you install the following components:Linux:$ rpm -qa | grep MQSeriesJREExample output:MQSeriesJRE-9.3.0-2.x86_64Windows:C:\> reg.exe query"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IBM\WebSphereMQ\Installation" /s…HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IBM\WebSphereMQ\Installation\Installation1\ComponentsJRE REG_SZ Installed++ Configuration- Host-1: Queue Manager in Linux RHEL MQ version.release: 9.3.0.2 LTSHost-1: volterra1Queue Manager Name:QM93Port: 1414Server-Connection Channel: MY.CHANNEL - Host-2L Client in Linux RHELMQ version.release: 9.2.0.6 LTSHost-2: suvetero1User: mqm- Host-3: Client in Windows 10MQ version.release: 9.3.0.2 LTSHost-3: tolteca1User: Administrator+++ Procedure +++++ Step 1: You must use "setmqenv" to setup the MQ environment variables.Login as MQ Administrator.It is very important that you always establish the proper setup for MQ via the command "setmqenv" because it will define the environment variables, updated the PATH, and update the CLASSPATH for Java/JMS programs.In Linux and AIX you must "source" it! (That is, type a dot, then a space, then the setmqenv command and parameters).The following use the default Installation directories.Linux:. /opt/mqm/bin/setmqenv -n InstallationAIX:. /usr/mqm/bin/setmqenv -n InstallationWindows:"C:\Program Files\IBM\MQ\bin\setmqenv" -n Installation1+ Highly recommended: Create a script that invokes setmqenv and adds samples directory+ LinuxYou can create a shell script and invoke it in your .bashrc file that issues the setmqenv command and adds the samples directories into the PATH and your current directory into the CLASSPATH, in that way, it will be easier to run the samples.Note that the "export PATH" is a very long single line!# Name: set-mq-inst1# Purpose: to setup the environment to run MQ in Installation1. /opt/mqm/bin/setmqenv -n Installation1# Additional MQ directories for the PATHexportPATH=$PATH:$MQ_INSTALLATION_PATH/java/bin:$MQ_INSTALLATION_PATH/samp/ bin:$MQ_INSTALLATION_PATH/samp/jms/samples:# Add local directory for running Java/JMS programsexport CLASSPATH=$CLASSPATH:.# Display the full fix pack leveldspmqver -f 2# end+ WindowsYou can create a batch command file and invoke it in your Windows terminal, that issues the setmqenv command and adds the samples directories into the PATH and your current directory into the CLASSPATH, in that way, it will be easier to run the samples.Note that the "SET PATH" is a very long single line!REM Setup the environment to run MQ from Installation1CALL "C:\Program Files\IBM\MQ\bin\setmqenv" -n Installation1REM Adding Samples to the pathSETPATH=%PATH%;%MQ_FILE_PATH%\Tools\c\Samples\Bin;%MQ_FILE_PATH%\Tools\c \Samples\Bin64;%MQ_FILE_PATH%\Tools\jms\samples;%MQ_JAVA_INSTALL_PATH %\bin\dspmqver -f 2SET CLASSPATH=%CLASSPATH%;.++ Step 2: Creation of physical objects (for example, a Queue) in the queue manager Note:This document assumes that the queue manager is already created and that the proper security/authorizations are in place.For more details, see the following tutorial:https:///support/pages/node/1135522Configuring IBM MQ to use a dedicated Listener, Channel and Queue in LinuxThe following is an example:Host-1: Queue Manager name: QM93Port: 1414Ensure to have the following test queue:$ runmqsc QM93DEFINE QL(Q1)DEFINE TOPIC(T1) TOPICSTR('TOPIC1')END++ Step 3: Create a directory where the JMS configuration objects will be located in a file name ".bindings".Login as an MQ Administrator.You can create the following subdirectory in the same directory where the other MQ objects are stored (variable: MQ_DATA_PATH)JNDI-Directory- Linux:mkdir /var/mqm/JNDI-Directory- Windows:mkdir %MQ_DATA_PATH%\JNDI-Directory+ File permissions and ownershipThe permissions and ownership must allow read-write permission to the user "mqm" and read-execute for group and others:$ ls -dl /var/mqm/JNDI-Directorydrwxr-xr-x 2 mqm mqm 91 Jun 26 05:52 /var/mqm/JNDI-Directory$ ls -al-rw-r--r-- 1 mqm mqm 15880 Jun 23 05:56 .bindingsIf the file permission / ownership are not correct, then at runtime, JMSAdmin may issue the following error, which is very vague and generic.Unable to bind object++ Step 4: Launch MQ Explorer to add JMS Administered objects - Launch MQ Explorer- On the left navigation panel, scroll down to the bottom.- Select:JMS Administered Objects- Right click and select:Add Initial Context…- You will see a dialog that says "Connection details"Let's look at the top part about:Where is the JNDI namespace located and the JNDI Service ProviderThis top part is the equivalent of the following attribute in the JMSAdmin.config file: INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactoryThis means that the JNDI will be a FILE, named:.bindingsThe bottom part specifies the full path of the directory where the .bindings file will be located.For this tutorial is:C:\ProgramData\IBM\MQ\JNDI-DirectoryThis is the equivalent following attribute in the JMSAdmin.config file:PROVIDER_URL- For Windows:Notice only 1 forward slash after "file:" and notice the drive letter "C:/" and that the slash is FORWARD SLASH:For example:file:/C:/ProgramData/IBM/MQ/JNDI-Directory/- For UNIX:Notice the 3 forward slashes after "file:"For example:file:///var/mqm/JNDI-DirectoryFollow the prompts and click on "Finish"The MQ Explorer will show the entry for the new "Initial Context"In the future, you may need to "manually connect" to this Initial Context. Expand the folders for the Initial ContextYou will see 2 folders and at this time they are empty:Connection FactoriesDestinationsLet's add our first Connection Factory.Select the folder "Connection Factories", right click on "New" and then click on"Connection Factory…"In the next dialog, enter the name:CF1Accept the default that this will be a "Connection Factory" (JMS 1.1 standard)Note: The very old JMS 1.0 standard had "Queue Connection Factory" and "T opic Connection Factory".In the next screen you need to select for the "Transport" type:MQ ClientClick Next.Because we do not have another Connection Factory so far, click Next.In the next page you will see a notebook with several tabs.The first tab is "General".Ensure that you have the name (CF1) and transport type (CLIENT)Select the tab: ConnectionSpecify the queue manager (QM93) and the connection list [(1414)]Select the tab: ChannelsSpecify the server-connection channel (MY.CHANNEL)All these selections are the equivalent of the following command for JMSAdmin: DEF CF(CF1) QMGR(QM93) CHANNEL(MY.CHANNEL) TRANSPORT(CLIENT) HOSTNAME() PORT(1414)Click on "Finish"You will see now our 1st entry in the right panel of the Connection Factories:Let's proceed to define our Destination Queue Q1.Select the folder "Destinations", right click "New" and select "Destination…"In the next dialog, enter the name: Q1… and specify that the type is: QueueClick Next.You will see a notebook with T abs. We are only interested in the tab: GeneralYou need to enter the queue manager name (QM93) and the name of the queue (Q1). These options are the equivalent of the following JMSAdmin command:DEF Q(Q1) QMGR(QM93) QUEUE(Q1)You will see now our 1st entry (queue Q1) in the Destinations section, on the right panel.Let's proceed to create the topic.On the left panel, select "Destinations", right click "New", then "Destination".Enter the name T1 and ensure to specify the type to be "T opic"You will see a notebook dialog with several tabs.We are only interested in the tab: GeneralEnsure that we have the name "T1" and the topic "TOPIC1"These options are the equivalent of the following JMSAdmin command:DEF T(T1) TOPIC('TOPIC1')You will see now our 2nd entry (topic T1) in the Destinations section, on the right panel. You can see the .bindings file in the desired directory:++ Step 5: Copy the .bindings file to other hosts (if needed)Because the creation of the .bindings file is far easier via MQ Explorer, then possibly you could create this file in a Windows host and then copy the .bindings file into another host, such as AIX or Linu.You will need to store the file in the desired directory in the other host, such as in:/var/mqm/JNDI-Directory++ Step 6: Run the MQ sample: JmsJndiProducerThe MQ sample JmsJndiProducer can be used to:- Access an JNDI to look up for the Connection Factory and a Destination (queue or topic) - Put a message into a queue.- Or publish a message into a topic.In Linux, the sample is in:/opt/mqm/samp/jms/samples/JmsJndiProducer.javaIn Windows, the sample is in:C:\Program Files\IBM\MQ\tools\jms\samples\JmsJndiProducer.java+ What to enter into the -I flag (Initial Context, aka JNDI file .bindings)?The following is a bit tricky.You need to specify exactly the value of the URI from the MQ Explorer:In Windows:file:/C:/ProgramData/IBM/MQ/JNDI-DirectoryIn Linux:file:///var/mqm/JNDI-Directory+ Putting a message into Destination Queue Q1 (from Linux)We are using only Linux to show this example.But the usage from Windows is the same, of course, the flag -i will be different.Note:If your only "java" executable is the one provided by MQ, then its full path name is:/opt/mqm/java/jre64/jre/bin/java******************:/opt/mqm/samp/jms/samples$ cd /opt/mqm/samp/jms/samples/$ java JmsJndiProducer -i file:///var/mqm/JNDI-Directory -c CF1 -d Q1 Initial context found!Sent message:JMSMessage class: jms_textJMSType: nullJMSDeliveryMode: 2JMSDeliveryDelay: 0JMSDeliveryTime: 1676754470495JMSExpiration: 0JMSPriority: 4JMSMessageID:ID:414d5120514d39332020202020202020eabeef63013f0040JMSTimestamp: 1676754470495JMSCorrelationID: nullJMSDestination: queue://QM93/Q1JMSReplyTo: nullJMSRedelivered: falseJMSXAppID: JmsJndiProducerJMSXDeliveryCount: 0JMSXUserID: mqmJMS_IBM_PutApplType: 28JMS_IBM_PutDate: 20230218JMS_IBM_PutTime: 21075050JmsJndiProducer: Your lucky number today is 467SUCCESSNotice the output line that indicates that the destination is a queue, and provides the name of the queue manager and the queue:JMSDestination: queue://QM93/Q1++ Browsing the message.+ Using the MQ sample "amqsbcg"Notice the RHF2 (RFH) header, shown in blue.Example:amqsbcg Q1 QM93AMQSBCG0 - starts here**********************MQOPEN - 'Q1'MQGET of message number 1, CompCode:0 Reason:0****Message descriptor****StrucId : 'MD ' Version : 2Report : 0 MsgType : 8Expiry : -1 Feedback : 0Encoding : 273 CodedCharSetId : 1208Format : 'MQHRF2 'Priority : 4 Persistence : 1MsgId : X'414D5120514D393357494E20202020202D0E7664012B0040'CorrelId : X'000000000000000000000000000000000000000000000000'BackoutCount : 0ReplyToQ : ' ' ReplyToQMgr : 'QM93 '** Identity ContextUserIdentifier : '594079897 'AccountingToken :X'16010501000000480366CD527F8B47B07254FAC264847300000000000000000C' ApplIdentityData : ' '** Origin ContextPutApplType : '11'PutApplName : 'JmsProducer 'PutDate : '20230530' PutTime : '14562385'ApplOriginData : ' 'GroupId : X'000000000000000000000000000000000000000000000000'MsgSeqNumber : '1'Offset : '0'MsgFlags : '0'OriginalLength : '-1'**** Message ****length - 177 of 177 bytes00000000: 5246 4820 0000 0002 0000 0094 0000 0111 'RFH .......ö....' 00000010: 0000 04B8 4D51 5354 5220 2020 0000 0000 '....MQSTR ....' 00000020: 0000 04B8 0000 0020 3C6D 6364 3E3C 4D73 '....... <mcd><Ms' 00000030: 643E 6A6D 735F 7465 7874 3C2F 4D73 643E 'd>jms_text</Msd>' 00000040: 3C2F 6D63 643E 2020 0000 0048 3C6A 6D73 '</mcd> ...H<jms' 00000050: 3E3C 4473 743E 7175 6575 653A 2F2F 2F51 '><Dst>queue:///Q' 00000060: 313C 2F44 7374 3E3C 546D 733E 3136 3835 '1</Dst><Tms>1685' 00000070: 3435 3835 3833 3834 353C 2F54 6D73 3E3C '458583845</Tms><' 00000080: 446C 763E 323C 2F44 6C76 3E3C 2F6A 6D73 'Dlv>2</Dlv></jms' 00000090: 3E20 2020 5075 7420 5465 7374 204A 4D53 '> Put Test JMS' 000000A0: 204D 6573 7361 6765 2077 6974 6820 5246 ' Message with RF' 000000B0: 48 'H '+ Using the MQ ExplorerSelect the desired queue, then right click to show the context menu. Then select: Browse Messages…You will see the messages in the queue.Double click on the desired message.T o see the JMS header, select the tab: Named Properties++ Publishing a message into Destination T opic T1 (from Windows)We are using only Windows to show this example.But the usage from Linux is the same, of course, the flag -i will be different.Note:If your only "java" executable is the one provided by MQ, then its full path name is:"C:\Program Files\IBM\MQ\java\jre\bin\java"C:\> "C:\Program Files\IBM\MQ\java\jre\bin\java" JmsJndiProducer -i file:/C:/ProgramData/IBM/MQ/JNDI-Directory -c CF1 -d T1Initial context found!Sent message:JMSMessage class: jms_textJMSType: nullJMSDeliveryMode: 2JMSDeliveryDelay: 0JMSDeliveryTime: 1676753963274JMSExpiration: 0JMSPriority: 4JMSMessageID:ID:414d5120514d39332020202020202020eabeef63013c0040JMSTimestamp: 1676753963274JMSCorrelationID: nullJMSDestination: topic://TOPIC1JMSReplyTo: nullJMSRedelivered: falseJMSXAppID: JmsJndiProducerJMSXDeliveryCount: 0JMSXUserID: mqmJMS_IBM_ConnectionID:414D5143514D39332020202020202020EABEEF63003B0040JMS_IBM_PutApplType: 28JMS_IBM_PutDate: 20230218JMS_IBM_PutTime: 20592253JmsJndiProducer: Your lucky number today is 260SUCCESSNotice the output line that indicates that the destination is a queue, and provides the name of the topic:JMSDestination: topic://'TOPIC1'+++ end +++。
User Guide for Borrowing Licenses with INGRLicUtility.exeA command line utility is provided to facilitate automated procedures for the borrowing and return of licenses from certificate based concurrent license servers.The maximum time allowed for a borrowed license is 90 days except in special cases.Execute the INGRLicUtility.exe command line utility from a command prompt. The screen will display the output or it can be included in a batch script and run silently with no output.NOTE: This utility returns values into the dynamic environment variable ERRORLEVEL. This variable value is computed dynamically each time the value of the variable is expanded. If the user explicitly defines a variable with this name, then that definition will override the dynamic one and unexpected results will occur.The command line utility, INGRLicUtility.exe, will be delivered to the program folder of the version of common licensing that is installed on the system. For example, for the x64 version 11.x of Common Licensing, the executable will be delivered in C:\Program Files\Intergraph\Licensing\11.x\Program. How to Invoke INGRLicUtility.exeA summary of the command line parameters and their usage are shown below. Optional parameters are shown in brackets []. The details of the specific command line parameters follow the command line examples. NOTE: The parameters are case sensitive.To check if a license is currently borrowed on the machine use this command line: INGRLicUtility.exe -isBorrowed -licenseFeature LICENSE_FEATURE-licenseVersion myVersion [-verbose]When the –isBorrowed command line option is used, the utility checks if the specified license feature name and version is borrowed. If it is, the utility returns the number of days remaining before the license expires. If the license is not borrowed, the utility returns a negative value. A list of common error codes is included later in the document.To borrow a license from a license server use this command line:INGRLicUtility.exe -borrow -server @myServer -licenseFeature LICENSE_FEATURE-licenseVersion myVersion -date dd-mmm-yyyy[-time hh:mm] [-verbose]When the –borrow command line option is used, the utility will borrow the specified license feature name and version from the given license server. The –date (dd-mmm-yyyy format) and –time (24-hour format hh:mm) parameters specify the date when the license will expire on the client and be reclaimed on the given server. The –time parameter is optional. A negative return value will specify an error. A list of common error codes is included later in the document.To return a borrowed license to a license server use this command line:INGRLicUtility.exe -return -server @myServer -licenseFeature LICENSE_FEATURE [-verbose]When the –return command line option is used, the utility will return the borrowed license which corresponds to the specified license feature name to the given license server. A negative return value will specify an error.Command Line Parameters-isBorrowed: Specifies that the command line utility is to check if the license is borrowed.-borrow: Specifies that the command line utility is to attempt to borrow the license.-return: Specifies that the command line utility is to attempt to return the license.-licenseFeature: This parameter specifies the license feature name to be used by the utility. This is usually the name of the product to be licensed or an abbreviation. For example, the license feature name for GeoMedia Professional is GeoMedia_Professional. This is the name you would see for a licensed product in a license file. If you do not know the license feature name of the product for which you wish to borrow a license, contact your system administrator.-licenseVersion: This parameter specifies the license feature version associated with the license feature name. The license version is the major and minor version numbers (major.minor) of the product and does not include all the fixes versions; for example 6.1. If you do not know the license feature version of the product for which you wish to borrow a license, contact your system administrator.-server: This parameter specifies the certificate based concurrent license server to borrow a license from or return a license to. This parameter must always start with an @ sign. The server itself can be specified either by the name of the server or by its IP address; for example, @myServer or@123.456.789.012.-date: This parameter specifies the date on which the borrowed license should expire and be reclaimed by the license server. The date parameter is in dd-mmm-yyyy format. For example, 12-Sep-2011 is a valid date format.-time: This optional parameter specifies the time at which the borrowed license should expire on the given date. The time parameter is in the 24 hour hh:mm format. For example, 15:22 is a valid time format.-verbose: This optional parameter specifies that informational and error messages should be written to stdout. If this parameter is not specified, nothing will be written to stdout.Example WorkflowThe following example is a batch script that calls the command line utility to check to see if a license is borrowed, borrows a license and then returns it. NOTE: the parameters for the –borrow call should all be on a single line.REMREM %1 : dd-mmm-yyyy date for license borrowREM %2 : hh:mm time for license borrowREM %3 : -verbose flag to show output or not (optional, if left off it will be silent)REMREMREM Check to see if the desired license is borrowed. If it is not, borrow it, otherwise report the numberREM of days till expiration.REMINGRLicUtility.exe -isBorrowed -licenseFeature GeoMedia_Professional -licenseVersion 6.1 "%3"if %ERRORLEVEL% LSS 0 (ECHO License is not borrowed.) ELSE (ECHO Number of days till expiration = %ERRORLEVEL%GOTO RETURNBORROW)REMREM Since the license is not borrowed, we'll continue with the testREM and try to borrow a license without the -time option.REMINGRLicUtility.exe -borrow -server @FlexTest -licenseFeature GeoMedia_Professional-licenseVersion 6.1 -date "%1" "%3"if %ERRORLEVEL% LSS 0 (ECHO Failure: Borrow failed.GOTO FAILTEST)REMREM Check to see if the desired license is borrowed. If it is not, borrow it, otherwise report the numberREM of days till expiration.REMINGRLicUtility.exe -isBorrowed -licenseFeature GeoMedia_Professional -licenseVersion 6.1 "%3"if %ERRORLEVEL% LSS 0 (ECHO Failure: License is not borrowed.GOTO FAILTEST) ELSE (ECHO Number of days till expiration = %ERRORLEVEL%GOTO RETURNBORROW):RETURNBORROWREMREM Return the borrowed license. Do this test with the IP address of FlexTest.REMINGRLicUtility.exe -return -server @129.135.178.151 -licenseFeature GeoMedia_Professional "%3"if %ERRORLEVEL% LSS 0 (ECHO Failure: License is not returned.GOTO FAILTEST)ECHO Test passed!GOTO SKIPFAIL:FAILTESTECHO Test failed!:SKIPFAILCommon Error codesThe following table includes a list of common error codes. It is possible that other errors may occur. If you need additional diagnostic information, create a blank ascii file called licerr.txt in c:\temp and run the process again. Diagnostic information from lower level licensing functions will be written to this file that may help you determine the cause of your problems.。