확장자의 파일 형식이 잘못되었습니다.

확장자의 파일 형식이 잘못되었습니다.

.m기본 확장자로 끝나는 옥타브 파일이 있습니다 .

파일에서는 ASCII 텍스트로 표시됩니다.

file euler.m 
euler.m: ASCII text

노틸러스의 텍스트 전용 아이콘.

.m 옥타브/matlab에 파일 형식을 할당하는 방법은 무엇입니까 ?

답변1

그것은 노틸러스가 작동하는 방식이 아닙니다 file. 확장자가 파일 형식이 아닙니다. 파일 내용에서 감지된 MIME 유형은 기호를 정의하는 MIME 유형을 결정하는 데 사용됩니다. 이것은 순전히 확장명을 기반으로 했던 Windows보다 낫습니다. 왜냐하면 노틸러스는 확장자가 .doc, .png 또는 .png인지에 관계없이 단어 문서를 단어 문서로 표시하고 libreoffice를 사용하여 열 수 있기 때문입니다. TXT.

이제 옥타브/matlab 스크립트일반 텍스트 파일은 역사적인 이유로 일반적으로 ASCII 문자로 제한됩니다(제 기억이 맞다면 이에 대한 기술적 요구 사항은 없습니다).

따라서 누락될 수 있는 모든 것은 파일이 이러한 프로그램 텍스트를 해당 특정 언어의 프로그램 텍스트로 인식할 수 있도록 하는 m-스크립트의 감지 마법입니다.

프로그래밍 언어를 아는 것은 결코 쉬운 일이 아닙니다. 하지만 불가능한 것은 아닙니다. 많은 경우 fileC++를 Python 또는 C 소스 코드와 아주 잘 구별하는 것이 가능하기 때문입니다.

# octave/matlab script
# we'll just look for "function"; then make sure it's at the beginning of the line, followed by one or more space, followed by a function name, followed by possibly a space followed by an equality sign
0       search/8192     function
>0      regex   \^function[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*=    Matlab/Octave Source Code
!:mime  text/x-octave

이것은 매우 조잡한 검사이지만(테스트한 적도 없음) m 스크립트 스타일 함수 선언을 찾습니다. 이것이 제가 생각할 수 있는 최고의 휴리스틱입니다.

관련 정보