¤¤¤í¤ó¤Ê¸À¸ì¤ÇÏ¢ÁÛÇÛÎó¤òÎóµó
ʸ»úÎóÁàºî¤ÎÈæ³Óɽ: Ruby, Python, JavaScript, Perl, C++¤¬ÌÌÇò¤«¤Ã¤¿¤Î¤Ç¥Þ¥Í¤·¤Æ¤ï¤«¤ëÈϰϤǤ¤¤í¤¤¤í¤ä¤Ã¤Æ¤ß¤¿¡¥
Ìܼ¡
Ruby
¥³¡¼¥É
hash = {
"key1" => "value1",
"key2" => "value2",
"key3" => "value3"
}
hash.each() {|value, key|
print value + " : " + key + "\n"
}
¼Â¹Ô·ë²Ì
key1 : value1 key2 : value2 key3 : value3
Ruby¤Ï¤¹¤Ù¤Æ¤¬¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤Î¤Ç¡¤ÇÛÎó¤âArray¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤È¤¤¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤ë¡¥¤Ç¡¤each¥á¥½¥Ã¥É¤Ë¥³¡¼¥É¥Ö¥í¥Ã¥¯¤ò°ú¿ô¤È¤·¤ÆÍ¿¤¨¤ë¤³¤È¤Ç¥¤¥Æ¥ì¡¼¥È¤Ç¤¤ë¡¥³Ú¤·¤¤¡¥
PHP
¥³¡¼¥É
<?php
$hash = array(
"key1" => "value1",
"key2" => "value2",
"key3" => "value3"
);
// ÉáÄÌ
foreach($hash as $key => $value) {
print $key . " : " . $value . "\n";
}
// ÊÑ
array_walk($hash, create_function('$value, $key', '
print $key . " : " . $value . "\n";
'));
?>
¼Â¹Ô·ë²Ì
key1 : value1 key2 : value2 key3 : value3
ÉáÄ̤Ïforeach¤Ç²ó¤¹¤±¤É¡¤array_walk¤Èƿ̾´Ø¿ô¤òºî¤ëcreate_function¤Ç½ñ¤¯¤³¤È¤â¤Ç¤¤ë¡¥
JavaScript
¥³¡¼¥É
var hash = {
"key1": "value1",
"key2": "value2",
"key3": "value3"
};
// ÉáÄÌ
for(var key in hash) {
document.write(key + " : " + hash[key] + "\n");
}
// ÊÑ
Object.prototype.each = function(iterator) {
for(var key in this) {
if(this.hasOwnProperty(key)) iterator(this[key], key);
}
};
hash.each(function(value, key) {
document.write(key + " : " + value + "\n");
});
¼Â¹Ô·ë²Ì
key1 : value1 key2 : value2 key3 : value3
for in¹½Ê¸¤ò»È¤¦¤Î¤¬¤ï¤«¤ê¤ä¤¹¤¤¡¥JavaScript¤ÏÁ´¤Æ¤¬¥ª¥Ö¥¸¥§¥¯¥È¤ÇÏ¢ÁÛÇÛÎó¤ÏObject¥ª¥Ö¥¸¥§¥¯¥È¡Ê¤Ê¤ó¤«ÊѡˤʤΤÇprototype¤Ë¥á¥½¥Ã¥É¤ò¤¯¤Ã¤Ä¤±¤ì¤Ð¤É¤¦¤È¤Ç¤â½ñ¤±¤ë¡¥
Python
¥³¡¼¥É
hash = {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
for key, value in hash.iteritems():
print key + " : " + value
¼Â¹Ô·ë²Ì
key3 : value3 key2 : value2 key1 : value1
¤Ï¤¸¤á¤ÆPython½ñ¤¤¤Æ¤ß¤¿¡¥ÇÛÎ󥪥֥¸¥§¥¯¥È¤¬¥¤¥Æ¥ì¡¼¥¿¤òÊÖ¤·¤Æ¤¯¤ì¤ë´¶¤¸¡©
C++
¥³¡¼¥É
#include <iostream>
#include <map>
using namespace std;
void iteratorFunction(const pair<char *, char *> &value) {
cout << value.first << " : " << value.second << endl;
}
int main() {
map<char *, char *> array;
array.insert(pair<char *, char *>("key1", "value1"));
array.insert(pair<char *, char *>("key2", "value2"));
array.insert(pair<char *, char *>("key3", "value3"));
for_each(array.begin(), array.end(), iteratorFunction);
return 0;
}
¼Â¹Ô·ë²Ì
key1 : value1 key2 : value2 key3 : value3
C++¤Ï¤è¤¯»È¤¦¤±¤É¡¤¤Ï¤¸¤á¤Æstd::map¤È¤«for_each¤È¤«»È¤Ã¤¿¡¥¥Æ¥ó¥×¥ì¡¼¥È»È¤¦¤È¤É¤¦¤·¤Æ¤â¸«¤¿Ìܤ¬¥´¥Á¥ã¥´¥Á¥ã¤Ë¤Ê¤ë¤±¤É¥Æ¥ó¥×¥ì¡¼¥È¤ÏÌÌÇò¤¤¤Î¤Ç»È¤¤¤³¤Ê¤·¤Æ¤ß¤¿¤¤¡¥
Java
¥³¡¼¥É
import java.util.Hashtable;
import java.util.Enumeration;
public class Hash {
public static void main(String args[]) {
Hashtable hash = new Hashtable();
hash.put("key1", "value1");
hash.put("key2", "value2");
hash.put("key3", "value3");
Enumeration e = hash.keys();
while(e.hasMoreElements()) {
String key = (String)e.nextElement();
System.out.println(key + " : " + hash.get(key));
}
}
}
¼Â¹Ô·ë²Ì
key3 : value3 key2 : value2 key1 : value1
µ×¤·¤Ö¤ê¤ËJava¤Î¥³¡¼¥É¤ò½ñ¤¤¤¿¡¥¤È¤¤¤Ã¤Æ¤âÁ´Á³·Ð¸³¤Ê¤¤¤Î¤Ç¡¤¤Ï¤¸¤á¤Æjava.util.Hashtable»È¤Ã¤¿¤è¤¦¤Ê´¶¤¸¡¥
Objective-C + Cocoa
¥³¡¼¥É
#import <Foundation/Foundation.h>
#import <stdio.h>
int main() {
id pool = [[NSAutoreleasePool alloc] init];
id keys[] = {
@"key1",
@"key2",
@"key3"
};
id values[] = {
@"value1",
@"value2",
@"value3"
};
id hash = [[NSDictionary alloc] initWithObjects:values forKeys:keys count:3];
id key;
NSEnumerator *enumerator = [hash keyEnumerator];
while((key = [enumerator nextObject]) != nil) {
printf("%s : %s\n", [key cString], [[hash objectForKey:key] cString]);
}
[hash release];
[pool release];
return 0;
}
¼Â¹Ô·ë²Ì
key2 : value2 key3 : value3 key1 : value1
Objective-C¤ÏÊÙ¶¯Ãæ¤Ç¡¤¤Ï¤¸¤á¤ÆNSDictionary»È¤Ã¤¿¡¥¤Ê¤ó¤È¤Ê¤¯Java¤È»÷¤Æ¤ë¤Î¤ÏJava¤¬Objective-C¤Î±Æ¶Á¤ò¼õ¤±¤Æ¤¤¤ë¤«¤é¤È¤¦¤¤¤³¤È¤Ç¤¤¤¤¤Î¤«¤Ê¡©¡¥
¤Þ¤È¤á
¸Ä¿ÍŪ¤Ë¤ÏRuby¤¬°ìÈÖÈþ¤·¤¤¤È¤¤¤¦¤«¡¤¤ä¤ê¤¿¤¤¤³¤È¤¬Ä¾´¶Åª¤Ë¤ï¤«¤ë¥³¡¼¥É¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È»×¤¦¡¥¥¹¥¯¥ê¥×¥È·Ï¤ËÈæ¤Ù¤Æ¥³¥ó¥Ñ¥¤¥ë·Ï¤¬¤É¤¦¤·¤Æ¤â¥³¡¼¥É¤¬Ä¹¤¯¤Ê¤ë¤Î¤Ï»ÅÊý¤Ê¤¤¤Ë¤·¤Æ¤âJava¤¬¤¹¤Ã¤¤ê¤·¤Æ¤¤¤ÆÎɤ¤¤È»×¤Ã¤¿¡¥Objective-C¤âMac OS X 10.5¤Ç¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤¬ºÎÍѤµ¤ì¤ë¤é¤·¤¤¤Î¤Ç¤½¤·¤¿¤éNSAutoreleasePool¤È¤«release¤È¤«¤¬¤Ê¤¯¤Ê¤ë¤Î¤Ç¥·¥ó¥×¥ë¤Ë¤Ê¤ë¤È»×¤¦¡¥
2006/10/26 09:40 | Programming | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(0)