My point is that if my verb foo is presented to my user, then I must be able
to handle within foo that she can do something like

       foo 'it isn't'
|open quote
|          foo 'it isn't'
|                       ^

I want  'it isn't'  to be modified to  'it isn''t' , after which the
processing can begin.


R.E. Boss


> -----Oorspronkelijk bericht-----
> Van: programming-boun...@jsoftware.com [mailto:programming-
> boun...@jsoftware.com] Namens Henry Rich
> Verzonden: zondag 12 februari 2012 16:28
> Aan: Programming forum
> Onderwerp: Re: [Jprogramming] quote problem
> 
> Dan's solution
> 
>     ''''&([,(>:@:= # ]),[) 'old''string'
> 'old''string'
> 
> seems to fill the bill, except for the part about leaving the string as
> is if it starts & ends with a quote.  If you do that, how do you handle
> 
>    'it isn't'
> 
> and
> 
>    'it isn''t'
> 
> where the user first did, and second did not, properly double quotes?
> 
> Henry Rich
> 
> 
> On 2/12/2012 9:40 AM, R.E. Boss wrote:
> > The (input) string should be considered as one group (of chars).
> > Quoting is needed if the first or the last (or both) is not a quote, all
> > inside quotes should be doubled if they are not.
> >
> >
> > R.E. Boss
> >
> >
> >> -----Oorspronkelijk bericht-----
> >> Van: programming-boun...@jsoftware.com [mailto:programming-
> >> boun...@jsoftware.com] Namens Don Guinn
> >> Verzonden: zondag 12 februari 2012 14:03
> >> Aan: Programming forum
> >> Onderwerp: Re: [Jprogramming] quote problem
> >>
> >> 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
> >
> > ----------------------------------------------------------------------
> > 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

Reply via email to