LINUX.ORG.RU

Избранные сообщения TCHK

Изучая Rust...

Форум — Development

Здравствуйте. Пытаюсь реализовать список на Rust. Вот что у меня получилось:

use std::fmt;

struct Node {
    value: i32,
    link: Option<Box<Node>>,
}

impl Node {
    fn new(value: i32) -> Node {
        Node { value: value, link: None, }
    }

    fn append(&mut self, value: i32) {
        match self.link {
            Some(ref mut node) => node.append(value),
            None => self.link = Some(Box::new(Node::new(value))),
        }
    }

    fn length(&self) -> i32 {
        match self.link {
            Some(ref node) => node.length() + 1,
            None => 1,
        }
    }

    fn insert_after(&mut self, value: i32, after: i32) -> bool {
        if self.value == after {
            self.link = Some(Box::new(Node { value: value, link: self.link.take() }));
            true
        }
        else {
            match self.link {
                Some(ref mut node) => node.insert_after(value, after),
                None => false,
            }
        }
    }
}

impl fmt::Display for Node {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{}", self.value)
        while
    }
}

fn main() {
    let mut stack = Node::new(1024);

     stack.append(67);

     println!("{}", stack);
}

Подскажите, как можно напечатать все элементы списка? В текущей реализации выводится только первый элемент.

 , ,

paret
()

emacs: как настроить выход из emacs без запроса на сохранение буферов?

Форум — General

Как настроить выход из emacs без запроса на сохранение буферов?

 

alien308
()

ArchLinux KDE

Галерея — Скриншоты

Решил примерно полгода назад пересесть с Xfce на KDE. И в общем-то доволен. Занимает немного больше памяти, а без эффектов работает почти так же быстро, как Xfce.

Тема - QtCurve (Square-LifeStyle)
Цвета - SquareLifestyle
Значки - KFaenza
Шрифты - Ubuntu (патчи freetype-ubuntu и прочее)
GTK - QtCurve-GTK
Plasma - E-plasma

>>> Просмотр (1920x1080, 1145 Kb)

 ,

RevenantX
()

Homoiconic C

Форум — Development

Я тут упоролся и подумал, а что если бы у нас был ЯП уровня Си с гомоиконным синтаксисом в стиле Io или Julia. То есть — у нас есть интерпретатор гомоиконного языка, который работает как макропроцессор, и результат трансформаций исходного кода скармливается затем компилятору языка с Си-подобной семантикой. И у нас будет нормальный тьюринг-полный макроязык, который позволит бескостыльно расширять возможности ЯП неограниченно. Компилирующаяя же часть будет по сути обычным компилятором Си (просто читающим входные данные в неСишном синтаксисе).

Это ж кайф. Выражения типа regexp(«^[a-z][a-z0-9]») или format(«%s - %s (%d)», bla1, bla2, i) можно будет автоматически обрабатывать макропроцессором и отправлять компилятору оптимизированный вариант. Это значит, регулярка, например, будет скопилирована в конечный автомат при компиляции программы, а не при выполнении.

Вот эта вот странная задачка, на которой dr_jumba проверял лаконичность языков, записывалась бы как-то вот так:

sample_function := fn(a(iterable(T))) to(T) {
    a select(match(regexp(/^J[a-z]+/))) each_chunk(3) map(format_with("~1 and ~2 follow ~3")) join("\n")
}

Дискас.

 homoiconicity,

geekless
()

Банк звуков (midi) в ubuntu

Форум — Multimedia

Доброго времени! Подскажите пожалуйста-можно ли улучшить звук миди файлов? pykaraoke звук ужасный. Есть ли какой нибудь програмный синтезатор типа roland vsc или Yamaha XG WDM. (виндовые). Или можно как нибудь засунуть другой банк звуков? Спасибо.

 , pykaraoke,

AleksandrArkhipov
()

Статья по гуглежу людей - надо?

Форум — Talks

Очень часто приходится гуглить некоторых личностей, которые указывают в контактах только никнейм. Выработал несколько уже привычных приемов, результативность примерно процентов 60-80. Могу в принципе описать это в виде статьи на ЛОР-вики, что даст каждому возможность что-то добавить.

Вопрос - оно кому-нибудь нужно?

 

AlexCones
()

Сегодня языку Perl исполнилось 25 лет!

Новости — Open Source
Группа Open Source

25 лет назад, 18 декабря 1987г., программист и лингвист Ларри Уолл выпустил первую версию языка программирования Perl.

>>> Подробности

 , , ларри уолл

VeroLom
()

Какие ЯП вас в своё время впечатлили и чем?

Форум — Development

С кратким комментарием — что именно произвело впечатление. Вот меня, например, в следующем порядке поразили:

1) Haskell в институте — системой типов, по сравнению с другими языками казалось неземной красотой, что можно написать всякие Show a, Num a.

2) Prolog тоже в институте — первый опыт настоящей декларативности — пишешь не то, что нужно делать, а что нужно получить и доступные для этого действия. Описал задачу, а система сама все решила.

3) Forth — тем, что самый мощный язык может быть написан в несколько сотен строк.

4) Io и Lua — Io чистотой и элегантностью концепции, а Lua тем, что интерпретатор мощного (на уровне JS) и простого языка может ещё и быстро работать.

5) Lisp — дата-код-дата, полноценная среда для вычислений в компайл-тайме и рантайме.

Ну и по-мелочи:

1) Python — 2D-синтаксисом.

2) colorForth — цветной синтаксис.

3) Katahdin — тем, что можно не очень сложно объединить кучу языков под крышей одного рантайма в пределах одного файла или строки.

4) D — тем, что из C++, в принципе, мог получиться нормальный язык.

5) Pascal ещё в школе, тем что можно было работать с динамической памятью, использовать арифметику указателей и вообще все эти двусвязные списки и т.п.

Может потом ещё что вспомню...

 

y-combinator
()

Почтовые сервера без требования номера телефона

Форум — Talks

Достало это вымогательство, требуют либо второй мейл, либо мобильник. Не могу нормально нагуглить список обычных почтовых серверов, всюду херота про обход анального гмыла и проч. Вэбморда не обязательна. Сервер не в США/России. Локалхост не предлагать, i2p и торы - тоже.

 , ,

FiXer
()

Корректировка шрифта в fontforge

Форум — Desktop

Есть такой шрифт - PlumbMediumC, medium шрифт с классическим начертанием. Мне он нравится, если в нем подправить начертания некоторых символов в fontforge. Но есть одно «но», с этим шрифтом получается слишком маленькое расстояние между строками при больших размерах шрифта. Если в браузере это можно легко откорректировать при помощи css, то в обычном текстовом редакторе сделать такое средствами самого редактора вообще то нельзя. Отсюда вопрос - как в fonrforge увеличить расстояние между символами по вертикали?
ЗЫ Любимые «ШГ» и «ставь нормальные 9 пунктов» сразу идут фтопку

nirolov
()