* * *

Author Topic: Set of strings (ordinal expression expected  (Read 1983 times)

bdexterholland

  • New member
  • *
  • Posts: 44
  • uh?
Re: Set of strings (ordinal expression expected
« Reply #15 on: February 09, 2017, 04:33:49 pm »
Code: Pascal  [Select]
  1. {$ifdef fpc}{$mode objfpc}{$H+}{$endif}
  2. uses
  3.   classes,sysutils;
  4. const
  5.   mystrings:array [0..26] of string = ('AC','AL','AP','AM','BA','CE',
  6.     'DF','ES','GO','MA','MT','MS','MG','PA','PB','PR','PE','PI','RJ',
  7.     'RN','RS','RO','RR','SC','SP','SE','TO');
  8.  
  9.  operator in (const AVAlue:string;const A:array of string)c:Boolean;
  10.  var L:TStringList;
  11.  begin
  12.    L := TStringList.Create;
  13.    C := False;
  14.    try
  15.      L.AddStrings(A);
  16.      C := L.IndexOf(AValue) <> -1;
  17.    finally
  18.      L.Free;
  19.    end;
  20.  end;
  21.  
  22. var
  23.  AValue:string;
  24. begin
  25.   AVAlue := 'SP';
  26.   if AValue in mystrings then
  27.     writeln('Found')
  28.   else
  29.     writeln('not found');
  30. end.
Can be more efficient, but you get the idea.

Lotta code for a simple problem.

Anyway, thanks for your help
[sleep .....]

Thaddy

  • Hero Member
  • *****
  • Posts: 3675
Re: Set of strings (ordinal expression expected
« Reply #16 on: February 09, 2017, 04:38:05 pm »
It is a generic solution that you can re-use. So write once applies ;) Not a lot of code for that... at all...

Thing is: set operators on strings do not exist, but you can overload all set operators to create that feature yourself ;)
Put them in a unit, and hey presto! we have the behavior that you expected.
« Last Edit: February 09, 2017, 04:44:45 pm by Thaddy »
Why do the Danish always try to fuck up any programming language?

bdexterholland

  • New member
  • *
  • Posts: 44
  • uh?
Re: Set of strings (ordinal expression expected
« Reply #17 on: February 18, 2017, 02:27:43 pm »
well yeah, that's a good hint!

so, why i doesn't came onboard in fpc lib?
[sleep .....]

Thaddy

  • Hero Member
  • *****
  • Posts: 3675
Re: Set of strings (ordinal expression expected
« Reply #18 on: February 18, 2017, 02:38:57 pm »
Because I didn't submit it?
It's trivial. And boring to code all of them. Once I need all of it, trust me, I will submit it  O:-)

There's also the small matter of interpretation... But, oh, well...

For example: do you want it to work like a set or like a tuple?
« Last Edit: February 18, 2017, 03:01:03 pm by Thaddy »
Why do the Danish always try to fuck up any programming language?

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus