対話型環境で遊ぶ1[連想配列]
連想配列で軽く遊ぶ
連想配列のキーについて
python3.6.5
php5.6.37(ry
ruby 2.5.1(ry
js chrome 68.0(ry
aki@Desctop:/mnt/c/Users/win$ python --version
Python 3.6.5
aki@Desctop:/mnt/c/Users/win$ php -v
PHP 5.6.37-1+ubuntu18.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
aki@Desctop:/mnt/c/Users/win$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
aki@Desctop:/mnt/c/Users/win$ python
Python 3.6.5 (default, Jul 26 2018, 03:51:00)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> dic = {a: 22, 22: 'a'}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> dic = {'a': 22, 22: 'a'}
# pythonの連想配列(dict)は、キーはデータが反映される
>>> a = 'aaa'
>>> {a: 22}
{'aaa': 22}
>>> exit()
aki@Desctop:/mnt/c/Users/win$ php -a
Interactive mode enabled
php > $arr = array("a"=>22, 22=>"a");
php > var_dump($arr);
array(2) {
["a"]=>
int(22)
[22]=>
string(1) "a"
}
// phpも同じく、連想配列(array)はキーのデータが反映される
php > $a = "aaa";
php > $arr = array($a=>22, 22=>"a");
php > var_dump($arr);
array(2) {
["aaa"]=>
int(22)
[22]=>
string(1) "a"
}
// phpのインタラクティブモードは絶対セミコロンつけさせてくるから面倒くさい;;
aki@Desctop:/mnt/c/Users/win$ irb
irb(main):001:0> ha = {"a" => 22, 22 => "a"}
=> {"a"=>22, 22=>"a"}
irb(main):002:0> a = "aaa"
=> "aaa"
irb(main):003:0> ha = {a => 22, 22 => "a"}
=> {"aaa"=>22, 22=>"a"}
# rubyも、連想配列(Hash)はキーのデータが反映される
irb(main):004:0> exit;
// jsの連想配列(Dictionary)は、キーはそのままキーになる
{a: 22, 22: "a"}
{22: "a", a: 22}
jsをよく触っていたからか、連想配列のキーは文字列とか意識していなかったけど、python, php, rubyはキーにデータを入れれるし、言語による違い全然覚えてないなーって感じでした
おまけのpython
>>> def xx(x):
... return x*x
...
>>> xx(2)
4
>>> aa = {xx: 2}
>>> aa
{<function xx at 0x7f3bcde06a60>: 2}
>>> aa[xx]
2
できるけど何なん?って感じ
この記事が気に入ったらサポートをしてみませんか?