Compare commits
9 Commits
Author | SHA1 | Date |
---|---|---|
Artem-Darius Weber | 308812f0a4 | 2 months ago |
Artem-Darius Weber | 103cbbb25d | 2 months ago |
Artem-Darius Weber | 386361564b | 2 months ago |
Artem-Darius Weber | 9b41aa5119 | 4 months ago |
Artem-Darius Weber | 99186f1d0f | 4 months ago |
Artem-Darius Weber | 5fd9a5a36e | 4 months ago |
Artem-Darius Weber | effdf6a672 | 4 months ago |
Artem-Darius Weber | 6015865dc2 | 4 months ago |
Artem-Darius Weber | bd196668af | 4 months ago |
@ -0,0 +1,16 @@
|
||||
require_relative '../src/02_user_interface.rb'
|
||||
|
||||
RSpec.describe "Main" do
|
||||
before do
|
||||
allow(STDIN).to receive(:gets).and_return("ruby\n")
|
||||
end
|
||||
|
||||
it "greets the user and checks Ruby as language" do
|
||||
expect { main() }.to output("Hello my catgirl test_user! \nWhat is your love language?\nruby\nc++\npy\nПодлиза \n").to_stdout
|
||||
end
|
||||
|
||||
it "handles unknown language input" do
|
||||
allow(STDIN).to receive(:gets).and_return("java\n")
|
||||
expect { main() }.to output(/Неизвестный язык: java/).to_stdout
|
||||
end
|
||||
end
|
@ -0,0 +1,2 @@
|
||||
puts "Hello, world!"
|
||||
|
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
LANGUAGES = [
|
||||
"ruby",
|
||||
"c++",
|
||||
"py"
|
||||
]
|
||||
|
||||
def main()
|
||||
user_name = ARGV[0]
|
||||
puts "Hello my catgirl #{user_name}! \nWhat is your love language?"
|
||||
LANGUAGES.each { |language| puts "#{language}", " " }
|
||||
|
||||
user_lang = STDIN.gets.chomp
|
||||
|
||||
case user_lang
|
||||
when "ruby"
|
||||
puts "Подлиза \n"
|
||||
when "c++"
|
||||
puts "MATLAB скушал? \n"
|
||||
when "TS/JS"
|
||||
puts "Фронтендер, Фууу! \n"
|
||||
when "py"
|
||||
puts "Девопсер, иди ДАГИ писать \n"
|
||||
else
|
||||
puts "Неизвестный язык: #{user_lang}"
|
||||
end
|
||||
end
|
||||
|
||||
main()
|
@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
LANGUAGES = [
|
||||
"ruby",
|
||||
"c++",
|
||||
"py"
|
||||
]
|
||||
|
||||
def main()
|
||||
user_name = ARGV[0]
|
||||
puts "Hello my catgirl #{user_name}! \nWhat is your love language?"
|
||||
LANGUAGES.each { |language| puts "#{language}", " " }
|
||||
|
||||
user_lang = STDIN.gets.chomp
|
||||
case user_lang
|
||||
when "ruby"
|
||||
puts "Подлиза \n"
|
||||
when "c++"
|
||||
puts "MATLAB скушал? \n"
|
||||
when "TS/JS"
|
||||
puts "Фронтендер, Фууу! \n"
|
||||
when "py"
|
||||
puts "Девопсер, иди ДАГИ писать \n"
|
||||
end
|
||||
|
||||
puts "Введите команду на языке Ruby для выполнения:"
|
||||
ruby_command = STDIN.gets.chomp
|
||||
begin
|
||||
eval(ruby_command)
|
||||
rescue Exception => e
|
||||
puts "Ошибка выполнения команды Ruby: #{e.message}"
|
||||
end
|
||||
|
||||
puts "Введите команду операционной системы для выполнения:"
|
||||
os_command = STDIN.gets.chomp
|
||||
system(os_command)
|
||||
end
|
||||
|
||||
main()
|
@ -0,0 +1,68 @@
|
||||
|
||||
|
||||
def find_min_element_for(arr)
|
||||
min_element = arr[0]
|
||||
for element in arr
|
||||
min_element = element if element < min_element
|
||||
end
|
||||
min_element
|
||||
end
|
||||
|
||||
|
||||
def find_min_element_while(arr)
|
||||
min_element = arr[0]
|
||||
index = 0
|
||||
while index < arr.size
|
||||
min_element = arr[index] if arr[index] < min_element
|
||||
index += 1
|
||||
end
|
||||
min_element
|
||||
end
|
||||
|
||||
|
||||
def find_first_positive_index_for(arr)
|
||||
for index in 0...arr.size
|
||||
return index if arr[index] > 0
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
|
||||
def find_first_positive_index_while(arr)
|
||||
index = 0
|
||||
while index < arr.size
|
||||
return index if arr[index] > 0
|
||||
index += 1
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
|
||||
def find_first_positive_for(arr)
|
||||
for element in arr
|
||||
return element if element > 0
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
|
||||
def find_first_positive_while(arr)
|
||||
index = 0
|
||||
while index < arr.size
|
||||
return arr[index] if arr[index] > 0
|
||||
index += 1
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
# INPUT
|
||||
array = [-10, -5, 0, 3, 5, -2]
|
||||
|
||||
puts "Минимальный элемент (for): #{find_min_element_for(array)}"
|
||||
puts "Минимальный элемент (while): #{find_min_element_while(array)}"
|
||||
|
||||
puts "Индекс первого положительного элемента (for): #{find_first_positive_index_for(array)}"
|
||||
puts "Индекс первого положительного элемента (while): #{find_first_positive_index_while(array)}"
|
||||
|
||||
puts "Первый положительный элемент (for): #{find_first_positive_for(array)}"
|
||||
puts "Первый положительный элемент (while): #{find_first_positive_while(array)}"
|
@ -0,0 +1,62 @@
|
||||
|
||||
|
||||
def find_min_element(arr)
|
||||
min_element = arr[0]
|
||||
arr.each do |element|
|
||||
min_element = element if element < min_element
|
||||
end
|
||||
min_element
|
||||
end
|
||||
|
||||
|
||||
def find_first_positive_index(arr)
|
||||
arr.each_with_index do |element, index|
|
||||
return index if element > 0
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
|
||||
def find_first_positive(arr)
|
||||
arr.each do |element|
|
||||
return element if element > 0
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
|
||||
def main
|
||||
method_name = ARGV[0]
|
||||
file_path = ARGV[1]
|
||||
|
||||
if method_name.nil? || file_path.nil?
|
||||
puts "Неправльный формат ввода. Использование: ruby program.rb <method_name> <file_path>"
|
||||
puts "method_name: 'min', 'first_positive_index' или 'first_positive'"
|
||||
exit
|
||||
end
|
||||
|
||||
begin
|
||||
array = File.read(file_path).split.map(&:to_i)
|
||||
rescue Errno::ENOENT
|
||||
puts "Файл не найден: #{file_path}"
|
||||
exit
|
||||
end
|
||||
|
||||
case method_name
|
||||
when 'min'
|
||||
result = find_min_element(array)
|
||||
puts "Минимальный элемент: #{result}"
|
||||
when 'first_positive_index'
|
||||
result = find_first_positive_index(array)
|
||||
puts "Индекс первого положительного элемента: #{result.nil? ? 'Нет положительного элемента' : result}"
|
||||
when 'first_positive'
|
||||
result = find_first_positive(array)
|
||||
puts "Первый положительный элемент: #{result.nil? ? 'Нет положительного элемента' : result}"
|
||||
else
|
||||
puts "Неизвестный метод: #{method_name}"
|
||||
puts "Доступные методы: 'min', 'first_positive_index', 'first_positive'"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
main if __FILE__ == $0
|
@ -0,0 +1 @@
|
||||
-10 -5 0 3 5 -2
|
Loading…
Reference in new issue