Как заставить emacs читать .svh как .v [duplicate]

Поскольку Стивен уже ответил на вопрос, и вы начинающий, я подчеркиваю, что даю советы.

. Лучше работать с интерфейсами go - это не иметь конструктора, возвращающего интерфейс, как вы могли бы использовать с другими языками, такими как java, но иметь конструктор для каждого объекта независимо, поскольку они реализуют интерфейс неявно.

Вместо

newModel(type string) Model { ... }

вы должны сделать

newPerson() *Person { ... }
newPolitician() *Politician { ... }

с Person и Politician, реализующими методы Model. Вы все равно можете использовать Person или Politician везде, где принят Model, но вы также можете реализовать другие интерфейсы.

С помощью вашего метода вы будете ограничены Model, пока не выполните ручное преобразование в другой тип интерфейса.

Предположим, что у меня есть Person, который реализует метод Walk() и Model реализует ShowOff(), следующее не будет работать прямо:

newModel("person").ShowOff()
newModel("person").Walk() // Does not compile, Model has no method Walk

Однако это будет:

newPerson().ShowOff()
newPerson().Walk()
9
задан marczellm 18 February 2013 в 19:29
поделиться

3 ответа

К счастью, все работает сейчас, и, к сожалению, я не помню, как я его исправил :) Возможно, в моем .emacs ранее была ошибка. Это более правильный код:

(add-to-list 'auto-mode-alist '("\\.m$" . octave-mode))

Автозагрузка в последних версиях не требуется; если вам нужно включить его, обратите внимание, что "octave-mode" не является опечаткой.

(autoload 'octave-mode "octave-mod" nil t)
15
ответ дан marczellm 22 August 2018 в 23:04
поделиться
  • 1
    если это не работает, попробуйте убить все буферы, в которых вы открыли файлы .m, и попытайтесь открыть новый .m-файл, отличный от тех, которые вы открыли ранее. – RAbraham 10 November 2013 в 19:55

Просто столкнулся с этой точной проблемой. Ваше утверждение верное, но ваш файл .emacs, вероятно, не загружается правильно. Emacs ищет переменную «HOME» для загрузки предпочтений, кода lisp и т. Д.

Чтобы узнать, какая ваша переменная HOME:

Откройте буфер нуля (это «место для игры» на попробуйте все):

C-x C-b *scratch* <RET>

Оцените это выражение, набрав его, затем поместите курсор вправо, а затем нажмите Cx Ce

insert (getenv "HOME")

. Emacs отобразит ваш домашний путь внизу (мои дефолты по умолчанию ... Documents and Settings \ UserName) Я не разработал хороший способ его изменить, но вы должны просто добавить HOME как переменную среды (это не работа для меня).

Здесь также сказано немного больше: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

Также помните, что файл должен быть «.emacs», а не myConfig.emacs или что-то подобное. Используйте команду bash ren, чтобы переименовать файл (Windows Explorer не позволит вам иметь безымянные файлы)

0
ответ дан bathMarm0t 22 August 2018 в 23:04
поделиться

Используйте это.

;; octave-mode
(autoload 'octave-mode "octave-mode" "Loding octave-mode" t)
(add-to-list 'auto-mode-alist '("\\.m\\'" . octave-mode))
5
ответ дан CantGetANick 22 August 2018 в 23:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: