Как распаковать Zip файл в Linux

Как распаковать Zip файл в Linux

Zip — это один из самых распространенных и наиболее популярных способов создания сжатых архивных файлов. Это также один из самых старых форматов архивных файлов, он был создан в 1989 году. Поскольку он широко используется, вы будете регулярно сталкиваться с zip-файлами.

В одном из предыдущих уроков я показал, как заархивировать папку в Linux. В этом кратком руководстве для начинающих я покажу вам, как распаковывать файлы в Linux. Читать

Алгоритм загрузки linux (BIOS/UEFI)

Если вам интересно узнать как загружается Linux, то эта статья для вас. Рассмотрим алгоритм загрузки Linux на компьютерах с BIOS и UEFI.





Читать

Как установить make на Ubuntu

Команда make в Linux используется для компиляции и управления набором приложений и файлов из исходного кода. Это позволяет разработчикам использовать терминал для установки и сбора различных программ. Он также управляет и сокращает время, необходимое для компиляции. Основная цель команды make — разбить огромную программу на более мелкие части и оценить, нужно ли ее перекомпилировать. Он также дает важные инструкции по их перекомпиляции. Читать

Обзор Binance

Binance-это программный продукт для обмена криптовалютами, который позволяет вам легко создать портфель криптовалютных бирж. Это позволяет вам торговать широким спектром монет на классической бирже или углубляться в пиринговую торговлю (P2P). Вы можете легко конвертировать монеты из одной валюты в другую, и команда поддержки всегда готова помочь вам, когда вам это понадобится. Binance доступен для установки на компьютеры Windows, Mac и Linux, а также на мобильные устройства Android и iOS. Читать

Превратить список в String в Python

На разных компьютерных языках список можно сравнить с массивом. Квадратные скобки используются для его обозначения, а запятая (,) используется для разделения двух элементов или элементов в списке. В Python упорядоченный набор символов представляет собой строку. Следует понимать различие между списком и строкой. Список — это упорядоченный тип объекта, тогда как строка — это упорядоченная последовательность символов. Принципиальная разница между ними очевидна. Когда предоставляется список, и мы преобразуем его в строку, мы можем столкнуться с различными ситуациями. Например, перевод списка строк. Эта статья покажет вам, как наиболее эффективным способом преобразовать список Python в строку.

 

Пример 1: Метод Join()

В Python функция соединения — один из самых простых способов преобразования списка в строку. Самая важная вещь, которую следует помнить при использовании этого метода, — это то, что он будет переводить только списки в строки, которые включают только строки в качестве элементов. Итерируемые объекты признаются как параметры для метода join(). Он также извлекает новую строку в качестве входных данных, которая содержит элементы, объединенные из итерируемого объекта.

В этом примере метод join() принимает входной список в качестве входных данных и объединяет элементы списка с выходной строкой, возвращая строку в качестве выходных данных. Изначально мы инициализировали список, в котором есть несколько элементов.

inp_list = [‘Привет’, 'Я', 'Andrey', 'Ex']



out_str = " "



print("Ознакомьтесь со списком прямо сейчас:n")



print(out_str.join(inp_list))

 

Пример 2: понимание списка

В Python понимание списка генерирует список элементов из уже доступного списка. Затем цикл for используется для поэлементного обхода итерируемых объектов. Метод join() объединяет компоненты списка в новую строку и возвращает ее в качестве вывода, в то время как понимание списка просматривает элементы один за другим. Из существующего списка Python List Computing генерирует список элементов. Он также использует цикл for для изучения компонентов итерируемого объекта в шаблоне «элемент за элементом».

На этом прикрепленном скриншоте у нас есть список, в котором есть некоторые элементы. После этого мы использовали метод понимания списка и распечатали его результат, используя оператор печати.

X = ['Я', 'хочу', 4, 'торта', 'и', 18, 'мороженых'



listToStr = ' '.join([str(elem) for elem in x])



print(listToStr)

 

 

Пример 3: метод map()

Итерируемые объекты, такие как кортежи, списки и строки, принимаются функцией map(). В результате он используется для сопоставления компонентов итерационных объектов указанной функции. Чтобы преобразовать список в строку, функцию карты можно использовать двумя способами. Если список состоит полностью из цифр или если список разнообразен. Метод str() преобразует указанный тип данных в строковый тип данных, а функция map() принимает два ввода. Метод str() будет вызываться для каждого элемента в повторяемой последовательности. Итератор будет использоваться для получения строковых значений. Наконец, все значения, созданные функцией str(), объединяются с помощью метода join().

На этом прикрепленном снимке экрана у нас есть список под названием «x», в котором есть некоторые элементы, включая целые числа и символы. После этого мы использовали метод карты списка и распечатали его результат с помощью оператора печати.

x = ['Я', 'пишу', 2, 'решаю', 'для', ‘andreyex']



listToStr = ' '.join(map(str, x))



print(listToStr)

 

Заключение

В Python список и строка типов данных имеют свое значение. В этой статье были рассмотрены основы списков и строк Python, а также несколько методов и приемов преобразования типов данных списка в строки. Мы реализовали примеры, используя метод соединения, метод понимания списка и метод карты. Настоятельно рекомендуется тщательно изучить и понять все эти методы, поскольку они чрезвычайно продуктивны и полезны при преобразовании списка в строку с меньшим количеством строк кода. После понимания реализуйте все эти методы в своей системе.



2021-11-05T20:37:51
Python

Что означает DO в Ruby?

Ruby — это невероятный язык программирования, в котором есть современные функции и инструменты для большинства сред разработки. У Ruby есть одна мощная функция, о которой часто забывают: блоки .

Суть этой статьи состоит в том, чтобы обсудить и понять, что такое блоки Ruby, как они работают и как мы можем использовать их в наших программах Ruby.

Мы начнем с основного синтаксиса, а затем обсудим такие функции, как yield, которые могут напугать новых пользователей Ruby.

 

Что такое блоки Ruby?

Как и в других языках программирования, блок или закрытие — это анонимная функция, которую вы заключаете в ключевые слова do и end для встроенных блоков.

Блоки позволяют группировать блок кода в отдельные компоненты, которые можно передавать во время вызова метода в качестве параметров.

В Ruby есть два способа определения блока: первый — использовать ключевое слово do..end, второй — использовать пару фигурных скобок.

Блок Do..end в основном используется при определении блока кода, охватывающего несколько строк, а фигурные скобки {} используются при определении блока кода, охватывающего одну строку.

Вы передаете аргументы блока между парой вертикальных черт | |

СОВЕТ
Независимо от того, используете ли вы однострочный или многострочный блок, функциональные возможности не меняются. Однако для удобства чтения используйте фигурные скобки для однострочного блока и конец для многострочного блока.

 

Базовый пример

Ниже приведены два простых примера блока Ruby, в одном из которых используются фигурные скобки, а в другом — do..end.

# single line - {}

['Java', 'C', 'C++'].each { |i| puts i}



# multi-line -> do..end

['Java', 'C', 'C++'].each do |i|

puts i

end

 

Оба приведенных выше примера дают похожие результаты:

  • Java
  • C
  • C ++

В приведенном выше примере блоки ruby ​​применяются в простейшей форме: мы передаем блок в каждый метод объекта массива. Передайте аргументы блока внутри пары вертикальных черт; в приведенном выше примере аргумент — i. Наконец, мы выводим функциональность блока внутри тела блока (в этом примере — put).

 

Понимание ключевого слова Yield в Ruby

Вы можете использовать блоки Ruby внутри стандартного метода. Функциональность для выполнения этого действия обеспечивается ключевым словом yield.

Давайте подробно обсудим ключевое слово yield.

 

Что такое yield в Ruby?

Ключевое слово yield в Ruby позволяет вызывать определенный блок внутри метода Ruby.

 

Как это работает

Давайте рассмотрим пример, который поможет нам понять, как работает ключевое слово yield. Рассмотрим простой метод Ruby, показанный ниже:

def hello

puts "Привет!"

end

 

Приведенный выше пример представляет собой простой метод Ruby, который выводит «Привет!».

Если мы хотим придать программе большую гибкость, мы можем разрешить пользователю передавать аргумент во время вызова метода.

Следовательно, мы можем закодировать метод как:

def hello(name)

puts "Привет, " + name

end

hello("Russia")

 

Во втором примере у нас есть небольшая гибкость, поскольку мы можем передать любое имя методу в качестве аргумента.

Мы можем расширить это еще больше, используя блок Ruby. Когда мы передаем блок внутри метода, он будет выполнен и вернет результаты.

 

Определение метода доходности

Чтобы создать метод, принимающий блок, мы используем ключевое слово yield. Общий синтаксис следующий:

def hello

yield

end

 

После определения мы можем вызвать метод и передать блок кода. Метод выполнит код и вернет результат.

 

Передача блока Ruby в метод

Мы можем передать блок в метод, используя синтаксис блока. Например, мы можем вызвать вышеуказанный метод с синтаксисом как:

hello {puts "Hello world" }

 

Пока метод содержит ключевое слово yield, вы можете передать любой блок кода и выполнить его.

Примечание
После определения ключевого слова yield внутри метода вы ДОЛЖНЫ передать блок при вызове метода. В противном случае вы получите ошибку «Блокировка не задана (yield)».

 

Пример 2

Возьмем другой пример:

def hello

puts "before yield."

yield

puts "after yield."

end

hello {puts "I yield"}

 

В приведенном выше примере показано, как работает выполнение метода с использованием yield. Вывод программы ниже:

before yield

I am yield

after yield

Аргументы блока Ruby

Ruby позволяет передавать аргументы блоку Ruby. Аргументы блока определены в блоке yield и служат параметрами блока.

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

def hello

yield("Andrey Ex", 23)

end

hello { |name, age| puts "Hello #{name}, you are #{age} years old"}

 

Параметры, определенные внутри блока, имеют локальную область видимости и доступны только в контексте блока.

Следовательно, вы получите неопределенную переменную, используемую вне области блока.

 

Пример 3

Функциональность блока не меняется на однолинейных или многострочных блоках. Мы можем проиллюстрировать это на примере ниже:

def area

yield(7)

end

area do

puts "площадь круга #{7 * 3.14159}cm2"

end

 

Результат из приведенного выше примера:

Площадь круга 21.99113cm2

 

Это показывает, что как многострочные, так и однострочные блоки, функциональность остается прежней.

 

Явные блоки

В предыдущих примерах мы определили блоки как неявные. Однако мы также можем описать их как явные.

Явные блоки означают, что мы назначаем имя списку параметров метода.

def example(&block)

block.call

end

example {puts "Explicit block example" }

 

Вы передаете имя блока внутри после амперсанда. Используя имя блока, вы можете передать сохраненный блок другому методу.

 

Обработка ошибок блока

В предыдущих разделах мы упоминали, что блок yield является обязательным. Однако вы можете реализовать простую логику обработки ошибок, если указан yield. Мы делаем это с помощью параметра block_given? Метод ядра.

Метод возвращает логическое значение true, если yield доступен, и false, если в противном случае.

Рассмотрим простой пример ниже:

def hello

if block_given?

yield

else

puts "Nothing happened...[ERROR]"

end

end

 

Если мы вызовем метод с требуемым значением yield, результат будет:

hello {puts "Hello there!"}

Hello there!

 

С другой стороны, вызов метода без yield выполнит блок else как:

hello

Nothing happened...[ERROR]

 

Используя значение из block_given? , вы можете реализовать логику обработки ошибок, когда нет значения yield.

 

Заключение

В этой статье мы обсудили блоки Ruby, что они собой представляют, как они работают и как использовать их в своих проектах.



2021-11-05T20:28:20
Ruby