How to simplify if...then...else statements!?

Hi all!
Just a quickie really… Is there a better way of doing the following?

if layoutStyle = 1 then
	set horCount to 2
	set verCount to 1
else
	if layoutStyle = 2 then
		set horCount to 2
		set verCount to 2
	else
		if layoutStyle = 3 then
			set horCount to 4
			set verCount to 2
		else
			if layoutStyle = 4 then
				set horCount to 4
				set verCount to 4
			end if
		end if
	end if
end if

I’d appreciate any help on this, as this is something I will be using a lot in a script I’m using.
Thanks,
Juerg

: Hi all!
: Just a quickie really… Is there a better way of doing the
: following?
: if layoutStyle = 1 then
: set horCount to 2
: set verCount to 1
: else
: if layoutStyle = 2 then
: set horCount to 2
: set verCount to 2
: else
: if layoutStyle = 3 then
: set horCount to 4
: set verCount to 2
: else
: if layoutStyle = 4 then
: set horCount to 4
: set verCount to 4
: end if
: end if
: end if
: end if
: I’d appreciate any help on this, as this is something I will be
: using a lot in a script I’m using.
: Thanks,
: Juerg –
Is this what you had in mind?
set theCounts to {{2, 1}, {2, 2}, {4, 2}, {4, 4}}
set {horCount, verCount} to ¬
item layoutStyle of theCounts
vb

Ha! Yes! That’s PERFECT :slight_smile: If feel a bit stupid for not realising it myself!!! And there I was thinking that I was getting the hang of scripting… Oh well…
Thanks VERY much for your help.
Juerg

Well, Von’s already given the ideal solution to your particular problem, but as far as simplifying if blocks in general goes, you should also be aware of the ‘else if’ construct as a way of avoiding unnecessary nesting; eg:

if x = 1 then
	--do something
else if x = 2 then
	--do something else
else
	--do another thing
end if

HTH

has

Actually, THIS is what is was really after - thanks!
It just so happened that there was a better way of doing what I wanted to do!
I’ve now made good use of your suggestion in a different script :slight_smile:
Many thanks,
Juerg