What are the alternatives to using classes in Julia apart from types? Can 
you please explain how I can define the PhysicalNodes class in Julia the 
same way like I did in python?

On Friday, 26 August 2016 23:16:39 UTC+2, Cedric St-Jean wrote:
>
> It's not possible in Julia at the moment. There's an issue for it. 
> <https://github.com/JuliaLang/julia/issues/269> I think the main options 
> are:
>
> - Don't declare the types. This may make it slower, but depending on the 
> use case it might not be a big deal
> - Use parametric types, i.e.
>
> type Node{T}
>    edges::Vector{T}
> end
>
> type Edge{T}
>    node::T
> end
>
>
>
> On Friday, August 26, 2016 at 1:38:38 PM UTC-4, [email protected] wrote:
>>
>> Hello all,
>>
>> I'm making a transition from Python to Julia and in the process, I've 
>> encountered a small difficulty. While in python, i declared three classes 
>> as follows:
>>
>> class PHY_NODES:
>>     def __init__(self, nodeID, nodenum, x, y, demands):
>>         self.id = nodeID
>>         self.nodenum = nodenum
>>         self.x = x
>>         self.y = y
>>         self.inEdges = []
>>         self.outEdges = []
>>         self.demands = demands
>>
>>     def __str__(self):
>>         return "Physical Node ID: nodenum: %4d x: %.3f y: %.3f" %(self.id, 
>> self.nodenum, self.x, self.y )
>>
>>     def addInEdge(self, edge):
>>         self.inEdges.append( edge )
>>
>>     def addOutEdge(self, edge):
>>         self.outEdges.append( edge )
>>
>>         
>> class PHY_LINKS:
>>     def __init__(self, linkID, source, destination, SourceID, 
>> DestinationID,):
>>         self.linkID = linkID
>>         self.source = source
>>         self.destination = destination
>>         self.SourceID = SourceID
>>         self.DestinationID = DestinationID
>>
>>         
>>     def __str__(self):
>>         return "Physical Link ID: %4d source: %s destination: %s 
>> SourceID: %4d DestinationID: %4d " %(self.linkID, self.source, 
>> self.destination, self.SourceID, self.DestinationID, )
>>
>>
>> class DEMAND:
>>     def __init__(self, PoP_bdw_up, PoP_stor, PoP_pro, MME_bdw_up, 
>> MME_stor, MME_pro,demandID):
>>         self.PoP_bdw_up = PoP_bdw_up
>>         self.PoP_stor = PoP_stor
>>         self.PoP_pro = PoP_pro
>>         self.MME_bdw_up = MME_bdw_up
>>         self.MME_stor = MME_stor
>>         self.MME_pro = MME_pro
>>         self.demandID = demandID
>>
>>         
>>     def __str__(self):
>>         return " PoPbdwup: %.3f PoPstor: %.3f PoPpro: %.3f MMEbdwup: %.3f 
>> MMEstor: %.3f MMEpro: %.3f, self.demandID )
>>
>> However, I have some trouble when replicating the same in Julia 
>> especially due to the nested classes in PHY_NODES (self.inEdges as well as 
>> self,demands)
>>
>> The Julia version of the Phy_Node class is as below:
>>
>> type PhysicalNodes
>>     ID:Int
>>     name:String
>>     x: Float
>>     y:Float
>>     inEdges: ?
>>     outEdges: ?
>>     demands: ?
>> end
>>
>> I don't how to declare the inEdges, outEdges and demands here. Could you 
>> please help me with this?
>>
>>

Reply via email to