LINUX.ORG.RU

История изменений

Исправление theNamelessOne, (текущая версия) :

Мне кажется, ты хотел что-то типа этого:

#!/usr/bin/env ruby
# coding: utf-8

def mac_search_huawei()
  begin
    mac = prompt 'Введите часть mac-адреса (Образец для Quidway: xxxx-xxxx-xxxx):'

    if cyrillic_mac_huawei(mac)
      puts 'Неправильная раскладка клавиатуры. Измените на латиницу'
      redo
    end

    # $host.cmd("display mac-address | include #{$mac}") {|c| $dump=c; print c}
    puts mac
  end until prompt("Для продолжения наберите 'n', для повторного поиска - любой другой символ:") == 'n'
end

def prompt(str)
  print str, ' '
  $stdout.flush
  gets.chomp
end

def cyrillic_mac_huawei(mac)
  mac.scan(/\P{ASCII}/).size != 0
end

Исходная версия theNamelessOne, :

Мне кажется, ты хотел что-то типа этого:

#!/usr/bin/env ruby
# coding: utf-8

def mac_search_huawei()
  begin
    # Эту часть можно вынести в отдельную функцию
    begin
      mac = prompt 'Введите часть mac-адреса (Образец для Quidway: xxxx-xxxx-xxxx):'
    end while cyrillic_mac_huawei(mac)

    # $host.cmd("display mac-address | include #{$mac}") {|c| $dump=c; print c}
    puts mac
  end while prompt("Для продолжения наберите 'n', для повторного поиска - любой другой символ:") == 'n'
end

def prompt(str)
  print str, ' '
  $stdout.flush
  gets.chomp
end

def cyrillic_mac_huawei(mac)
  return false if mac.scan(/\P{ASCII}/).size == 0

  puts 'Неправильная раскладка клавиатуры. Измените на латиницу'
  true
end