Hmmm... maybe something like:

function myfunction(...) {
...
}

function MyDice() {
...
   // calling my function
   myfuncion()
}


function MyDie() {
...
   // calling my function
   myfuncion()
}

module.exports =  {
    MyDice: MyDice,
    MyDie: MyDie
}

I don't sure you need to export myfunction, but you can include it in the
about module.exports = { ... }

Angel "Java" Lopez
@ajlopez


On Mon, Nov 11, 2013 at 3:43 PM, Charles Angel <[email protected]>wrote:

> I'm new to Node.js and finally making some headway before running into
> module.exports
>
> I wanted to separate some code out into an external file, so I created the
> file and called it probability.js
>
> The problem I ran into was having to define the function getRandomInt
> twice to allow it to be called by the Die methods and by the primary server
> code.  I'm sure this is a scope issue, but I have not been able to figure
> out how to resolve it in the proper way.  Ideally, I want the getRandomInt
> function defined one time within module.exports, but not part of Die or
> Dice objects while still allowing the Die and Dice methods to call it.  Any
> assistance is appreciated.
>
>
>
> module.exports = {
>
>     // Returns a random integer between min and max
>     // Using Math.round() will give you a non-uniform distribution!
>     getRandomInt: function(min, max) {
>         return Math.floor(Math.random() * (max - min + 1) + min);
>     },
>
>     Die: function(numSides) {
>         // constructor;
>         var sides = numSides;
>         var lastRoll = -1;
>
>         this.roll = function() {
>             console.log("sides: %d", sides);
>             lastRoll = getRandomInt(1, sides);
>         }
>
>         this.getLastRoll = function() {
>             return lastRoll;
>         }
>     },
>
>     Dice: function() {
>         var myDie = new Array();
>         var totalDie = 0;
>
>         this.addDie = function(newDie) {
>             myDie.push(newDie);
>             totalDie = totalDie + 1;
>         }
>
>         this.roll = function() {
>             for (i=0; i<totalDie; i++) {
>                 myDie[i].roll();
>             }
>         }
>
>         this.getTotalRoll = function() {
>             var total = 0;
>
>             console.log("Get Total Roll");
>             for (i=0; i<totalDie; i++) {
>                 console.log('Dice: %d = %d', i, myDie[i].getLastRoll());
>                 total = total + myDie[i].getLastRoll();
>             }
>
>             return total;
>         }
>     }
> };
>
> // Returns a random integer between min and max
> // Using Math.round() will give you a non-uniform distribution!
> var getRandomInt = function(min, max) {
>         return Math.floor(Math.random() * (max - min + 1) + min);
>     }
>
>
> // Returns a random number between 0 (inclusive) and 1 (exclusive)
> var getRandom = function () {
>     return Math.random();
> }
>
>  --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to