deciding on gender pronouns

It wouldn’t particularly surprise me if the compiler treats feminine as a synonym for feminine gender and gender as a synonym for grammatical gender. I haven’t checked though.

But it’s also possible that @Falsoon2 defined those in some code he didn’t show.

Delia is female, so I expected ‘her’. I’ll try [them].

EDIT: No, I still get ‘him’ instead of ‘her’ for that statement.

No matter what I put into that text substitution, it always comes up ‘him’ or ‘his’.
Am I defining the gender wrong?

I cannot get a non-male response from those statements. Here is how a male and female customer are defined.

A customer is a kind of person. A customer has some text called class. 
A customer has a gender. 
	
Ahaz is a customer. "a tall man in a monk's robe.".
Description of  Ahaz is "A tall man in a monk's robe. A massive mace leans against the table near him.".
Class of Ahaz is "cleric". Gender of Ahaz is masculine.

Delia is a customer.  "a woman, tall and beautiful with platinum blond hair.".
Description of  Delia is "A woman, tall and beautiful with platinum blond hair. She wears a purple robe cannot hide her attractive figure. A tall staff leans against the table beside her.".
Class of Delia is "mage". Gender of Delia is feminine.

I’m at a loss.
I deleted the Gender of Ahaz is masculine. and similar for Delia, but that wouldn’t compile. I thought that if you say someone is a man or woman, gender comes with it automatically. It doesn’t.

Well, I guess I must consider that internal gender mechanism broken and write code to determine him/her or his/her etc.
:unamused_face:

In your code, though, I don’t see you saying someone is a man or a woman. Delia is a customer, whose class is “mage”, whose gender is feminine; but you don’t say she is a woman.

If you remove the bits about customers having genders, and declare “Delia is a woman” and “Ahaz is a man”, doesn’t that give you the behaviour you want?

No, I tried that too. That didn’t even compile.

A customer is a kind of person. A customer has some text called class. 
A customer has a gender. 

If you look above, I define the gender of each customer (there are 12) as masculine or feminine. Someone above said there are internal mechanisms but they either don’t work or there is too much mechanism to make it clear.

Here is what I finally got to work.

After asking customer about something in the Inn:
	if class of noun is:
		-- "fighter": say "[noun] replies, 'Today is audition day! Why aren't you at the Stadium, or don't you think you can hack it?' ";
		-- "cleric": say "[noun] looks at you gently and pulls a silver piece from [if noun is masculine]his[else]her[end if] if pocket and gives it to you. 'Blessed be, my [informalGender]. Go in peace.' ";
		-- "mage": say "[noun] looks down at you, sniffs, and walks on. You hear [if noun is masculine]him[else]her[end if] say, 'I guess they'll let anyone in this place.' ";
		-- "scout": say "[noun] jerks as if startled. 'I didn't do nothing,' [if noun is masculine]he[else]she[end if] says.";
	say "Now everyone at the table gets up and leaves.";

[whirls in with cape-flourish]

DID SOMEONE SAY…oh.

[exeunts]

2 Likes

As I said above. You need to say “Delia is female”. If you do that, [them] will produce “her”.

2 Likes

Every person has a (non-grammatical) gender already part of them. Like Celtic said, it might be referring to grammatical gender.

Two separate issues. I was responding to your comment about the case not matching, which was because you were using [their] rather than [them]. This is unrelated to the gender issue, which has been explained by @Draconis.

Take out the following lines:

A customer has a gender.
Gender of Ahaz is masculine.
Gender of Delia is feminine.

And add the following:

Ahaz is male.
Delia is female.

That should work.

Male/female is an either/or pair, so you don’t have an option of saying “X of Who is Y”. If you want “it”, you can say they are neuter. To call them “they”, declare them as plural-named.

Grammatical gender (masculine and feminine) is a complete red herring here. That’s for stories in non-English languages with grammatical genders. For example, in Norwegian/Danish, you can use grammatical gender to make it so that “the priest” is a woman who has female pronouns (she, her, etc), but you can make her grammatical gender masculine so that Inform also knows that the word “priest” itself is a masculine noun which needs masculine pronouns and articles. You do not need or want this functionality; that is, unless you want to use the neuter property to use “it” as a pronoun for people, or the feminine gender to refer to inanimate objects such as ships as “her”, which are English’s only uses for grammatical gender, to my knowledge.

Just say “Delia is a woman” or “Delia is female”. Then “[they]”, “[them]”, “[their]” etc will automatically use the correct pronoun.

Note that the people suggesting you say Delia is a woman are wrong. That won’t work in your use-case, because Inform already knows that Delia is a customer, and a customer is not a kind of woman.

Just write Delia is female.

6 Likes

I did look, and I wondered why you were doing what seemed to me to reinvent the wheel. But, as Celtic Minstrel educates me…

Thank you for clarifying that. I was wondering why that was wrong; now I know. :wink:

(me! sorry)

HanonO: What was this about?

Divers alarums and excursions, probably.

“Divers alarums and excursions’, she read, uncertainly. ‘That means lots of terrible happenings, said Magrat. ‘You always put that in plays.’
’Alarums and what?’, said Nanny Ogg, who hadn’t been listening.
’Excursions’, said Magrat patienly.
’Oh.’ Nanny Ogg brightened a bit. ‘The seaside would be nice,’ she said.
’Oh do shut up, Gytha,’ said Granny Weatherwax. 'They’re not for you. They’re only for divers, like it says. Probably so they can recover from all them alarums.”
― Terry Pratchett, Wyrd Sisters

Excursions into naughtiness, too, I do believe.

1 Like

Thank you! This did work and shortened my code too.

I was making a poor joke that suddenly there’s something I can help with. I apologize for intruding in the thread.