2009-07-01 10 views
1

Je viens juste de commencer à essayer de ramasser la langue J, et je suis confus par ce qui suit:J @ ne fonctionne pas comme prévu

1 2 +/@{ i.4 
1 2 
    +/ 1 2 { i.4 
3 

quand dans la documentation @ il est dit: « xu @ vy ↔ uxvy »

Je suppose que je suis juste une partie confondant de la parole pour une autre, mais ne peut pas le comprendre

aussi, comment puis-je dire quel type de discours est un nom?

Répondre

4
 
    NB. u b. 0 returns the rank ofu 
    NB. the rank of a verb determines the arguments it applies to at a time 
    NB. monadic+ y applies to atoms; dyadic x + y applies to pairs of atoms 
    + b. 0 
0 0 0 
    NB. monadic+/ y and dyadic x +/ y apply to anything (unbounded rank) 
    +/ b. 0 
_ _ _ 
    NB. monadic{ y applies to arrays of atoms; 
    NB. dyadic x { y applies to pairs of atoms and anything 
    { b. 0 
1 0 _ 
    NB. u @ v has the rank of v 
    +/@{ b. 0 
1 0 _ 
    NB. since 1 2 { i.4 returns atoms at a time, +/ works on atoms 
    +/"0 [ 1 2 { i.4 
1 2 
    NB. u @: v has unbounded rank 
    +/@:{ b. 0 
_ _ _ 
    NB. +/ applies to all of 1 2 { i.4 at once 
    +/"_ [ 1 2 { i.4 
3 

    NB. mechanical translation to tacit form 
    13 : '+/ x { y' 
[: +/ { 
+0

très utile, merci :) – cobbal

0

Ah, je pense que je l'ai pensé à elle, je dois utiliser @: @ au lieu de

1 2 +/@:{ i.4 
3 

qui est ce que je voulais. Je suppose que je vais devoir lire un peu plus sur le classement, qui est la seule différence entre @ et @:

+0

Comment s'est passée votre étude du rang, cobbal? Une fois que j'ai finalement compris, c'était une expérience assez révélatrice. –

1

Wikipédia a, à mon avis biaisé, un writeup décent sur le rang, et ce que cela signifie dans le cadre des différentes parties du « discours » dans J.

Mais pour répondre à la question initiale, l'installation de trace de J peut être utile pour comprendre comment fonctionne la grammaire:

require'trace' 
    trace '1 2 +/@{ i.4' 

Cela vous prendra étape par étape à travers le processus d'analyse, montrant les mots étant consommés par chaque production règle et le résultat génère chacun.