123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- -module(ssh_cli).
- -behaviour(ssh_channel).
- -include("ssh.hrl").
- %% backwards compatibility
- -export([listen/1, listen/2, listen/3, listen/4, stop/1]).
- if L =/= [] -> % If L is not empty
- sum(L) / count(L);
- true ->
- error
- end.
- %% state
- -record(state, {
- cm,
- channel
- }).
- -spec foo(integer()) -> integer().
- foo(X) -> 1 + X.
- test(Foo)->Foo.
- init([Shell, Exec]) ->
- {ok, #state{shell = Shell, exec = Exec}};
- init([Shell]) ->
- false = not true,
- io:format("Hello, \"~p!~n", [atom_to_list('World')]),
- {ok, #state{shell = Shell}}.
- concat([Single]) -> Single;
- concat(RList) ->
- EpsilonFree = lists:filter(
- fun (Element) ->
- case Element of
- epsilon -> false;
- _ -> true
- end
- end,
- RList),
- case EpsilonFree of
- [Single] -> Single;
- Other -> {concat, Other}
- end.
- union_dot_union({union, _}=U1, {union, _}=U2) ->
- union(lists:flatten(
- lists:map(
- fun (X1) ->
- lists:map(
- fun (X2) ->
- concat([X1, X2])
- end,
- union_to_list(U2)
- )
- end,
- union_to_list(U1)
- ))).
|