Class definition @ directory error

3 visualizzazioni (ultimi 30 giorni)
Adi gahlawat
Adi gahlawat il 11 Ago 2013
Commentato: Guillaume il 18 Giu 2015
Hello,
I am writing a script wherein a new class 'polynomial' is defined. When I run the script, I get the following error:
Error: File: polynomial.m Line: 49 Column: 10
A class definition must be in an "@" directory.
Upon typing which('polynomial'), I get the following output:
/home/..../multipoly/@polynomial/polynomial.m
Clearly, polynomial.m is in a directory called @polynomial, but I'm still getting the error. I'm quite confused by this. I am running 64bit R2012a on Ubuntu 12.04.
Any help would be appreciated. Thanks.
Adi
  2 Commenti
Walter Roberson
Walter Roberson il 11 Ago 2013
Is multipoly your routine? Or is it (for example) inside Simulink ?
Adi gahlawat
Adi gahlawat il 11 Ago 2013
It is my routine, I found the problem, kindly see me reply to Per Isakson below. Thanks for replying.

Accedi per commentare.

Risposta accettata

per isakson
per isakson il 11 Ago 2013
Modificato: per isakson il 11 Ago 2013
I assume that
  • you created the folder "/home/..../multipoly/@polynomial"
  • you created the file "polynomial.m"
  • the keyword, "class" appears in the file "polynomial.m" (line 49)
Do you try to use old or the new Class-Definition Syntax; do you use the new keyword classdef?
Did you try
which('polynomial','-all')
  3 Commenti
Jeremy Rutman
Jeremy Rutman il 18 Giu 2015
Modificato: Jeremy Rutman il 18 Giu 2015
I had a similar problem . It turns out ANY folder with ANY ampersand in it ANYWHERE along the path will munge things up royally. I officially declare this a bug
>> sm = segmodel( 'PROFILE', '0.16', 'use_real_pose', false );
Error using segmodel
Error: File: segmodel.m Line: 1 Column: 10
A class definition must be in an "@" directory.
>> which('segmodel','-all')
/home/jeremy/jeremy.rutman@gmail.com/dev/clothes_parsing/@segmodel/segmodel.m
% segmodel constructor
>>
Guillaume
Guillaume il 18 Giu 2015
Well, giving syntactical meaning to filesystem paths was never a good idea in the first place, but I'm afraid Mathworks does not see it this way.
You can declare it a bug, but unless Mathworks completely overhaul their approach to paths, it's not going to change.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Search Path in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by