Emacs удаленная оболочка

    public static List<T> Randomize<T>(List<T> list)
    {
        List<T> randomizedList = new List<T>();
        Random rnd = new Random();
        while (list.Count > 0)
        {
            int index = rnd.Next(0, list.Count); //pick a random item from the master list
            randomizedList.Add(list[index]); //place it at the end of the randomized list
            list.RemoveAt(index);
        }
        return randomizedList;
    }
10
задан Luke Girvin 4 February 2012 в 11:09
поделиться

4 ответа

Вы можете использовать список из пакета "Список" .

import Control.Monad.ListT (ListT)
import Data.List.Class (execute, fromList, joinM, takeWhile)
import Prelude hiding (takeWhile)

f x = print x >> return x
main =
  execute . takeWhile (< 4) .
  joinM $ fmap f (fromList [0..5] :: ListT IO Int)
  • fromList [0..5] создает монадический список, содержащий 0..5 который не выполняет монадических действий
  • fmap f для этого списка приводит к ListT IO (IO Int) , который по-прежнему не выполняет монадических действий, а просто содержит единицы.
  • joinM поворачивает это в ListT IO Int . каждое содержащееся действие будет выполнено, когда элемент будет использован, и его результатом будет значение в списке.
  • takeWhile обобщен для любого List . И [] , и « Monad m => ListT m » являются экземплярами List .
  • execute использует монадический список, выполняя все его действия.
  • Если вас интересуют результаты, вы можете использовать "

    Для автоматизированного решения я бы предложил усовершенствовать подход, который я лично использую , чтобы синхронизировать Emacs с текущим рабочим каталогом буфера оболочки. Просто добавьте дополнительный бит информации с именем хоста и используйте его, чтобы установить имя хоста и путь, как показано выше.

9
ответ дан 4 December 2019 в 00:26
поделиться

Вы можете попробовать Mx ansi-term для размещения вашей оболочки, если у вас неожиданное поведение при сопоставлении клавиш. При этом я не могу воспроизвести описанную вами проблему на вашей установке.

1
ответ дан 4 December 2019 в 00:26
поделиться

У меня была похожая проблема, и я решил ее, отредактировав свой ~ / .bash_login на машине удаления и добавления

export TERM=xterm

Я использую OS X, и у меня возникли проблемы при подключении к Linux (Debian Lenny)

0
ответ дан 4 December 2019 в 00:26
поделиться

в другом потоке кто-то упомянул eshell, который я никогда не использовал, но я пробовал его с SSH, и происходит всякая хорошая интеграция. Пришло время изучить eshell.

2
ответ дан 4 December 2019 в 00:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: