Что нового

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

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,762
Репутация
1,152
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,762
Репутация
1,152
general66
Вариант ElseIf аналогичен Select, что позволяет составлять под-условия сравнения в Case. В варианте Switch все элементы Case сравнивает с одним элементом, который указан возле Switch. Для текущего скрипта разницы нет, что больше нравится или лучше выглядит то и используй. Вариант Switch быстрее в 2 раза при определённых случаях сравнения множества элементов с единственным элементом (предположительно по логике работы).
 
Верх