Что нового

[Данные, строки] Строка как массив из функций

clown

Новичок
Сообщения
28
Репутация
3
Всем привет, вопрос:
Код:
; Есть строка
$str = ""
; Ей присваивается только численное значение
$str = 12345 ; или $str = 102745
; Каждый символ строки определяет какая функция будет запускаться
Select
Case 1 
   Func1()
Case 2
   Func2()
...
Case 0
   Func0()
EndSelect
; как описать, чтоб эта строка обрабатывалась и каждый символ выполнял свою функцию?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
1. лучше уж тогда
Код:
$str = '12345'

а обрабатывать можно банально разбив строку на символы
Код:
$aCommands = StringSplit($str, '')

ну и затем
Код:
Switch $sCommand
     Case '1'
          Func_1()
...
     Case '10'
          Func_10()
EndSwitch
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Код:
$Str = '12345'
$Num = StringSplit($Str, '')
For $i = 1 To $Num[0]
;	Call('Func' & $Num[$i])
	ConsoleWrite('Func' & $Num[$i] & '()' & @CR)
Next
 
Автор
C

clown

Новичок
Сообщения
28
Репутация
3
Дело в том, что этот набор цифр достается из .ини файла. Как его превратить из int в string?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
clown
в таком случае он изначально string
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
clown [?]
Как его превратить из int в string?
Понимаю еще смысл обратного действия....но уж если надо, используйте функцию: String()
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
clown [?]
Как его превратить из int в string?
А зачем?
Код:
#include <Array.au3>

$iNum = 12345
$sNum = '12345'
$aNum_i = StringSplit($iNum, '')
$aNum_s = StringSplit($sNum, '')
_ArrayDisplay($aNum_i, '$iNum')
_ArrayDisplay($aNum_s, '$sNum')
 
Автор
C

clown

Новичок
Сообщения
28
Репутация
3
Спасибо всем за ответы :smile:
 
Верх