[解決済み] Luaの配列(テーブル)はなぜ0ではなく1から始まるのですか?
2022-05-10 06:01:28
疑問点
Luaのこの部分の判断の根拠がわかりません。なぜインデックス作成は 1 から始まるのでしょうか? 私は(他の多くの人がそうであったように)読みました この素晴らしい論文 . 私には、学ぶのもプログラミングするのも非常に快適な言語の、奇妙な隅っこにあるように思えます。誤解を恐れずに言えば、Luaは素晴らしい言語ですが、どこかに説明があるはずです。私が見つけたもの(ウェブ上)のほとんどは、インデックスが1から始まると言っているだけです。
このテーマについて設計者が何を言ったかを読むのは非常に興味深いことでしょう。
私はLuaの初心者ですが、テーブルについて何か明らかなことを見逃していないことを望みます。
どのように解決するのですか?
Luaは、コンピュータプログラミングの正式な訓練を受けていない石油技術者のために設計された言語であるSolの子孫です。 コンピュータの訓練を受けていない人は、ゼロから数え始めるのはひどく奇妙だと思うものです。 1 ベースの配列と文字列インデックスを採用することで、Lua の設計者は最初のクライアントとスポンサーの期待を裏切ることを避けました。
私も最初は変だと思いましたが、今では0ベースの配列が大好きになりました。 しかし、私は Lua の 1 ベースの配列でも大丈夫です。
Lua の汎用的な
for
ループと
ipairs
演算子を使えば、配列がどのようにインデックス付けされるかを気にする必要はありません。
関連
-
[解決済み] Luaのテーブルが空かどうかを判断する最も効率的な方法は?
-
[解決済み] 配列の反復処理に "for...in "を使用するのは、なぜ良くないのでしょうか?
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] 配列の結合/平坦化
-
[解決済み] JavaScriptで配列を比較する方法は?
-
[解決済み] JavaScriptで2つの配列の差を取得する方法は?
-
[解決済み] TypeScriptで配列の項目を削除するには?
-
[解決済み] Swift カスタムオブジェクトの配列をプロパティ値でソートする方法
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
-
[解決済み】Luaの文字列をintに変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ArrayIndexOutOfBoundsExceptionが発生しました。7Exception: at Test.m)
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] Swift カスタムオブジェクトの配列をプロパティ値でソートする方法
-
[解決済み] Swiftでリストアイテムのインデックスを見つける方法は?
-
[解決済み] jqで内部の配列の値に基づいてオブジェクトの配列をフィルタリングする方法は?
-
[解決済み】数値の配列が与えられたとき、他のすべての数値の積の配列を返す(除算なし)
-
[解決済み] 配列からランダムに要素を選ぶ
-
[解決済み] リストがどの程度ソートされているかを測定する方法はありますか?
-
[解決済み] bashで$@から最初の要素を削除する [重複] [重複
-
[解決済み] groovyの配列/ハッシュ/コレクション/リストに要素があるかどうかをチェックするには?