• Login
sketchucation logo sketchucation
  • Login
πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

Notepad++ SU8 Ruby API Autocomplete

Scheduled Pinned Locked Moved Developers' Forum
62 Posts 12 Posters 13.9k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    thomthom
    last edited by 5 Jan 2011, 22:55

    @jim said:

    I only use Npp occasionally, but can test it out - what do i do with the file and how to I activate auto-complete?

    Added Install info in first post.

    Thomas Thomassen β€” SketchUp Monkey & Coding addict
    List of my plugins and link to the CookieWare fund

    1 Reply Last reply Reply Quote 0
    • D Offline
      Dan Rathbun
      last edited by 6 Jan 2011, 15:16

      @thomthom said:

      There appear to be something not working quite right. I'm not getting all the words in the suggestion list. For instance, it won't display "Sketchup" as a suggestion - despite it being there in the list.

      Auto Completion Wiki
      "The basic character set used to recognise keywords is made of letters a-z, A-Z, 0-9 digis and the underscore. You can add more characters ... by specifying he additionalWordChars parameter in the environment."

      So wouldn't we need a additionalWordChars=" .:" attribute in the Environment tag, to allow space, dot and colon (in Keywords) ??

      EDIT: add "=" to that list.

      I'm not here much anymore.

      1 Reply Last reply Reply Quote 0
      • T Offline
        thomthom
        last edited by 6 Jan 2011, 15:30

        Ah - good link. I was looking for a resource like that.

        Why you need dot colon in keywords?
        = Seem to work anyway. Space was already there.

        I made this definition so getters would be
        " materials.current"

        setters would be
        " materials.current ="

        Thomas Thomassen β€” SketchUp Monkey & Coding addict
        List of my plugins and link to the CookieWare fund

        1 Reply Last reply Reply Quote 0
        • T Offline
          thomthom
          last edited by 6 Jan 2011, 15:32

          @dan rathbun said:

          Auto Completion Wiki

          @unknownuser said:

          Depending on the value of the 'ignoreCase' attribute in the 'Environment' element, the XML file has to be sorted case sensitive or case insensitive (if the attribute is absent it will default to case sensitive).

          Ah! Well that explains a few things!

          Thomas Thomassen β€” SketchUp Monkey & Coding addict
          List of my plugins and link to the CookieWare fund

          1 Reply Last reply Reply Quote 0
          • D Offline
            Dan Rathbun
            last edited by 6 Jan 2011, 15:33

            @thomthom said:

            Why you need dot colon in keywords?
            = Seem to work anyway. Space was already there.

            Just wondering if it was required so that the feature can lookup things correctly.

            I'm not here much anymore.

            1 Reply Last reply Reply Quote 0
            • D Offline
              Dan Rathbun
              last edited by 6 Jan 2011, 15:45

              @dan rathbun said:

              @thomthom said:

              Why you need dot colon in keywords?
              = Seem to work anyway. Space was already there.

              Just wondering if it was required so that the feature can lookup things correctly.

              More information on this link: Autocompletion, aka API, files, which says:

              @unknownuser said:

              additionalWordChar: character(s) that may be part of words and which are not a lower or upper case letter, a digit or the underscore. The value is a string with all these extra characters, in any order and without separators. The string is empty by default.
              EDIT .. more info from that page:
              @unknownuser said:

              Names
              For both call tips and autocompletion to work, keywords must be words, ie identifiers most languages would readily accept. This means that only the 26 Latin alphabet letters in either lower or upper case (no diacritics), digits and the underscore are safe to use. Additional allowed characters will work if they are not whitespace. Autocompletion may cope with spaces or blanks, call tips won't. This is a Scintilla limitation.

              I'm not here much anymore.

              1 Reply Last reply Reply Quote 0
              • T Offline
                tomasz
                last edited by 12 Jan 2011, 14:19

                Thank you!

                Author of [Thea Render for SketchUp](http://www.thearender.com/sketchup)

                1 Reply Last reply Reply Quote 0
                • T Offline
                  thomthom
                  last edited by 1 Feb 2011, 20:02

                  Revision 3 - 01.02.2011
                  Rebuilt the list from scratch. Used only the classes and methods from Ruby 1.8.6 and SketchUp API. (The old file seemed to have lots of Ruby On Rails references.)

                  Thomas Thomassen β€” SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    Dan Rathbun
                    last edited by 1 Feb 2011, 20:55

                    Do you it's possible to have whole qualified classnames and constants in the AutoComplete?

                    Examples:

                    Math::PI

                    File::SEPARATOR

                    Sketchup::Drawingelement

                    UI::Toolbar

                    etc. ??

                    I'm not here much anymore.

                    1 Reply Last reply Reply Quote 0
                    • D Offline
                      Dan Rathbun
                      last edited by 1 Feb 2011, 20:56

                      I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis. Notepad++ got confused and took them to be a parameter (argument) list.

                      I'm not here much anymore.

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        thomthom
                        last edited by 1 Feb 2011, 21:04

                        @dan rathbun said:

                        I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis.

                        ❓

                        @dan rathbun said:

                        Do you it's possible to have whole qualified classnames and constants in the AutoComplete?

                        Yes, it's possible. Some Ruby classes are listed like that. File for instance. (Just ripped it directly from the docs.)
                        Is there a list of available?

                        (I just ripped the class names and methods from the Ruby docs and SU docs - without further processing.) So constants and nesting is missing.

                        Thomas Thomassen β€” SketchUp Monkey & Coding addict
                        List of my plugins and link to the CookieWare fund

                        1 Reply Last reply Reply Quote 0
                        • D Offline
                          Dan Rathbun
                          last edited by 1 Feb 2011, 21:13

                          @thomthom said:

                          @dan rathbun said:

                          I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis.

                          ❓

                          These are the ones that caused problems (but the ver 3 does not have them.)

                          old_NPP_autocomplete.png

                          I'm not here much anymore.

                          1 Reply Last reply Reply Quote 0
                          • D Offline
                            Dan Rathbun
                            last edited by 1 Feb 2011, 21:17

                            @thomthom said:

                            @dan rathbun said:

                            Do you it's possible to have whole qualified classnames and constants in the AutoComplete?

                            Is there a list of available?

                            Both ver 2, and the original (Didier's version?) have fully qualified classes that you can cut and paste from.

                            For constants we'll have to compile a list.

                            I'm not here much anymore.

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              thomthom
                              last edited by 1 Feb 2011, 21:37

                              @dan rathbun said:

                              @thomthom said:

                              @dan rathbun said:

                              I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis.

                              ❓

                              These are the ones that caused problems (but the ver 3 does not have them.)

                              [attachment=0:ef22v8uz]<!-- ia0 -->old_NPP_autocomplete.png<!-- ia0 -->[/attachment:ef22v8uz]

                              Oh! Didn't noticed that.

                              @dan rathbun said:

                              Both ver 2, and the original (Didier's version?) have fully qualified classes that you can cut and paste from.

                              Ah, yea. I did that manually for v2.

                              Thomas Thomassen β€” SketchUp Monkey & Coding addict
                              List of my plugins and link to the CookieWare fund

                              1 Reply Last reply Reply Quote 0
                              • D Offline
                                Dan Rathbun
                                last edited by 2 Feb 2011, 10:53

                                Here's the 1.8.6 constant list for the Errno module, on the PC:

                                For PC (note! OSX SystemCallError subclasses may differ.)

                                		<Keyword name="Errno;;E2BIG"/>
                                		<Keyword name="Errno;;E2BIG;;Errno"/>
                                		<Keyword name="Errno;;EACCES"/>
                                		<Keyword name="Errno;;EACCES;;Errno"/>
                                		<Keyword name="Errno;;EADDRINUSE"/>
                                		<Keyword name="Errno;;EADDRINUSE;;Errno"/>
                                		<Keyword name="Errno;;EADDRNOTAVAIL"/>
                                		<Keyword name="Errno;;EADDRNOTAVAIL;;Errno"/>
                                		<Keyword name="Errno;;EAFNOSUPPORT"/>
                                		<Keyword name="Errno;;EAFNOSUPPORT;;Errno"/>
                                		<Keyword name="Errno;;EAGAIN"/>
                                		<Keyword name="Errno;;EAGAIN;;Errno"/>
                                		<Keyword name="Errno;;EALREADY"/>
                                		<Keyword name="Errno;;EALREADY;;Errno"/>
                                		<Keyword name="Errno;;EBADF"/>
                                		<Keyword name="Errno;;EBADF;;Errno"/>
                                		<Keyword name="Errno;;EBUSY"/>
                                		<Keyword name="Errno;;EBUSY;;Errno"/>
                                		<Keyword name="Errno;;ECHILD"/>
                                		<Keyword name="Errno;;ECHILD;;Errno"/>
                                		<Keyword name="Errno;;ECONNABORTED"/>
                                		<Keyword name="Errno;;ECONNABORTED;;Errno"/>
                                		<Keyword name="Errno;;ECONNREFUSED"/>
                                		<Keyword name="Errno;;ECONNREFUSED;;Errno"/>
                                		<Keyword name="Errno;;ECONNRESET"/>
                                		<Keyword name="Errno;;ECONNRESET;;Errno"/>
                                		<Keyword name="Errno;;EDEADLK"/>
                                		<Keyword name="Errno;;EDEADLK;;Errno"/>
                                		<Keyword name="Errno;;EDEADLOCK"/>
                                		<Keyword name="Errno;;EDEADLOCK;;Errno"/>
                                		<Keyword name="Errno;;EDESTADDRREQ"/>
                                		<Keyword name="Errno;;EDESTADDRREQ;;Errno"/>
                                		<Keyword name="Errno;;EDOM"/>
                                		<Keyword name="Errno;;EDOM;;Errno"/>
                                		<Keyword name="Errno;;EDQUOT"/>
                                		<Keyword name="Errno;;EDQUOT;;Errno"/>
                                		<Keyword name="Errno;;EEXIST"/>
                                		<Keyword name="Errno;;EEXIST;;Errno"/>
                                		<Keyword name="Errno;;EFAULT"/>
                                		<Keyword name="Errno;;EFAULT;;Errno"/>
                                		<Keyword name="Errno;;EFBIG"/>
                                		<Keyword name="Errno;;EFBIG;;Errno"/>
                                		<Keyword name="Errno;;EHOSTDOWN"/>
                                		<Keyword name="Errno;;EHOSTDOWN;;Errno"/>
                                		<Keyword name="Errno;;EHOSTUNREACH"/>
                                		<Keyword name="Errno;;EHOSTUNREACH;;Errno"/>
                                		<Keyword name="Errno;;EILSEQ"/>
                                		<Keyword name="Errno;;EILSEQ;;Errno"/>
                                		<Keyword name="Errno;;EINPROGRESS"/>
                                		<Keyword name="Errno;;EINPROGRESS;;Errno"/>
                                		<Keyword name="Errno;;EINTR"/>
                                		<Keyword name="Errno;;EINTR;;Errno"/>
                                		<Keyword name="Errno;;EINVAL"/>
                                		<Keyword name="Errno;;EINVAL;;Errno"/>
                                		<Keyword name="Errno;;EIO"/>
                                		<Keyword name="Errno;;EIO;;Errno"/>
                                		<Keyword name="Errno;;EISCONN"/>
                                		<Keyword name="Errno;;EISCONN;;Errno"/>
                                		<Keyword name="Errno;;EISDIR"/>
                                		<Keyword name="Errno;;EISDIR;;Errno"/>
                                		<Keyword name="Errno;;ELOOP"/>
                                		<Keyword name="Errno;;ELOOP;;Errno"/>
                                		<Keyword name="Errno;;EMFILE"/>
                                		<Keyword name="Errno;;EMFILE;;Errno"/>
                                		<Keyword name="Errno;;EMLINK"/>
                                		<Keyword name="Errno;;EMLINK;;Errno"/>
                                		<Keyword name="Errno;;EMSGSIZE"/>
                                		<Keyword name="Errno;;EMSGSIZE;;Errno"/>
                                		<Keyword name="Errno;;ENAMETOOLONG"/>
                                		<Keyword name="Errno;;ENAMETOOLONG;;Errno"/>
                                		<Keyword name="Errno;;ENETDOWN"/>
                                		<Keyword name="Errno;;ENETDOWN;;Errno"/>
                                		<Keyword name="Errno;;ENETRESET"/>
                                		<Keyword name="Errno;;ENETRESET;;Errno"/>
                                		<Keyword name="Errno;;ENETUNREACH"/>
                                		<Keyword name="Errno;;ENETUNREACH;;Errno"/>
                                		<Keyword name="Errno;;ENFILE"/>
                                		<Keyword name="Errno;;ENFILE;;Errno"/>
                                		<Keyword name="Errno;;ENOBUFS"/>
                                		<Keyword name="Errno;;ENOBUFS;;Errno"/>
                                		<Keyword name="Errno;;ENODEV"/>
                                		<Keyword name="Errno;;ENODEV;;Errno"/>
                                		<Keyword name="Errno;;ENOENT"/>
                                		<Keyword name="Errno;;ENOENT;;Errno"/>
                                		<Keyword name="Errno;;ENOEXEC"/>
                                		<Keyword name="Errno;;ENOEXEC;;Errno"/>
                                		<Keyword name="Errno;;ENOLCK"/>
                                		<Keyword name="Errno;;ENOLCK;;Errno"/>
                                		<Keyword name="Errno;;ENOMEM"/>
                                		<Keyword name="Errno;;ENOMEM;;Errno"/>
                                		<Keyword name="Errno;;ENOPROTOOPT"/>
                                		<Keyword name="Errno;;ENOPROTOOPT;;Errno"/>
                                		<Keyword name="Errno;;ENOSPC"/>
                                		<Keyword name="Errno;;ENOSPC;;Errno"/>
                                		<Keyword name="Errno;;ENOSYS"/>
                                		<Keyword name="Errno;;ENOSYS;;Errno"/>
                                		<Keyword name="Errno;;ENOTCONN"/>
                                		<Keyword name="Errno;;ENOTCONN;;Errno"/>
                                		<Keyword name="Errno;;ENOTDIR"/>
                                		<Keyword name="Errno;;ENOTDIR;;Errno"/>
                                		<Keyword name="Errno;;ENOTEMPTY"/>
                                		<Keyword name="Errno;;ENOTEMPTY;;Errno"/>
                                		<Keyword name="Errno;;ENOTSOCK"/>
                                		<Keyword name="Errno;;ENOTSOCK;;Errno"/>
                                		<Keyword name="Errno;;ENOTTY"/>
                                		<Keyword name="Errno;;ENOTTY;;Errno"/>
                                		<Keyword name="Errno;;ENXIO"/>
                                		<Keyword name="Errno;;ENXIO;;Errno"/>
                                		<Keyword name="Errno;;EOPNOTSUPP"/>
                                		<Keyword name="Errno;;EOPNOTSUPP;;Errno"/>
                                		<Keyword name="Errno;;EPERM"/>
                                		<Keyword name="Errno;;EPERM;;Errno"/>
                                		<Keyword name="Errno;;EPFNOSUPPORT"/>
                                		<Keyword name="Errno;;EPFNOSUPPORT;;Errno"/>
                                		<Keyword name="Errno;;EPIPE"/>
                                		<Keyword name="Errno;;EPIPE;;Errno"/>
                                		<Keyword name="Errno;;EPROTONOSUPPORT"/>
                                		<Keyword name="Errno;;EPROTONOSUPPORT;;Errno"/>
                                		<Keyword name="Errno;;EPROTOTYPE"/>
                                		<Keyword name="Errno;;EPROTOTYPE;;Errno"/>
                                		<Keyword name="Errno;;ERANGE"/>
                                		<Keyword name="Errno;;ERANGE;;Errno"/>
                                		<Keyword name="Errno;;EREMOTE"/>
                                		<Keyword name="Errno;;EREMOTE;;Errno"/>
                                		<Keyword name="Errno;;EROFS"/>
                                		<Keyword name="Errno;;EROFS;;Errno"/>
                                		<Keyword name="Errno;;ESHUTDOWN"/>
                                		<Keyword name="Errno;;ESHUTDOWN;;Errno"/>
                                		<Keyword name="Errno;;ESOCKTNOSUPPORT"/>
                                		<Keyword name="Errno;;ESOCKTNOSUPPORT;;Errno"/>
                                		<Keyword name="Errno;;ESPIPE"/>
                                		<Keyword name="Errno;;ESPIPE;;Errno"/>
                                		<Keyword name="Errno;;ESRCH"/>
                                		<Keyword name="Errno;;ESRCH;;Errno"/>
                                		<Keyword name="Errno;;ESTALE"/>
                                		<Keyword name="Errno;;ESTALE;;Errno"/>
                                		<Keyword name="Errno;;ETIMEDOUT"/>
                                		<Keyword name="Errno;;ETIMEDOUT;;Errno"/>
                                		<Keyword name="Errno;;ETOOMANYREFS"/>
                                		<Keyword name="Errno;;ETOOMANYREFS;;Errno"/>
                                		<Keyword name="Errno;;EUSERS"/>
                                		<Keyword name="Errno;;EUSERS;;Errno"/>
                                		<Keyword name="Errno;;EWOULDBLOCK"/>
                                		<Keyword name="Errno;;EWOULDBLOCK;;Errno"/>
                                		<Keyword name="Errno;;EXDEV"/>
                                		<Keyword name="Errno;;EXDEV;;Errno"/>
                                
                                

                                output via: Ruby console and type (one-liner):
                                Errno.constants.sort.each {|e| puts %Q[\t\t<Keyword name="Errno::#{e}"/>\n\t\t<Keyword name="Errno::#{e}::Errno"/>\n] }
                                Then copy and paste into the ruby.xml file for Notepad++

                                I'm not here much anymore.

                                1 Reply Last reply Reply Quote 0
                                • D Offline
                                  Dan Rathbun
                                  last edited by 2 Feb 2011, 11:01

                                  Here's the 1.8.6 constant list for the File module:

                                  		<KeyWord name="File;;ALT_SEPARATOR"/>
                                  		<KeyWord name="File;;APPEND"/>
                                  		<KeyWord name="File;;BINARY"/>
                                  		<KeyWord name="File;;CREAT"/>
                                  		<KeyWord name="File;;Constants;;APPEND"/>
                                  		<KeyWord name="File;;Constants;;BINARY"/>
                                  		<KeyWord name="File;;Constants;;CREAT"/>
                                  		<KeyWord name="File;;Constants;;EXCL"/>
                                  		<KeyWord name="File;;Constants;;FNM_CASEFOLD"/>
                                  		<KeyWord name="File;;Constants;;FNM_DOTMATCH"/>
                                  		<KeyWord name="File;;Constants;;FNM_NOESCAPE"/>
                                  		<KeyWord name="File;;Constants;;FNM_PATHNAME"/>
                                  		<KeyWord name="File;;Constants;;FNM_SYSCASE"/>
                                  		<KeyWord name="File;;Constants;;LOCK_EX"/>
                                  		<KeyWord name="File;;Constants;;LOCK_NB"/>
                                  		<KeyWord name="File;;Constants;;LOCK_SH"/>
                                  		<KeyWord name="File;;Constants;;LOCK_UN"/>
                                  		<KeyWord name="File;;Constants;;NONBLOCK"/>
                                  		<KeyWord name="File;;Constants;;RDONLY"/>
                                  		<KeyWord name="File;;Constants;;RDWR"/>
                                  		<KeyWord name="File;;Constants;;TRUNC"/>
                                  		<KeyWord name="File;;Constants;;WRONLY"/>
                                  		<KeyWord name="File;;EXCL"/>
                                  		<KeyWord name="File;;FNM_CASEFOLD"/>
                                  		<KeyWord name="File;;FNM_DOTMATCH"/>
                                  		<KeyWord name="File;;FNM_NOESCAPE"/>
                                  		<KeyWord name="File;;FNM_PATHNAME"/>
                                  		<KeyWord name="File;;FNM_SYSCASE"/>
                                  		<KeyWord name="File;;LOCK_EX"/>
                                  		<KeyWord name="File;;LOCK_NB"/>
                                  		<KeyWord name="File;;LOCK_SH"/>
                                  		<KeyWord name="File;;LOCK_UN"/>
                                  		<KeyWord name="File;;NONBLOCK"/>
                                  		<KeyWord name="File;;PATH_SEPARATOR"/>
                                  		<KeyWord name="File;;RDONLY"/>
                                  		<KeyWord name="File;;RDWR"/>
                                  		<KeyWord name="File;;SEEK_CUR"/>
                                  		<KeyWord name="File;;SEEK_END"/>
                                  		<KeyWord name="File;;SEEK_SET"/>
                                  		<KeyWord name="File;;SEPARATOR"/>
                                  		<KeyWord name="File;;Separator"/>
                                  		<KeyWord name="File;;TRUNC"/>
                                  		<KeyWord name="File;;WRONLY"/>
                                  
                                  

                                  I'm not here much anymore.

                                  1 Reply Last reply Reply Quote 0
                                  • D Offline
                                    Dan Rathbun
                                    last edited by 2 Feb 2011, 11:09

                                    Here's the 1.8.6 constant list for the Float class:

                                    		<Keyword name="Float;;DIG"/>
                                    		<Keyword name="Float;;EPSILON"/>
                                    		<Keyword name="Float;;MANT_DIG"/>
                                    		<Keyword name="Float;;MAX"/>
                                    		<Keyword name="Float;;MAX_10_EXP"/>
                                    		<Keyword name="Float;;MAX_EXP"/>
                                    		<Keyword name="Float;;MIN"/>
                                    		<Keyword name="Float;;MIN_10_EXP"/>
                                    		<Keyword name="Float;;MIN_EXP"/>
                                    		<Keyword name="Float;;RADIX"/>
                                    		<Keyword name="Float;;ROUNDS"/>
                                    
                                    

                                    I'm not here much anymore.

                                    1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      Dan Rathbun
                                      last edited by 2 Feb 2011, 12:26

                                      Here's the 1.8.6 constant list for the IO class:

                                      		<Keyword name="IO;;APPEND"/>
                                      		<Keyword name="IO;;BINARY"/>
                                      		<Keyword name="IO;;CREAT"/>
                                      		<Keyword name="IO;;EXCL"/>
                                      		<Keyword name="IO;;FNM_CASEFOLD"/>
                                      		<Keyword name="IO;;FNM_DOTMATCH"/>
                                      		<Keyword name="IO;;FNM_NOESCAPE"/>
                                      		<Keyword name="IO;;FNM_PATHNAME"/>
                                      		<Keyword name="IO;;FNM_SYSCASE"/>
                                      		<Keyword name="IO;;LOCK_EX"/>
                                      		<Keyword name="IO;;LOCK_NB"/>
                                      		<Keyword name="IO;;LOCK_SH"/>
                                      		<Keyword name="IO;;LOCK_UN"/>
                                      		<Keyword name="IO;;NONBLOCK"/>
                                      		<Keyword name="IO;;RDONLY"/>
                                      		<Keyword name="IO;;RDWR"/>
                                      		<Keyword name="IO;;SEEK_CUR"/>
                                      		<Keyword name="IO;;SEEK_END"/>
                                      		<Keyword name="IO;;SEEK_SET"/>
                                      		<Keyword name="IO;;TRUNC"/>
                                      		<Keyword name="IO;;WRONLY"/>
                                      
                                      

                                      I'm not here much anymore.

                                      1 Reply Last reply Reply Quote 0
                                      • D Offline
                                        Dan Rathbun
                                        last edited by 2 Feb 2011, 13:31

                                        Here's the 1.8.6 constant list AND class methods for the Marshal module:

                                        		<Keyword name="Marshal;;MAJOR_VERSION"/>
                                        		<Keyword name="Marshal;;MINOR_VERSION"/>
                                        		<Keyword name="Marshal;;dump" func="yes">
                                        			<Overload retVal="String" descr="Returns String result of serializing obj and all descendent objects.">
                                        				<Param name="~Object obj" />
                                        			</Overload>
                                        			<Overload retVal="~IO" descr="Returns io_obj, after writing to it, the serialized data for obj and all descendent objects.">
                                        				<Param name="~Object obj" />
                                        				<Param name="~IO io_obj" />
                                        			</Overload>
                                        			<Overload retVal="~IO" descr="Returns io_obj, after writing to it, the serialized data for obj and the descendent objects limited to the specified depth (if non-negative. Default depth=-1)">
                                        				<Param name="~Object obj" />
                                        				<Param name="~IO io_obj" />
                                        				<Param name="~Integer depth" />
                                        			</Overload>
                                        		</KeyWord>
                                        		<Keyword name="Marshal;;load" func="yes">
                                        			<Overload retVal="~Object" descr="Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str().">
                                        				<Param name="~IO|^String source" />
                                        			</Overload>
                                        			<Overload retVal="~Object" descr="Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str(). If proc_obj is specified, it will be passed each object as it is deserialized.">
                                        				<Param name="~IO|^String source" />
                                        				<Param name="Proc proc_obj" />
                                        			</Overload>
                                        		</KeyWord>
                                        		<Keyword name="Marshal;;restore" func="yes">
                                        			<Overload retVal="~Object" descr="Alias for Marshal;;load() Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str().">
                                        				<Param name="~IO|^String source" />
                                        			</Overload>
                                        			<Overload retVal="~Object" descr="Alias for Marshal;;load() Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str(). If proc_obj is specified, it will be passed each object as it is deserialized.">
                                        				<Param name="~IO|^String source" />
                                        				<Param name="Proc proc_obj" />
                                        			</Overload>
                                        		</KeyWord>
                                        
                                        

                                        As an experiment, in parameters, I used:
                                        "~" to denote "this class or subclass"
                                        "^" to denote "implictly convertable to" (which would include the class and any subclasses.)

                                        for ex: ^Integer would mean: " Integer class, subclass, or object that implements a to_i() method."

                                        I'm not here much anymore.

                                        1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          driven
                                          last edited by 3 Feb 2011, 15:41

                                          Hi Dan,

                                          This is the sort of thing I want to check in SU ruby on the mac,
                                          Your first snip seems to bring up loads more methods than what your posting, are you editing yours down?

                                          I'd like to do more, but adding the code to get the extra bits is beyond me.

                                          Would you mind sharing Marshal snippet, and will that work with all modules?

                                          Is the a 1.8.6 module that simply didn't exist at all in 1.8.5 that I could test for?

                                          cheers

                                          john

                                          	<Keyword name="File;;FNM_CASEFOLD;;File"/>
                                          		<Keyword name="File;;FNM_DOTMATCH"/>
                                          		<Keyword name="File;;FNM_DOTMATCH;;File"/>
                                          		<Keyword name="File;;FNM_NOESCAPE"/>
                                          		<Keyword name="File;;FNM_NOESCAPE;;File"/>
                                          		<Keyword name="File;;FNM_PATHNAME"/>
                                          		<Keyword name="File;;FNM_PATHNAME;;File"/>
                                          		<Keyword name="File;;FNM_SYSCASE"/>
                                          		<Keyword name="File;;FNM_SYSCASE;;File"/>
                                          		<Keyword name="File;;LOCK_EX"/>
                                          		<Keyword name="File;;LOCK_EX;;File"/>
                                          		<Keyword name="File;;LOCK_NB"/>
                                          		<Keyword name="File;;LOCK_NB;;File"/>
                                          		<Keyword name="File;;LOCK_SH"/>
                                          		<Keyword name="File;;LOCK_SH;;File"/>
                                          		<Keyword name="File;;LOCK_UN"/>
                                          		<Keyword name="File;;LOCK_UN;;File"/>
                                          		<Keyword name="File;;NOCTTY"/>
                                          		<Keyword name="File;;NOCTTY;;File"/>
                                          		<Keyword name="File;;NONBLOCK"/>
                                          		<Keyword name="File;;NONBLOCK;;File"/>
                                          		<Keyword name="File;;PATH_SEPARATOR"/>
                                          		<Keyword name="File;;PATH_SEPARATOR;;File"/>
                                          		<Keyword name="File;;RDONLY"/>
                                          		<Keyword name="File;;RDONLY;;File"/>
                                          		<Keyword name="File;;RDWR"/>
                                          		<Keyword name="File;;RDWR;;File"/>
                                          		<Keyword name="File;;SEEK_CUR"/>
                                          		<Keyword name="File;;SEEK_CUR;;File"/>
                                          		<Keyword name="File;;SEEK_END"/>
                                          		<Keyword name="File;;SEEK_END;;File"/>
                                          		<Keyword name="File;;SEEK_SET"/>
                                          		<Keyword name="File;;SEEK_SET;;File"/>
                                          		<Keyword name="File;;SEPARATOR"/>
                                          		<Keyword name="File;;SEPARATOR;;File"/>
                                          		<Keyword name="File;;SYNC"/>
                                          		<Keyword name="File;;SYNC;;File"/>
                                          		<Keyword name="File;;Separator"/>
                                          		<Keyword name="File;;Separator;;File"/>
                                          		<Keyword name="File;;Stat"/>
                                          		<Keyword name="File;;Stat;;File"/>
                                          		<Keyword name="File;;TRUNC"/>
                                          		<Keyword name="File;;TRUNC;;File"/>
                                          		<Keyword name="File;;WRONLY"/>
                                          		<Keyword name="File;;WRONLY;;File"/>
                                          ["ALT_SEPARATOR", "APPEND", "CREAT", "Constants", "EXCL", "FNM_CASEFOLD", "FNM_DOTMATCH", "FNM_NOESCAPE", "FNM_PATHNAME", "FNM_SYSCASE", "LOCK_EX", "LOCK_NB", "LOCK_SH", "LOCK_UN", "NOCTTY", "NONBLOCK", "PATH_SEPARATOR", "RDONLY", "RDWR", "SEEK_CUR", "SEEK_END", "SEEK_SET", "SEPARATOR", "SYNC", "Separator", "Stat", "TRUNC", "WRONLY"]
                                          
                                          

                                          learn from the mistakes of others, you may not live long enough to make them all yourself...

                                          1 Reply Last reply Reply Quote 0
                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 1 / 4
                                          • First post
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement