En utilisant le premier "'" dans Julia variables

0

La question

J'ai beaucoup de variables et de matrices que je voudrais appeler avec un premier, comme:

xprime, yprime, rprime et ainsi de suite.

Je crois que je ne peux pas utiliser x', y', r' etc. comme c'est par exemple utilisée pour les matrices transposées.

julia> x' = 5
ERROR: syntax: invalid assignment location "x'" around REPL[2]:1
Stacktrace:
 [1] top-level scope at REPL[2]:1

julia> x = [1,2]
2-element Array{Int64,1}:
 1
 2

julia> x'
1×2 LinearAlgebra.Adjoint{Int64,Array{Int64,1}}:
 1  2

Je suis ouvert à toute suggestion d'une manière plus pratique que xprime, yprime etc. ce qui est assez long et laid, je pense.

julia variables
2021-11-22 13:53:52
1

La meilleure réponse

10

Vous pouvez utiliser le premier:

julia> x′ = 1
1

julia> x′
1

help?> ′
"′" can be typed by \prime<tab>

Notez la différence que j'utilise le (le premier), alors vous avez essayé d'utiliser ' (apostrophe). Utilisez l'apostrophe n'est pas autorisé dans le nom de la variable qu'il appelle adjoint de l'opération sur une valeur de précédent (que vous pouvez voir dans votre exemple).

Comme expliqué dans l'aide pour vous pouvez le saisir dans Julia REPL et dans la plupart des éditeurs configuré pour prendre en charge Julia en tapant \prime et en appuyant sur Tab.

2021-11-22 14:38:24

Cela peut atteindre les objectifs originaux, mais je dois dire que c'est mal pur, du point de vue de la lisibilité. Le naïf lecteur aura probablement aucune idée que \prime est utilisé au lieu de l'apostrophe. Ceci est similaire à l'utilisation de majuscules Alpha comme un nom de variable. Voir gist.github.com/tdunning/219ec70253542253cd66f1021d57e677 pour un exemple.
Ted Dunning

Convenu, aussi je vous conseille de ne pas utiliser de séquences de caractères qui serait modifié si quelqu'un a utilisé la normalisation Unicode sur la séquence qu'elle conduit à la confusion de l'utilisateur.
Bogumił Kamiński

Ainsi, à la fin, vous suggérons d'utiliser xprime, rprime comme je l'ai fait en premier?
JKHA

Il dépend. Si vous avez l'intention de votre code doit être lu par d'autres utilisateurs sans aucune référence alors oui, sans doute. Toutefois, si votre code ne pas utiliser l'algèbre linéaire (il n'y a pas de risque de confusion avec adjoint) et, par exemple, votre code reproduit textuellement les formules mathématiques à partir d'une feuille de papier (où le premier est utilisé), alors je pense que c'est OK pour l'utiliser. En résumé, je dirais: vous devez être sûr que la notation vous utilisation n'entraîne pas de lecteur de confusion. Un autre exemple est que les programmeurs sont généralement découragés de faire des variables avec le nom l comme dans de nombreuses polices de caractères, il semble tout de même à 1.
Bogumił Kamiński

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................