Программирование на языке Ruby
На нашем литературном портале можно бесплатно читать книгу Программирование на языке Ruby, Фултон Хэл-- . Жанр: Программирование. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Название: Программирование на языке Ruby
Автор: Фултон Хэл
Дата добавления: 16 январь 2020
Количество просмотров: 833
Программирование на языке Ruby читать книгу онлайн
Программирование на языке Ruby - читать бесплатно онлайн , автор Фултон Хэл
Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов. Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии. Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Перейти на страницу:
def other_move(who, move, num, board, sock) move = sock.gets.chomp puts "nПротивник: #{move}" moveendif ARGV[0] myself = ARGV[0]else print "Ваше имя? " myself = STDIN.gets.chompendif ARGV[1] opponent_id = ARGV[1]else print "Ваш противник? " opponent_id = STDIN.gets.chompendopponent = opponent_id.split(":")[0] # Удалить имя хоста.# Обратиться к серверуsocket = TCPSocket.new(ChessServer, ChessServerPort)response = nilsocket.puts "login # {myself} #{opponent_id}"socket.flushresponse = socket.gets.chompname, ipname, color = response.split ":"color = color.to_iif color == BLACK # Цвет фигур другого игрока, puts "nУстанавливается соединение..." server = TCPServer.new(PeerPort) session = server.accept str = nil begin timeout(30) do str = session.gets.chomp if str != "ready" raise "Ошибка протокола: получено сообщение о готовности #{str}." end end rescue TimeoutError raise "He получено сообщение о готовности от противника." end puts "Ваш противник #{opponent}... у вас белые.n" who = WHITE move = nil board = nil # В этом примере не используется. num = 0 draw_board(board) # Нарисовать начальное положение для белых. loop do num += 1 move = my_move(who, move, num, board, session) draw_board(board) case move when "resign" puts "nВы сдались. #{opponent} выиграл." break when /Checkmate/ puts "nВы поставили мат #{opponent}!" draw_board(board) break end move = other_move(who, move, num, board, session) draw_board(board) case move when "resign" puts "n#{opponent} сдался... вы выиграли!" break when /Checkmate/ puts "n#{opponent} поставил вам мат." break end endelse # Мы играем черными, puts "nУстанавливается соединение..." socket = TCPSocket.new(ipname, PeerPort) socket.puts "ready" puts "Ваш противник #{opponent}... у вас черные.n" who = BLACK move = nil board = nil # В этом примере не используется. num = 0 draw_board(board) # Нарисовать начальное положение. loop do num += 1 move = other_move(who, move, num, board, socket) draw_board(board) # Нарисовать доску после хода белых, case move when "resign" puts "n#{opponent} сдался... вы выиграли!" break when /Checkmate/ puts "n#{opponent} поставил вам мат." break end move = my_move(who, move, num, board, socket) draw_board(board) case move when "resign" puts "nВы сдались. #{opponent} выиграл."
Перейти на страницу:
