Given the string contains several groups of non-blanks, would each group need to be surrounded with quotes and quotes within it doubled if not a number, or only if it contained one or more quotes? Or should the string be considered as one group? Again, when would quoting be needed?
On Sun, Feb 12, 2012 at 1:17 AM, R.E. Boss <r.e.b...@planet.nl> wrote: > The problem boils down to the fact that J requires a string (of chars) to > be > enclosed in (single) quotes and the inside quotes have to be doubled. > (Contrary to a spreadsheet (e.g.) where a cell is of type char if it is not > a number.) > But what if I don't want bother a user with these requirements, she enters > a > string and my verb does the enclosing and doubling, if necessary? > > > R.E. Boss > > > > -----Oorspronkelijk bericht----- > > Van: programming-boun...@jsoftware.com [mailto:programming- > > boun...@jsoftware.com] Namens Dan Bron > > Verzonden: zaterdag 11 februari 2012 20:35 > > Aan: J Programming > > Onderwerp: Re: [Jprogramming] quote problem > > > > Oh, just saw Henry's response and he interpreted your question > differently. > > > > If you're not typing these strings in, then what is the source? And what > is > > processing them (is it ;: ? if it's ". there's more to worry about than > proper > > quoting). > > > > Anyway, if the strings are coming from e.g. a file and the trouble is > with > > parsing them using ;: (instead of evaluating them in the immex session), > then > > you could try something along the lines of (#~ 2 * '''' = ]) y (i.e. > double > > singleton quotes). > > > > -Dan > > > > Please excuse typos; composed on a handheld device. > > > > -----Original Message----- > > From: Dan Bron <j...@bron.us> > > Sender: programming-boun...@jsoftware.com > > Date: Sat, 11 Feb 2012 14:05:16 > > To: Programming forum<programming@jsoftware.com> > > Reply-To: Programming forum <programming@jsoftware.com> > > Subject: Re: [Jprogramming] quote problem > > > > Unlike C, where \ introduces an escape sequence within string liberals, > in > J, > > the only special character in a literal is ' (single quote). > > > > So, to embed quotes in strings, double them up: a. i. '(`''3' . Of > course, > > recursively embedded quotes need quadrupling, octupling, etc (eg 'he said > > ''she said ''''yes'''', but she lied'', if you can believe that'). > > > > The syntax error in your first example is due to the juxtaposition of two > > nouns, the string '(`' and the number 3 . > > > > -Dan > > > > > > On Feb 11, 2012, at 1:04 PM, "R.E. Boss" <r.e.b...@planet.nl> wrote: > > > > > If I want to process an arbitrary string, I may encounter a string > which > > > might give a "syntax error" or an "open quote" message. > > > > > > How can I detect such a situation and how can I repair the given > string? > > > > > > > > > > > > a. i. '(`'3 > > > > > > |syntax error > > > > > > | a. i.'(`'3 > > > > > > > > > > > > a. i. '(`'3' > > > > > > |open quote > > > > > > | a.i.'(`'3' > > > > > > | ^ > > > > > > > > > > > > > > > > > > R.E. Boss > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see > > http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm