Попробуйте следующее:
a = [1, 2, 3]
b = [{:item => 'apple', :quantity => 92}, {:item => 'banana', :quantity => 43}, {:item => 'kiwi', :quantity => 55}]
a.each_with_index do |a_value, i|
puts "#{a_value}. #{b[i][:item]} #{b[i][:quantity]}"
end
это выдаст:
1. apple 92
2. banana 43
3. kiwi 55
ИЛИ, если вы хотите иметь вывод наподобие
1. apple 92 2. banana 43 3. kiwi 55
, вы можете использовать карта с индексом
output = a.map.with_index do |a_value, i|
"#{a_value}. #{b[i][:item]} #{b[i][:quantity]}"
end.join(' ')
puts output
Похоже, строка чтения не включена. Проверьте, определена ли переменная PYTHONSTARTUP
, для меня она указывает на / etc / pythonstart
, и этот файл выполняется процессом python перед переходом в интерактивный режим, что настраивает обработку строки чтения / истории.
Благодаря @chown вот документация по этому поводу: http://docs.python.org/2/tutorial/interactive.html
На MacOsx я зафиксировал это путем переустановки readline
brew reinstall readline
Ни один из этих ответов не работал на меня на двух других версиях Ubuntu. То, что работало на меня, но не является истинной фиксацией, переносит мой код Python в вызов к rlwrap
(доступный в репозиториях человечности):
rlwrap python mycode.py
Как ваша переменная env $ TERM установлена [a], когда все работает нормально, и [b], когда нет? Параметры Env часто являются ключом к таким проблемам.
Вы пробовали использовать другой SSH-клиент? Некоторые клиенты SSH имеют специальные встроенные сопоставления клавиш для различных удаленных процессов. Я много раз сталкивался с этим с emacs.
Какой клиент вы используете? Я бы рекомендовал попробовать Putty и SecureCRT, чтобы сравнить их поведение.
Вы вызывали ssh с параметром -t , чтобы указать ssh выделить для вас виртуальный терминал?
На странице руководства:
-t
Принудительное выделение псевдо-tty. Это может использоваться для выполнения произвольных экранных программ на удаленном компьютере, что может быть очень полезно, например, при реализации служб меню. Множественные параметры -t принудительно выделяют tty, даже если ssh не имеет локального tty.
Кроме того, вам также может потребоваться правильно установить переменную среды TERM на сервере, как это предлагается в другом сообщении.