Неприятная недоработка

Pixilang по русски
Post Reply
needhash
Posts: 14
Joined: Sun May 27, 2012 9:14 pm

Неприятная недоработка

Post by needhash » Tue Sep 17, 2013 4:15 pm

потратил полчаса на то, чтобы найти ошибку, из-за которой пиксиленг вылетал. оказалось, что я просто передавал в свою функцию 1 параметр вместо 2. исправьте пожалуйста. пусть выдает ошибку синтаксиса

User avatar
NightRadio
Site Admin
Posts: 2954
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Неприятная недоработка

Post by NightRadio » Tue Sep 17, 2013 5:22 pm

Хорошо, спасибо за замечание. Я посмотрю, что можно сделать.
Дело в том, что сейчас все функции могут принимать переменное число параметров. Количество параметров находится в переменной $0. Я вашу проблему обхожу следующим образом: в начале функции пишу: if $0 != 2 { printf( "Неверное число параметров!\n" ) ret( -1 ) }

needhash
Posts: 14
Joined: Sun May 27, 2012 9:14 pm

Re: Неприятная недоработка

Post by needhash » Wed Oct 02, 2013 4:51 pm

Еще один минус: нету операций отрицания ! и ~, к тому же восклицательный знак вообще игнорируется, например следующий код выводит 16:
printf!("%d\n" !, !! ! 4 * ! 4)

User avatar
NightRadio
Site Admin
Posts: 2954
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Неприятная недоработка

Post by NightRadio » Thu Oct 03, 2013 6:43 am

Есть такое дело.
Вот временные решения: вместо !A используем ( A == 0 ); вместо ~A используем ( -1 ^ A )

Post Reply