Vor kurzem bin ich in meiner Arbeit mit mehreren Sprachen in Kontakt gekommen, und wenn ich zwischen mehreren Sprachen hin und her wechsle, kann die einfache Syntax verwirrt werden.
Um meine Gedanken zu organisieren, werde ich dieses Mal untersuchen, wie die Anzahl der Elemente in einem Array in einigen Sprachen gezählt wird.
Alle von ihnen sind flach, daher hoffe ich, dass Profis in jeder Sprache einen ruhigen Blick darauf werfen. : bete:
▶︎ Go
Die Go-Sprache bietet "len ()" als integrierte Funktion. Daher können Sie die Anzahl der Elemente im Array in der Form "len (array)" abrufen.
In Go gibt es außerdem den Array-Typ und den Slice-Typ als Typen wie Arrays. Der Array-Typ von Go hat eine feste Anzahl von Elementen, und der Slice-Typ scheint näher zu sein, wenn er wie ein Array in anderen Sprachen verwendet wird. Daher wird Slice auch im folgenden Codebeispiel verwendet.
package main
import (
"fmt"
)
func main() {
languages := []string{"Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"}
fmt.Println(len(languages)) // -> 6
}
Go Playground: https://play.golang.org/p/r6yPBOU5uC
(Version der Autorenausführung: Laufzeitversion von Go Playfround → https://play.golang.org/p/1VcPUlPk_3)
Zusätzlich zu Array und Slice können Map, String, Channel usw. als Argument für len verwendet werden, und es scheint, dass die Länge, die dem Typ entspricht, zurückgegeben wird. (Array und Map sind die Anzahl der Elemente, String ist die Anzahl der Bytes usw.)
https://golang.org/pkg/builtin/#len
▶︎ JavaScript
In JavaScript hat Array die Eigenschaft length
.
Daher können Sie die Anzahl der Elemente mit array.length
abrufen.
var languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"];
console.log(languages.length); // -> 6
Es ist die length
-Eigenschaft von Array, aber es scheint beschreibbar zu sein, und es scheint, dass sich die Elemente im Array ändern, wenn die Länge verkürzt wird.
Ich wusste das zum ersten Mal.
languages.length = 3;
console.log(languages); // -> ["Go", "JavaScript", "PHP"]
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/length
▶︎ PHP
PHP bietet eine Funktion namens "count ()". Daher können Sie die Anzahl der Elemente in einem Array in der Form "count ($ array)" abrufen.
$languages = array("Go", "JavaScript", "PHP", "Python", "Ruby", "Swift");
// PHP 5.Nach 4 ist es OK, wie folgt zu schreiben
// $languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"];
echo(count($languages)); // -> 6
(Autorenausführungsversion: PHP 5.3.27) Alt. Lol
Es gibt auch einen Alias für "count ()" namens "sizeof ()", also ist es genau das gleiche.
Die Form der Übergabe eines Arrays an das Argument der integrierten Funktion ähnelt Go, aber im Gegensatz zu Go gibt die Übergabe eines Strings nicht die Anzahl der Bytes zurück.
http://php.net/manual/ja/function.count.php
▶︎ Python
In Python wird das Wortarray überhaupt nicht verwendet, und das Äquivalent eines Arrays wird als Liste bezeichnet. Verwenden Sie die integrierte Funktion "len ()", um die Anzahl der Elemente in der Liste abzurufen.
languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"]
print len(languages) # -> 6
(Autorenausführungsversion: Python 2.7.12)
In der Referenz
Argumente können Sequenzen (Zeichenfolgen, Bytes, Tapples, Listen, Bereiche usw.) oder Sammlungen (Wörterbücher, Mengen, eingefrorene Mengen usw.) sein.
Dies ähnelt also Go, und Sie können sehen, dass die Länge der anderen als die Liste zurückgegeben wird.
2 System http://docs.python.jp/2/library/functions.html#len 3er Serie http://docs.python.jp/3/library/functions.html#len
▶︎ Ruby
In Ruby verfügt die Array-Klasse über eine length
-Methode und einesize
-Methode, mit denen Sie die Anzahl der Elemente ermitteln können.
(Die Größenmethode scheint ein Alias für die Längenmethode zu sein.)
Da das in der Array-Klasse enthaltene Enumerable-Modul über eine "count" -Methode verfügt, können Sie die Anzahl der Elemente im Array auch mithilfe der count-Methode ohne Argumente in der Array-Klasse ermitteln.
languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"]
p languages.length # -> 6
p languages.size # -> 6
p languages.count # -> 6
(Autorenausführungsversion: Ruby 2.3.0)
Ich denke, der folgende Artikel wird für den Unterschied zwischen der Längenmethode und der Zählmethode hilfreich sein. http://qiita.com/saino-katsutoshi/items/7d761c026563a649d046
http://ruby-doc.org/core-2.3.0/Array.html#method-i-length
▶︎ Swift
In Swift verfügt die Array-Struktur über die Eigenschaft "count", sodass Sie die Anzahl der Elemente aus dieser Eigenschaft "count" abrufen können.
let languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"]
print(languages.count) // -> 6
(Autorenausführungsversion: Swift 3.0)
Die Array-Struktur entspricht dem "Collection" -Protokoll, daher muss die count-Eigenschaft definiert werden.
Es ähnelt auch der Eigenschaft length
von JavaScript in Bezug auf die Eigenschaften, aber die Eigenschaft count
von Swift ist schreibgeschützt, sodass Sie den Wert nicht neu schreiben können.
https://developer.apple.com/reference/swift/array/1539982-count
Als allererstes,
array_object.count_method_or_property
**Es scheint zu geben.
Selbst wenn es geteilt wird, ist "ob es sich um eine Eigenschaft oder eine Methode handelt" unterschiedlich und "ob der Inhalt des zurückgegebenen Werts vom Typ abhängt, der an das Argument übergeben wird" je nach Sprache unterschiedlich.
Es ist interessant, dass es von der Sprache abhängt, ob das Array-Objekt die Anzahl seiner Elemente verfolgt oder nicht.
Es gibt auch noch viele Teile, die ich nicht tief über jede Sprache gelernt habe, also werde ich nach und nach lernen.
Recommended Posts