Example ObjectRepository exportTab 001

 

 

Description

The stockLambda Lambda is a simple Lambda that reads a file, and imports the data into an in-memory table that is represented as an Object Vector. Each item in the object Vector is a record. Note that the stockLambda example supplies the minimum method needed by exportTab, i.e., refExport, and provides two additional methods: refRowCount and refColCount which queries the Lambda how many rows and columns have been imported.

 

Details

The stockLambda Lambda is defined.

		(defun StockLambda()
		   pvars: (rowCount colCount rowVector colVector)  
		   (defun doClear()                                 ;; Manage clear at start of import. 
		      (setq rowCount 0) (setq colCount 0)
		      (setq colVector #void)
		      (setq rowVector (^new Vector: object: 0)))    ;; end of doClear  
		   (defun setImport(row  record)                          
		      (setq rowVector[row] record)                  ;; Install the data in a vector  
		      (setq rowCount row)                           ;; Update the row count
		      rowCount)                                     ;; end of setImport
		   (defun refExport(rowIndex)   
		      (if (>= rowIndex rowCount) (return false))    ;; Return "false" to stop the export 
		      (return rowVector[rowIndex]))                 ;; Pass a filled record to exportTab.
		   (defun refImport(row)   
		      (return (^new String: 256)))                  ;; Pass an empty string container to importTab.
		   (defun refRowCount() rowCount)
		   (defun refColCount() colCount)
		)     
        
Returns: #<Lambda 123456>

The stockLambda is used to work with the ObjectRepository file.

			(define  myLambda (new StockLambda))                   ;; Create a new instance of the StockLambda
			(myLambda.doClear)                                    ;; initialize persistent variables
			(setq fileid (fileOpen "stocks.sbf" 0 0))            ;; Open an existing text file
			(importTab  fileid  myLambda recordsOnly:)            ;; Import the file                                   
			(fileClose fileid 1)                                 ;; Close the file
			(myLambda.refRowCount)                                ;; Ask the Lambda for a row count
			(setq fileid (fileOpen "newStocks.sbf" 1 0))         ;; Create a new text file 
			(setq rowsOut (exportTab  fileid  myLambda recordsOnly:));; export the file                           
			(fileClose fileid 1)                                 ;; Close the file
			(myLambda.refRowCount)                                ;; Ask the Lambda for a row count
         
       
Returns: ---

 

Related Examples

Here are examples of the exportTab function at work.

ObjectRepository exportTab 001

 

Function Links

Here is the link to the current function used in this example.

exportTab

Here are a number of links to other related functions.

importTab(ObjectRepository)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

ObjectRepository ObjVector

Here are a number of links to examples having similar argument types.

BitVector addMethod 023 Context globalBinding 001 Dictionary isDictionary 001 Dictionary objectToDictionary 001
Dictionary objectToDictionary 002 Dictionary objectToDictionary 003 Dictionary objectToDictionary 004 Dictionary refAttributes 002
Dictionary setAttributes 002 Directory objectToDirectory 001 Directory objectToDirectory 002 Directory objectToDirectory 003
Directory objectToDirectory 004 Directory refAttributes 003 Directory setAttributes 003 NumVector svmRegression 001
ObjVector addMethod 022 ObjVector append 009 ObjVector compare 017 ObjVector compareEQ 014
ObjVector compareGE 014 ObjVector compareGT 014 ObjVector compareLE 014 ObjVector compareLT 014
ObjVector compareNE 014 ObjVector comparison functions 014 ObjVector copy 009 ObjVector delete 012
ObjVector insert 008 ObjVector isAtom 008 ObjVector isEqual 016 ObjVector isIdentical 015
ObjVector isObject 010 ObjVector isObjectVector 001 ObjVector isType 019 ObjVector length 011
ObjVector member 007 ObjVector ref 025 ObjVector remove 007 ObjVector resize 009
ObjVector reverse 006 ObjVector setCdr 009 ObjVector setLastCdr 009 ObjVector setq 022
ObjVector sizeof 017 ObjVector type 019 ObjVector uniqueInsert 007 ObjVector vectorFill 006
ObjectRepository abortTransaction 001 ObjectRepository addMethod 026 ObjectRepository attachLibrarian 001 ObjectRepository beginTransaction 001
ObjectRepository checkPointTransaction 001 ObjectRepository clear 002 ObjectRepository commitTransaction 001 ObjectRepository compare 021
ObjectRepository compare 022 ObjectRepository compareEQ 021 ObjectRepository compareEQ 022 ObjectRepository compareGE 021
ObjectRepository compareGE 022 ObjectRepository compareGT 021 ObjectRepository compareGT 022 ObjectRepository compareLE 021
ObjectRepository compareLE 022 ObjectRepository compareLT 021 ObjectRepository compareLT 022 ObjectRepository compareNE 021
ObjectRepository compareNE 022 ObjectRepository comparison 021 ObjectRepository comparison 022 ObjectRepository defmethod 023
ObjectRepository delete 013 ObjectRepository detachLibrarian 001 ObjectRepository exportTab 001 ObjectRepository importTab 001
ObjectRepository inspect 002 ObjectRepository isIdentical 019 ObjectRepository isImmediate 001 ObjectRepository length 016
ObjectRepository loadRepository 001 ObjectRepository methodsOf 023 ObjectRepository new 014 ObjectRepository ref 030
ObjectRepository ref 031 ObjectRepository ref 032 ObjectRepository ref 033 ObjectRepository ref 034
ObjectRepository refLibrarian 001 ObjectRepository rename 001 ObjectRepository saveImmediate 001 ObjectRepository saveRepository 001
ObjectRepository send 026 ObjectRepository setf 001 ObjectRepository setf 002 ObjectRepository setq 027
ObjectRepository sizeof 027 ObjectRepository type 024 String isChar 001 String isCharAlphabetic 001
String isCharAlphanumeric 001 String isCharLowercase 001 String isCharName 001 String isCharNumeric 001
String isCharUppercase 001 String isCharWhitespace 001 String isEqual 001 String isEqual 002
String isObject 001 String isString 001 String isText 001 String isType 001
String isType 002 String isType 003 String sizeof 001 String string 001
String string 002 String string 003 String stringToBVector 001 String stringToBVector 002
String stringToBVector 003 String stringToVector 001 String stringToVector 002 String stringToVector 003
String stringToVector 004 String type 001 Structure objectToStructure 001 Structure objectToStructure 002
Structure objectToStructure 003 Structure objectToStructure 004 Structure refAttributes 001 Structure setAttributes 001
Symbol isCharName 002 Symbol isCharNumeric 002 Symbol isObject 002 Symbol isSymbol 001
Symbol isType 004 Symbol sizeof 002 Symbol type 002 Vector refAttributes 004
Vector refValues 004 Vector setAttributes 004 Vector setAttributes 005

How do I contact the AIS Server team?

You can always talk with the AIS at aiserver.sourceforge.net.