2011-10-08 3 views
0

У меня был этот вопрос на многих языках, но я никогда не сталкивался с этим вопросом. Я только задавал вопросы, но редко получал результаты.Как два Итерации над двумя массивами на сильно типизированном языке?

Я понял, но я просто хочу убедиться, что это лучший способ пойти.

Давайте рассмотрим пример: (. Я буду делать это как можно более общим, так что мы надеемся, работает на любом языке)

firstArray[0] = 1; 
firstArray[1] = 2; 
firstArray[2] = 3; 

secondArray[0] = 'a'; 
secondArray[1] = 'b'; 
secondArray[2] = 'c'; 

Теперь давайте представим, если оба эти массивы бесконечны.

Если бы я хотел, чтобы получить эти результаты:

1a 
2b 
3c 

Тогда я могу написать это ?:

for (int i=0; i < 3; i++) 
{ 
print(firstArray[i] + secondArray[i]); 
} 
+0

Более или менее, да. –

+0

да, вы можете сделать это на любом языке. – Astha

+0

да, хотя вам нужно исправить опечатки в синтаксисе;) – JonAlb

ответ

0

Да, вы можете сделать это до тех пор, как ни массив короче, чем диапазон, «итерации» и оба содержат типы, которые могут быть добавлены друг к другу с помощью оператора + с литьем или без него.

0

Название вашего вопроса говорит, если это возможно в строго типизированном языке. Вот что Википедия упоминает о сильной типизации http://en.wikipedia.org/wiki/Strong_typing (проверьте пример объединения строк и целых чисел). Если это то, что вы просите, тогда ответ будет отрицательным. Вы не можете делать это на строго типизированных языках.

E.g. Вы не можете сделать это в Python (и я считаю, Python сильно типизированный)

 


a = [1,2,3] 
b = ['a','b','c'] 

for i in xrange(len(a)): 
    print (a[i]+b[i]) 

 

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

 


a = [1,2,3] 
b = ['a','b','c'] 

for i in xrange(len(a)): 
    print (str(a[i]) + b[i]) 

 

Это также невозможно сделать на языках C и C++.

Смежные вопросы