Πώς να καταλάβετε γραφομηχανή υπογραφή δείκτη;




αν έχω έναν τύπο σαν αυτό



```
{[index: string]: number}

```

Αυτό σημαίνει ότι τα κλειδιά για το αντικείμενο μου μπορεί να είναι **συμβολοσειρά** και η αξία θα είναι **αριθμός** .


Ήθελα να ξέρω αν αυτή η λέξη `index`έχει καμία σημασία, π.χ., είναι μια διαφορά μεταξύ των δύο παρακάτω τύπους εκεί



```
{[index: string]: number}

```

και 



```
{[key: string]: number}

```

Θα είναι μεγάλη, αν κάποια αναφορά μπορεί να παρέχεται από docs.
Όχι, `index`είναι απλά ένα όνομα που έχει εκχωρηθεί για να δείξει το δείκτη. Πρακτικά και οι δύο τύποι είναι ίδιες.
Σύμφωνα με την [τεκμηρίωση](http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#M001735) , είναι ο αριθμός των χαρακτήρων για `:string`και `:text`τις στήλες και τον αριθμό των bytes για `:binary`και `:integer`στήλες. Ήμουν στην ευχάριστη θέση να βρουν [μια καλή συζήτηση](http://coding.derkeiler.com/Archive/C_CPP/comp.lang.c/2004-02/1382.html) για το θέμα αυτό, όπως δεν είχα πραγματικά δοθεί πολλή σκέψη πριν.


Εν ολίγοις, η οποία υπεγράφη είναι μια καλή γενική επιλογή - ακόμα και όταν είστε νεκροί βέβαιοι ότι όλοι οι αριθμοί είναι θετικές - αν πρόκειται να κάνετε αριθμητικές πράξεις με τη μεταβλητή (όπως σε ένα τυπικό για την περίπτωση loop). 


Αν πρόκειται να κάνετε bitwise πράγματα όπως μάσκες, ανυπόγραφο αρχίζει να κάνει περισσότερο νόημα. Ή, αν είστε απελπισμένοι για να πάρει αυτό το επιπλέον θετικό σειρά με την αξιοποίηση της λίγο σημάδι.


Προσωπικά, μου αρέσει να υπογραφεί γιατί δεν εμπιστεύομαι τον εαυτό μου να μείνει συνεπής και να αποφευχθεί η ανάμειξη των δύο τύπων (όπως το άρθρο προειδοποιεί). Αυτό είναι ένα αντίγραφο ερώτηση. 


**EDIT:** Δεν μπορώ να βρώ το πρωτότυπο: P μα καλά


α = a ++ χρησιμοποιεί το postincrement, η οποία compiler σας ερμηνεύει ως εξής:



```
a = function() {
   var old_value = a;
   a++;
   return old_value;
}

```

**EDIT 2:**  [Ποια είναι η διαφορά μεταξύ του Χ = Χ ++? vs X ++ ;?](https://stackoverflow.com/questions/226002/whats-the-difference-between-x-x-vs-x) Αυτά τα αναγνωριστικά αναφέρονται ακριβώς σε hobts ​​(Heap Ή Binary Tree), που βρέθηκαν στο sys.partitions. Δοκιμάστε το παρακάτω ερώτημα στο εσωτερικό της βάσης δεδομένων 10, και θα βρείτε ποιο αντικείμενο και η οποία δείκτη επηρεάζεται.



```
SELECT hobt_id, object_name(p.[object_id]), index_id 
FROM sys.partitions p 
WHERE hobt_id = 72057594060734464

``` Οι ακριβείς ορισμοί των `vsize`, `rss`, `rprvt`, `rshrd`, και άλλες σκοτεινές εμφάνιση συντομογραφίες ποικίλλουν από OS σε OS. Οι σελίδες του εγχειριδίου για τους `top`και `ps`τις εντολές θα έχουν κάποιο είδος της περιγραφής, αλλά όλες αυτές οι περιγραφές απλοποιηθεί σε μεγάλο βαθμό (ή βασίζονται σε μεγάλες εξαφανιστεί εφαρμογές πυρήνα).   

«Μέγεθος Διαδικασία» ως έννοια είναι τρομερά δύσκολο να γίνουν αντιληπτά στη γενική περίπτωση. Απαντήσεις σε συγκεκριμένες περιπτώσεις εξαρτάται σε μεγάλο βαθμό από την πραγματική εφαρμογή διαχείρισης μνήμης στο λειτουργικό σύστημα, και είναι σπάνια τόσο ικανοποιητικό όσο το καθαρό «μέγεθος διαδικασία» αντίληψη που υπάρχει στο μυαλό των περισσότερων χρηστών (και οι περισσότεροι developers).


Για παράδειγμα, κανένας από αυτούς τους αριθμούς (ούτε, πιθανότατα, οποιοσδήποτε συνδυασμός τους) μπορεί να χρησιμοποιηθεί για να σας πω ακριβώς πόσες τέτοιες διαδικασίες μπορεί να τρέξει ταυτόχρονα σε μια δεδομένη ποσότητα της ελεύθερης μνήμης. Αλλά πραγματικά, το καλύτερο στοίχημά σας είναι να έρθει κανείς από το σκοπό αυτό: γιατί θέλετε αυτόν τον αριθμό, και αυτό θα μπορείτε να το χρησιμοποιήσετε για; Δεδομένου ότι οι πληροφορίες, νομίζω ότι θα πάρετε περισσότερες χρήσιμες απαντήσεις. τα εισαγωγικά είναι απαραίτητα όταν το όνομα περιέχει κενά. το static όνομα δεν πρέπει να περιέχει κενά, οπότε δεν είναι απαραίτητο.

σε ένα ποιο πολύπλοκο παράδειγμα

[image]

βάζω και τα δύο ονόματα και το static και το pretty, δες πως το πρώτο δεν έχει κενά. εδώ τα εισαγωγικά είναι απαραίτητα, ώσ… Νομίζω ότι το καλύτερο που μπορείτε να κάνετε σε αυτή την περίπτωση είναι να πάρετε τη συμβολή τους και στη συνέχεια να τους δείξουμε τι νομίζεις ότι σημαίνει. Εάν διαφωνούν, να τους δείξουμε τη μορφή που περιμένουμε και να τους πάρει για να εισέλθετε ξανά. > 
> Θα προσπαθήσω να εξηγήσω λίγο περισσότερο. Ένα βιβλίο δεν χρειάζεται να έχουν έναν εκδότη. Το αντικείμενο εκδότης δεν είναι το ίδιο ως εκδότης-ονομασίας καταχωρισμένης ως συμβολοσειρά.
> 
> 
> Θα πρέπει να -Επιλέξτε ένα βιβλίο από μια υπάρχουσα λίστα
> 
> 
> Μπορείτε να ένα από τα παρακάτω -Επιλέξτε έναν εκδότη από μια υπάρχουσα λίστα ή -Μπορείτε να εισάγετε ένα όνομα εκδότη ή -Μπορείτε να συμπληρώσετε τίποτα για τον εκδότη
> 
> 
> 


Ακόμα καλεί για ένα αντικείμενο προσαρμοσμένο αποτέλεσμα. Τώρα έχετε τρεις τομείς ένα αντικείμενο βιβλίο, ένα αντικείμενο εκδότη, και ένα String εκδότη. Μπορείτε στη συνέχεια να περάσει στον κώδικα που μπορεί να ασχοληθεί με το θέμα έξυπνα. Θα μπορούσατε να προσθέσετε μεθόδους για την αντιμετώπιση των αναγκών προσαρμοσμένη επεξεργασία. Αλλά στο τέλος, είναι μια εξειδικευμένη αποτέλεσμα της εν λόγω διαλόγου και δεν θα πρέπει να είναι κάποια υποπεδίο του βιβλίου ή του εκδότη ή οποιοδήποτε άλλο αντικείμενο.


Αν το βιβλίο δεν είναι τίποτα ξέρεις ότι έχεις ένα σφάλμα, γιατί θα πρέπει να έχετε ένα βιβλίο. Έχετε τέσσερις συνδυασμούς των εκδοτών αντικειμένου και Publisher\_String για την αντιμετώπιση επίσης. Από αυτό δείχνει για μένα ότι θα πρέπει να έχετε μια τάξη να ασχοληθεί ειδικά με το αποτέλεσμα. Αν χρησιμοποιείτε τάξεις Objective-C, τότε η `[myObject isKindOfClass: [InterestingClass class]]`δοκιμή είναι διαθέσιμη. Αν χρησιμοποιείτε πρωτόγονων τύπων (η οποία ερώτησή σας, αναφέροντας το «διπλό» τύπου, προτείνει), τότε δεν μπορείτε. Ωστόσο, αν κάνετε κάποια πολύ funky πράγματα, ο compiler μπορεί να σας πει πότε πρωτόγονων τύπων ή δεν ταιριάζουν, και όταν δεν θα εκτελέσει έμμεση προώθηση στο επιθυμητό τύπο.


Θα ήταν χρήσιμο να γνωρίζουμε λίγο περισσότερα για το ποιο είναι το συγκεκριμένο πρόβλημα είναι ότι προσπαθείτε να λύσετε, διότι μπορεί να είναι ότι η λύση δεν περιλαμβάνει την ανίχνευση της δημιουργίας διπλασιάζεται σε όλα :-). Όχι, δεν υπάρχει πρότυπο σύμβασης, καθώς και κάθε εργαλείο που μετράει τους θα είναι λίγο διαφορετική.


Αυτό μπορεί να σας κάνει να ρωτήσω, «Γιατί τότε θα μπορώ να χρησιμοποιήσω ποτέ LOC ως μέτρο παραγωγικότητας;» και η απάντηση είναι, επειδή δεν έχει τόση σημασία το πώς θα μετρήσετε μια γραμμή κώδικα, για όσο διάστημα μπορείτε να υπολογίζετε συνέπεια μπορείτε να πάρετε μια ιδέα για το γενικό μέγεθος του έργου σε σχέση με τους άλλους.