Skip to content

Instantly share code, notes, and snippets.

@allison-casey
Created January 25, 2020 21:51
Show Gist options
  • Save allison-casey/be6988e9a3993951eb559a42c80aa804 to your computer and use it in GitHub Desktop.
Save allison-casey/be6988e9a3993951eb559a42c80aa804 to your computer and use it in GitHub Desktop.
( hint "hello world" );
private _is_odd =
{
params ["_x"];
((_x % 2) != 0)
};
private _is_even =
{
params ["_x"];
((_x % 2) == 0)
};
private _map =
{
params ["_f", "_seq"];
private _ret = [];
{
private _x = _x;
( _ret pushBack ([_x] call _f) )}forEach _seq;
_ret
};
private _filter =
{
params ["_pred", "_seq"];
private _ret = [];
{
private _x = _x;
if (([_x] call _pred)) then
{
( _ret pushBack _x )
};
}forEach _seq;
_ret
};
private _val = ((1 + 1) - 22);
if (([_val] call _is_even)) then
{
private _sval = ( str _val );
( hint ( format ["The number %1 is even.", _sval] ) )
};
;
( sleep 2 );
( hint ( str ([_is_even, [1, 2, 3, 4]] call _map) ) );
( sleep 2 );
( hint ( str ([_is_even, [1, 2, 3, 4]] call _filter) ) )
(hint "hello world")
(defn odd? [x] (!= (% x 2) 0))
(defn even? [x] (= (% x 2) 0))
(defn map [f seq]
(setv ret [])
(for [x seq]
(pushBack ret (f x)))
ret)
(defn filter [pred seq]
(setv ret [])
(for [x seq]
(if (pred x) (pushBack ret x)))
ret)
(setv val (-> 1 (+ 1) (- 22)))
(when (even? val)
(setv sval (str val))
(hint (format ["The number %1 is even.", sval])))
(sleep 2)
(->> [1 2 3 4]
(map even?)
str
hint)
(sleep 2)
(->> [1 2 3 4]
(filter even?)
str
hint)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment