Если вы не можете четко описать свои данные и ваш желаемый результат, вы не сможете его кодировать - принятие простого проекта - это хороший способ начать работу с нового языка.
Позвольте мне представить простой метод, который вы можете использовать для извлечения кода на любом языке, независимо от того, знаете ли вы это или нет. Этот метод работает только для небольших проектов. Вам нужно будет на самом деле планировать большие проекты.
Как написать программу:
- Откройте свой текстовый редактор и запишите, какие данные есть. Сделать каждую строку комментария
- Опишите желаемые результаты.
- Начните описывать шаги, необходимые для изменения ваших данных в нужную форму.
Числа 1 & 2 завершен:
#!/usr/bin perl
use strict;
use warnings;
# Read data from multiple files and combine it into one file.
# Source files:
# Field definitions: has a list of field names, one per line.
# Data files:
# * Each data file has a string of digits.
# * There is a one-to-one relationship between the digits in the data file and the fields in the field defs file.
#
# Results File:
# * The results file is a CSV file.
# * Each field will have one row in the CSV file.
# * The first column will contain the name of the field represented by the row.
# * Subsequent values in the row will be derived from the data files.
# * The order of subsequent fields will be based on the order files are read.
# * However, each column (2-X) must represent the data from one data file.
Теперь, когда вы знаете, что у вас есть, и где вам нужно идти, вы можете конкретизировать, что программа должна сделать, чтобы получить Вас там - это это шаг 3:
вы знаете, что вам нужно иметь список полей, поэтому получить, что первое:
# Get a list of fields.
# Read the field definitions file into an array.
Поскольку EAS iest для записи CSV в строковой ориентации, вам необходимо обработать все ваши файлы, прежде чем генерировать каждую строку. Таким образом, вам понадобится место для хранения данных.
# Create a variable to store the data structure.
Теперь мы читаем файлы данных:
# Get a list of data files to parse
# Iterate over list
# For each data file:
# Read the string of digits.
# Assign each digit to its field.
# Store data for later use.
У нас есть все данные в памяти, теперь пишут вывод:
# Write the CSV file.
# Open a file handle.
# Iterate over list of fields
# For each field
# Get field name and list of values.
# Create a string - comma separated string with field name and values
# Write string to file handle
# close file handle.
Теперь вы можете начать преобразования комментариев в код. Для каждого комментария может быть от 1 до 100 строк кода. Вы можете обнаружить, что что-то, что вам нужно сделать, очень сложно, и вы не хотите его принимать в данный момент. Создайте фиктивную подпрограмму для обработки сложной задачи и игнорируйте ее, пока не получите все остальное. Теперь вы можете решить эту сложную, тернистую суб-проблему самостоятельно.
Поскольку вы только изучаете Perl, вам нужно нажать на документы, чтобы узнать, как выполнять каждую из подзадач, представленных комментариями, которые вы написали. Лучшим ресурсом для такого рода работ является the list of functions by category in perlfunc. Perl syntax guide тоже пригодится. Поскольку вам нужно будет работать со сложной структурой данных, вы также захотите прочитать с Data Structures Cookbook.
Возможно, вам интересно, как вы должны знать, какие страницы perldoc вы должны читать для данной проблемы. Статья о Perlmonks под названием How to RTFM дает хорошее представление о документации и способах ее использования.
Отличная вещь, если вы застряли, у вас есть код для обмена, когда вы просите о помощи.
более подробно объясните, как появляются столбцы csv. – ghostdog74
Мое впечатление, основанное на ваших вопросах, заключается в том, что вы взяли на себя работу, о которой вы не знаете, как это сделать. Теперь вы пытаетесь закончить его, заставив нас решить каждый шаг для вас. В процессе обфускации информации, чтобы ваш работодатель/клиент/учитель не мог понять, что вы делаете, вы ставите вопросы в неразборчивые беспорядки. Я был бы очень признателен, если бы кто-нибудь мог объяснить, о чём этот вопрос, или если вы можете прояснить общую картину. В конце концов, помогать другим, которые пытаются помочь вам, будет полезно для вас. –
Кажется, что я единственный ответ на ваш вопрос. Возможно, вам захочется проявить большую признательность тем, кто пытается вам помочь. –