On Saturday, October 22, 2016 20:35:27 WhatMeWorry via Digitalmars-d-learn wrote: > This is probably so simple that there's no example anywhere. > > Basically, I've got a huge array definition (see below) which I > reuse over and over again in different projects. > > GLfloat[] vertices = > [ > // Positions // Texture Coords > -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, > 0.5f, -0.5f, -0.5f, 1.0f, 0.0f, > ..... > (lots and lots of values) > ..... > > I'd like to place this one array into a separate file and just > include it with a one line statement in many projects. I'm > thinking mixins and/or imports but then if I knew how to do this, > I wouldn't be asking. > > Thanks in advance.
Just put it in a separate module and then import it. e.g. file: mypackage/constants.d ================== module mypackage.constants; GLfloat[] vertices = [ // Positions // Texture Coords -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, 0.5f, -0.5f, -0.5f, 1.0f, 0.0f, ..... (lots and lots of values) ..... ]; ================== file: main.d ================== import mypackage.constants; void main() { auto v = vertices; } ================== Probably the key thing to remember is that when you compile your program, all of the modules that are part of your program rather than a separate library need to be compiled into it. Simply importing them isn't enough - though using either rdmd or dub make that easier. This is the official documentation's page on modules: http://dlang.org/spec/module.html This is the chapter from Al's book that covers modules: http://ddili.org/ders/d.en/modules.html And you'd almost certainly benefit from simply reading Ali's book as a whole: http://ddili.org/ders/d.en/index.html - Jonathan M Davis