Size: a a a

У нас тут секта криптоанархистов

2021 March 04

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
кода там он не показывает, но дз по идее на окамле, функциональщина
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
принимаю состояние, входной и выходной поток
возвращаю состояние, входной и выходной поток
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
и вот вопрос как сейчас стоит сделать
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
25 tmp переменных и reassign? (один хер заоптимизирует хоть и глазам больно)
источник

S[

Seer Iλya [Vennik E1... in У нас тут секта криптоанархистов
ʰᵉˡˡᵒᵈᵒᵍᵉ
impl Stmt {
   fn run<'a>(self, mut state: HashMap<String, i32>,
              mut input: Option<&'a [i32]>,
              mut output: Vec<i32>) -> (
                  HashMap<String, i32>,
                  Option<&'a [i32]>,
                  Vec<i32>
              ) {
       match self {
           Stmt::Skip => (),
           Stmt::Read (s) => {
               state.insert(s, input.expect("No values in input")[0]);
               input = input.unwrap().get(1..);
           },
           Stmt::Write (e) => output.push(e.eval(&state)),
           Stmt::Assign (s, e) => { state.insert(s, e.eval(&state)); } ,
           Stmt::Seq (l, r) => {
               (state, input, output) = l.run(state, input, output);
               (state, input, output) = r.run(state, input, output);
           }
       }
       (state, input, output)
   }
}
impl Stmt {
   fn run(self, state: &mut HashMap<String, i32>, input: &[i32], output: &mut Vec<i32>) {
       match self {
           Stmt::Skip => (),
           Stmt::Read(s) => {
               state.insert(s, input[0]);
           }
           Stmt::Write(e) => output.push(e.eval(&state)),
           Stmt::Assign(s, e) => {
               state.insert(s, e.eval(&state));
           }
           Stmt::Seq(l, r) => {
               l.run(state, input, output);
               r.run(state, input, output);
           }
       }
   }
}
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
эх
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
нет, я понимаю что так можно
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
я так изначально и сделал, пока он формулы не нарисовал
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
решил повторить
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
а там какая то ошибка номер хуй используйте тмп или хуй
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
Seer Iλya [Vennik E10]
impl Stmt {
   fn run(self, state: &mut HashMap<String, i32>, input: &[i32], output: &mut Vec<i32>) {
       match self {
           Stmt::Skip => (),
           Stmt::Read(s) => {
               state.insert(s, input[0]);
           }
           Stmt::Write(e) => output.push(e.eval(&state)),
           Stmt::Assign(s, e) => {
               state.insert(s, e.eval(&state));
           }
           Stmt::Seq(l, r) => {
               l.run(state, input, output);
               r.run(state, input, output);
           }
       }
   }
}
в read input нужно сократить
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
1 элемент убрать, ну да хер с ним
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
в общем хотелось бы чтобы можно было в функциональном стиле писать
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
в общем пиздец конечно
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
Stmt::Seq (l, r) => { // Пизда грязь
               let (mut state1, mut input1, mut output1) = l.run(state, input, output);
               let (mut state2, mut input2, mut output2) = r.run(state1, input1, output1);
               state = state2; input = input2; output = output2;
           }
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
на ум приходит только что-то такое
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
а так
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
мутабельность нахуй
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
Stmt::Seq (l, r) => { // Пизда грязь
               let (statel, inputl, outputl) = l.run(state, input, output);
               let (staterl, inputrl, outputrl) = r.run(statel, inputl, outputl);
               state = staterl; input = inputrl; output = outputrl;
           }
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
ну в общем это максимум, думаю
источник