[過去ログ] くだらねえ質問はここに書き込め! Part 245 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
917: 2021/11/05(金)21:13 ID:YOmWv/Lx(1/2) AAS
>>876
お前が普通だと思う鳥とインストール手順を書け
918: 2021/11/05(金)21:21 ID:YOmWv/Lx(2/2) AAS
>>911
近所に田中、佐藤、鈴木、高橋が住んでるとして、順番に並べてみろ。
919(1): 2021/11/05(金)21:52 ID:bRi9tMfO(1/2) AAS
配列のインデックスを要素のハッシュで持つ、というのが連想配列即ちハッシュテーブルだから
普通(特殊な実装をしていない限り)は順序は保持されない
920(1): 2021/11/05(金)22:39 ID:SGqxn/Ov(2/3) AAS
>>919
特殊なんだろうけど、phpとか、Rubyとかは、順序保持してくれるんだよね
Qtで、Key使いたくて、QHashで書き始めて
順序がおかしいって、なって
あ
ダメだったんんだった
って
構造体作ってListになおすとかしょっちゅう
921(2): 2021/11/05(金)22:44 ID:bRi9tMfO(2/2) AAS
>>920
動かしてみると順序保持されてる言語結構あるけど
言語仕様で保証されてないなら「今現在そう動く」としても危険な実装だからやめといた方がいいよ
実行環境で変わったりバージョンで変わったりする
922(1): 2021/11/05(金)22:56 ID:SGqxn/Ov(3/3) AAS
>>921
Rubyは詳しく知らないけど
phpは、そもそも、hashがなくて、全部配列だから、普通じゃないんだよ
$hash = array('a' => 1, 'b' => 2, 'c' => 3)
こんなんだし
923: 2021/11/05(金)23:44 ID:qs6OKevZ(3/3) AAS
ハッシュならリンクで繋いでるだけだから…
そんなのはMap(連想配列)の実装構造によるもので、どこまで順序保証するかも言語やライブラリの仕様による
単に連想配列の列挙で順序が保証されないことは不思議なことではないというだけ
phpはコンテナとして連想配列しか用意されてないだけ
924: 2021/11/05(金)23:58 ID:cJdbB2O/(2/2) AAS
>>921
pythonの昔バージョンは順序を保持しなかったが、
比較的新しいのは保持するようになっているからな。
bashのような古典スクリプトは昔ながらの順序を保持ない連想配列のままなんだろう
925: 2021/11/06(土)01:41 ID:YFQx6gi4(1) AAS
Rubyでは、Hashの要素数が増えていくと、再編成される
バケット数は、2の累乗付近の素数を使う。
つまり、倍々に増やしていく
8+3, 16+3, 32+5, 64+3, 128+3, 256+27, 512+9...
1つのバケットには、平均して5つの要素を入れる(衝突)。
11*5=55, 19*5=95, 37*5=185...
つまり要素数が、56, 96, 186...個になると、
バケット数を増やして、再編成する
普段、1万個の要素を追加するのに、8msかかるが、
再編成するタイミングでは、20msかかる。
省10
926(1): 2021/11/06(土)09:21 ID:9fuQqkoH(1) AAS
>>922
> phpは、そもそも、hashがなくて、全部配列だから、普通じゃないんだよ
確かに普通じゃないわ…
$array[3] = 'あ';
$array[2] = 'い';
$array[1] = 'う';
$array[0] = 'え';
foreach($array as $key => $value){
print $key . ":" . $value . <br />";
}
省5
927: 2021/11/06(土)10:18 ID:Au2x2mqq(1/15) AAS
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>for k,v in {3:'あ',2:'い',1:'う',0:'え'}.items():
... print(f'{k}:{v}')
...
3:あ
2:い
1:う
0:え
省2
928(1): 2021/11/06(土)11:47 ID:s3BWYmEt(1/2) AAS
UbuntuのIPアドレスを固定設定でき、コマンドで192.168.50.2にセットしたこととapache2を起動したことを確認できたのですが
ネットワーク内の他の端末で192.168.50.2にアクセスすると接続を拒否されてしまいます。
pingでは応答があるので、アクセスができないわけでは無いと思うのですが
この場合どのような原因が考えられますでしょうか?
929: 2021/11/06(土)11:48 ID:s3BWYmEt(2/2) AAS
あ、今書き込んでるスマホでは行けました
多分アクセスしてるPCの設定が悪いと思うんですが……
930(1): 2021/11/06(土)12:17 ID:gMWCsDzq(1) AAS
PCのOSがWindows10で、接続ってのがsambaとかネットワークコンピュータとかその類なら、
PCでSMBv1を有効にしてみてはどうか
931: 2021/11/06(土)12:17 ID:VD0TQjvO(1/19) AAS
>>926
だから、phpって、hashがないじゃん、arrayって配列でしょ
連想配列 = hash とも限らないよ
ってだけ
普通じゃないってのは
よそじゃ、hashだ、mapだ、dictionaryだって型があんだよ
私は、割りとPHP好きなんで、誤解しないでくださいね
当然、その動き前提でコード書きますわ
932(1): 2021/11/06(土)12:25 ID:Au2x2mqq(2/15) AAS
phpは連想配列しかない...好きな言語なら少しは勉強しろ
933: 2021/11/06(土)12:29 ID:VD0TQjvO(2/19) AAS
>>932
そうなの
でもそれ、hashじゃないんでしょ?
934(1): 2021/11/06(土)12:38 ID:Au2x2mqq(3/15) AAS
一般には
外部リンク:ja.wikipedia.org
の抽象データ型にある分類
この中のマップが連想配列に該当する
外部リンク:ja.wikipedia.org
hashと言ったときはhashtableが想定されるが、それ以外はどれも同じ抽象データ型を表す用語
外部リンク:ja.wikipedia.org
935(3): 2021/11/06(土)12:51 ID:FTVEcMyp(1) AAS
>>930
単純にwin11のChromeに外部リンク:192.168.50.2って入力しました
手元にある書籍ではこれでデフォルトのapacheのページが表示されるとあるんですが、表示されずに接続が切断されましたと表示されます。
そのSMBv1というのは設定してみます。
936(1): 2021/11/06(土)13:00 ID:Au2x2mqq(4/15) AAS
phpのコードを昔追ったときの記憶だけど、zendエンジンは基本hashを使いまくっているので多分実装はhashtableだと思う
全ては追ってないので確証はない
参考リンクはこちら
外部リンク[html]:www.phpinternalsbook-ja.com
外部リンク[html]:www.phpinternalsbook.com
外部リンク[html]:www.phpinternalsbook.com (まだ内容がない)
上下前次1-新書関写板覧索設栞歴
あと 66 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s