1. ホーム
  2. arrays

[解決済み] Luaの配列(テーブル)はなぜ0ではなく1から始まるのですか?

2022-05-10 06:01:28

疑問点

Luaのこの部分の判断の根拠がわかりません。なぜインデックス作成は 1 から始まるのでしょうか? 私は(他の多くの人がそうであったように)読みました この素晴らしい論文 . 私には、学ぶのもプログラミングするのも非常に快適な言語の、奇妙な隅っこにあるように思えます。誤解を恐れずに言えば、Luaは素晴らしい言語ですが、どこかに説明があるはずです。私が見つけたもの(ウェブ上)のほとんどは、インデックスが1から始まると言っているだけです。

このテーマについて設計者が何を言ったかを読むのは非常に興味深いことでしょう。

私はLuaの初心者ですが、テーブルについて何か明らかなことを見逃していないことを望みます。

どのように解決するのですか?

Luaは、コンピュータプログラミングの正式な訓練を受けていない石油技術者のために設計された言語であるSolの子孫です。 コンピュータの訓練を受けていない人は、ゼロから数え始めるのはひどく奇妙だと思うものです。 1 ベースの配列と文字列インデックスを採用することで、Lua の設計者は最初のクライアントとスポンサーの期待を裏切ることを避けました。

私も最初は変だと思いましたが、今では0ベースの配列が大好きになりました。 しかし、私は Lua の 1 ベースの配列でも大丈夫です。 Lua の汎用的な for ループと ipairs 演算子を使えば、配列がどのようにインデックス付けされるかを気にする必要はありません。