Что нового

[Массивы] извлечение из массива строки

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
помогите разобраться с массивами что в них к чему у меня в массив попадают данные из файла построчно при помощи _FileReadToArray
подскажите как взять из массива данные если я заранее знаю что они находятся под определенным индексом (файл читается построчно номер строчки равен индексу в массиве) скажем

Код:
#include <file.au3>
#include <Array.au3>


Global $failMarker1 = (@ScriptDir & '1.txt') ; Фаил маркер
Global $failMarker2 = (@ScriptDir & '2.txt') ; Фаил маркер
Global $failMarker3 = (@ScriptDir & '2.txt') ; Фаил маркер

Dim $aMassiv
_FileReadToArray("er.txt",$aMassiv)
If FileFindFirstFile $Marker1 = 1 Then
	$izMasiva = эта переменная должна быть равна 1му элементу массива
ElseIf FileFindFirstFile $Marker2 = 1 Then
	$izMasiva = эта переменная должна быть равна 2му элементу массива
ElseIf FileFindFirstFile $Marker1 = 1 Then
	$izMasiva = эта переменная должна быть равна 3му элементу массива
EndIf
 

AZJIO

Меценат
Меценат
Сообщения
2 752
Репутация
1 149
general66
Код:
#include <file.au3>

Global $failMarker1 = (@ScriptDir & '1.txt') ; Фаил маркер
Global $failMarker2 = (@ScriptDir & '2.txt') ; Фаил маркер
Global $failMarker3 = (@ScriptDir & '2.txt') ; Фаил маркер

Dim $aMassiv
_FileReadToArray(@ScriptDir & "er.txt",$aMassiv)
If FileExists($failMarker1) Then
    $izMasiva = $aMassiv[1]
ElseIf FileExists($failMarker2) Then
    $izMasiva = $aMassiv[2]
ElseIf FileExists($failMarker3) Then
    $izMasiva = $aMassiv[3]
EndIf


последнюю проверку можно так попробовать
Код:
Switch 1
	Case FileExists($failMarker1)
		$izMasiva = $aMassiv[1]
	Case FileExists($failMarker2)
		$izMasiva = $aMassiv[2]
	Case FileExists($failMarker3)
		$izMasiva = $aMassiv[3]
EndSwitch
 
Автор
G

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
AZJIO [?]
последнюю проверку можно так попробовать
вопрос как к Гуру в хорошем смысле этого слова, что в моем случае правильней использовать
Switch ... Case ... EndSwitch или If ... Then ... ElseIf
 

AZJIO

Меценат
Меценат
Сообщения
2 752
Репутация
1 149
general66
Вариант ElseIf аналогичен Select, что позволяет составлять под-условия сравнения в Case. В варианте Switch все элементы Case сравнивает с одним элементом, который указан возле Switch. Для текущего скрипта разницы нет, что больше нравится или лучше выглядит то и используй. Вариант Switch быстрее в 2 раза при определённых случаях сравнения множества элементов с единственным элементом (предположительно по логике работы).
 
Верх