MQL 현지화에 대해 다시 한 번 - 페이지 7

 
DDFedor >> :

일반적으로 저는 bukhs - 프로그래밍에 전혀 간섭하지 마십시오, 금융가 - "보고서" 프로그래밍을 컴파일하는 것을 고려하지 마십시오. 이 모든 것은 "사용자"와 "프로그래머"를 구별해야 한다는 사실에 제품 ... 이제 우리는 프로그래머를위한 환경에 대해 이야기하고 있으며 사용자로서의 "회계사 - 재무"는 메타 편집기를 열지 않는 거래자와 마찬가지로이 주제를 전혀 나타내지 않습니다 ... "러시아어" 또는 "러시아어 아님"에 대해 관심을 가지십시오. ...


이제 아이디어가 명확해졌습니다. 나는 (이미) 나의 전 동료들을 예로 들 수 있습니다. 그들은 1C-ku가 거의 사용자처럼 러시아어로 되어 있기 때문에 빠르게 마스터합니다.
 
"define"을 통해 모든 것을 정의할 수 있는 모듈을 만드는 것이 어렵습니까? 그리고 러시아어나 다른 언어로 프로그래밍할 것입니다.
 
yuripk > >> :
"define"을 통해 모든 것을 정의할 수 있는 모듈을 만드는 것이 어렵습니까? 그리고 러시아어나 다른 언어로 프로그래밍할 것입니다.

어렵지 않습니다. 오류 없이 컴파일되는 코드는 다음과 같습니다.

 #define цикл for 
#define целое int 
#define Печать Print

void OnStart ( )
{
   целое Сумма = 0 ;
   цикл ( целое Номер = 0 ; Номер < 10 ; Номер + + ) Сумма + = Номер ;
   Печать ( Сумма ) ;
}

문제는 이것이 무엇인지입니다: 미완성 버그 기능 또는 이미 그대로 유지될 것입니까? 결국, 개발자가 언젠가는 확인을 받고 정의에서 예약어 사용을 금지하기로 결정할 수 있습니다.

 
ForexTools >> :

어렵지 않습니다. 오류 없이 컴파일되는 코드는 다음과 같습니다.

문제는 이것이 무엇인지입니다: 미완성 버그 기능 또는 이미 그대로 유지될 것입니까? 결국, 개발자가 언젠가는 확인을 받고 정의에서 예약어 사용을 금지하기로 결정할 수 있습니다.

기술적으로 정의는 구문 분석 프로세스에서 대체되는 일부 언어 토큰 세트입니다.

토큰이나 토큰 세트를 금지하는 것은 의미가 없습니다.
한 가지 중요한 것은 언어 연산자(if, for, return, ...)의 재정의를 허용할 수 없다는 것입니다.
이제 우리는 가능한 정의 이름 목록에서 "시스템" 언어 기능을 제외하는 것도 생각하고 있습니다.

 
ForexTools >> :

어렵지 않습니다. 오류 없이 컴파일되는 코드는 다음과 같습니다.

문제는 이것이 무엇인지입니다: 미완성 버그 기능 또는 이미 그대로 유지될 것입니까? 결국, 개발자가 언젠가는 확인을 받고 정의에서 예약어 사용을 금지하기로 결정할 수 있습니다.

전처리기가 C-sing 원리에 따라 작동하면 검사가 나타나지 않습니다.

유일한 것은 sish 전처리기가 매크로에 러시아어 이름을 할당하도록 허용할지 확신할 수 없다는 것입니다. :)

 
mql5 >> :


한 가지 중요한 것은 언어 연산자(if, for, return, ...)의 재정의를 허용할 수 없다는 것입니다.

물론 재정의할 수는 없지만 "이름 변경"은 할 수 있습니다(제 예에서는 for이 주기로 이름이 변경되었습니다).

 
mql5 >> :

기술적으로 정의는 구문 분석 프로세스에서 대체되는 일부 언어 토큰 세트입니다.

토큰이나 토큰 세트를 금지하는 것은 의미가 없습니다.
한 가지 중요한 것은 언어 연산자(if, for, return, ...)의 재정의를 허용할 수 없다는 것입니다.
이제 우리는 가능한 정의 이름 목록에서 "시스템" 언어 기능을 제외하는 것도 생각하고 있습니다.


금지 - 우리 시민들에게 익숙한 것.
 
yuripk > >> :


금지 - 우리 시민들에게 익숙한 것.

뭔지 이해가 안감....


그래서 그것은 가능합니다:

#define если "тут можно написать что угодно и это всё вставиться в код при встрече 'если'"


다음과 같이 할 수 없습니다.

#define if "нельзя ключевые слова переопределять - ошибка компиляции"


아마도 다음과 같이 작동하지 않을 것입니다.

#define Sleep "на данный момент так написать можно, но скорее всего это мы прикроем - будет ошибкой при компиляции"

 

여기에서 참조에서 선택했습니다. 원하는 사람 - 테스트 할 수 있습니다.)

 // Типы данных			
                                    
#define		логический      bool			
#define		символ          char			
#define		бзсимвол        uchar			
#define		короткий        short			
#define		бзкороткий      ushort		
#define		целый           int			  
#define		бзцелый         uint			
#define		длинный         long			
#define		бздлинный       ulong			
#define		двойной         double		
#define		плавающий       float			
#define		цвет            color			
#define		датавремя       datetime	
#define		строка          string		
#define		перечисление    enum			
#define		структура       struct		
#define		класс           class			
#define		безтипа         void			
		 			                          
                                    
// Спецификаторы доступа			
					                          
#define		константа       const			
#define		личный          private		
#define		защищенный      protected	
#define		публичный       public		
#define		виртуальный     virtual		
					                          
                                    
// Классы памяти			
                                    
#define		внешний         extern		
#define		статический     static		
#define		ввод            input			
		 			                          
					                          
// Операторы			
					                          
#define		поумолчанию     default		
#define		размер          sizeof		
#define		новый           new			  
#define		удалить         delete		
#define		если            if			  
#define		иначе           else			
#define		выбор           switch		
#define		вариант         case			
#define		выполнить       do			  
#define		пока            while			
#define		цикл            for			  
#define		прервать        break			
#define		продолжить      continue	
#define		возврат         return		
			                              
					                          
// Прочие			
					                          
#define		ложь            false			
#define		этот            this			
#define		истина          true			
                          
                          
 
ForexTools >> :

여기에서 참조에서 선택했습니다. 원하는 사람 - 테스트 할 수 있습니다.)

또한 mqh-shechka의 포함 상자에 넣고 포함 상자의 호출을 템플릿에 직접 작성할 수도 있습니다.

글쎄, 어떤 창이 부러지는가?