увидел эти строчки
1.что значит void
2.что такое SetSide
3.что такое somefunc()
  1. что за скобки "{" "}"
struct square
    private real x
    private real y
    private real a
    
    void SetSide(real newSide) {
        a=newSide
    }
endstruct

void somefunc() {
    square A = square.create()
    //...
    A.SetSide(2.0)    
}

ofeerist, скажи ему что это сджасс)))
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
21
Перед именем функции, чем и являются "SetSide" и "somefunc", нужно указать возвращаемый тип данных, void означает отсутствие оного
В круглые скобки после имени функции можно указать аргументы, в коде будет выглядить как-то так "void somefunc(integer a, real b)"
Квадратные скобки являются аналогом then и end..
if(condition) {
}
if(condition) then
endif
Та же логика и с функциями
14
ofeerist:
Перед именем функции, чем и являются "SetSide" и "somefunc", нужно указать возвращаемый тип данных, void означает отсутствие оного
В круглые скобки после имени функции можно указать аргументы, в коде будет выглядить как-то так "void somefunc(integer a, real b)"
Квадратные скобки являются аналогом then и end..
if(condition) {
}
if(condition) then
endif
Та же логика и с функциями
тоесть скобки это начало и конец? а void это takes nothing returns nothing?
28
function myfunc takes nothing returns nothing
endfunction
на сджассе выглядит так
nothing myfunc(){ }
а void - это лишь макрос, это слово при компиляции заменяется на nothing
в JNGP - AdicParser - lib - cj_types.j можешь найти макросы насчёт void, float, int, bool и т.д.

я уже спрашивал о этих макросах xgm.guru/p/100/258014
14
rsfghd:
function myfunc takes nothing returns nothing
endfunction
на сджассе выглядит так
nothing myfunc(){ }
а void - это лишь макрос, это слово при компиляции заменяется на nothing
в JNGP - AdicParser - lib - cj_types.j можешь найти макросы насчёт void, float, int, bool и т.д.

я уже спрашивал о этих макросах xgm.guru/p/100/258014
пасиб
28
не советую пользоваться сджассом, потом можешь встретиться с фигнёй которую не поймёшь как решить, я долго ломал голову почему мои скиллы при импорте в другую карту переставали работать, пока не понял, что сджасс ломал весь остальной код

в своей карте можешь без проблем юзать

тут вся информация - xgm.guru/p/wc3/cjassmanual

(в основном именно макросы ломали чужие системы)

а насчёт этого
struct square
    private real x
    private real y
    private real a
    
    void SetSide(real newSide) {
        a=newSide
    }
endstruct

void somefunc() {
    square A = square.create()
    //...
    A.SetSide(2.0)    
}
оно на вджассе выглядит так
struct square
    private real x
    private real y
    private real a
    
    method SetSide takes real newSide returns nothing 
        set a = newSide
    endmethod
endstruct

function somefunc takes nothing returns nothing
	local square A = square.create()
	//...
	set A.SetSide(2.0)
endfunction

а то что оно делает это очевидно - устанавливает приватной переменной структуры "а" значение 2.0, то есть то, что передали в метод
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.