4

I read the post Usage of "which", and am trying to frame my own sentence that uses "which".

Consider the sentences below. In the first, I want to say that variable shadowing is the reason that Class Sheltie does what it does. In the second, that the default constructor is also the body of the class. Is which correctly used?

• Class Sheltie of Dog.scala illustrates variable shadowing, which also explains why this class does what it does.
• This causes the default constructor to be invoked, which happens to be the body of the class itself.

1
  • I think you haven't had any answers because your sentence is confusing. If you think that the clause that begins with "which" refers to variable shadowing, then why does the rest of the clause refer to the class? Can you say what you want to say in 2 sentences, and we can help you construct a single sentence with a dependent clause?
    – JLG
    Jul 24, 2012 at 14:16

2 Answers 2

1

• Class Sheltie of Dog.scala illustrates variable shadowing, which also explains why this class does what it does.

The usage of which clouds the issue, in my opinion. To avoid confusion, you might rewrite this as:

Class Sheltie of Dog.scala exists to illustrate variable shadowing.


Regarding your second sentence:

• This causes the default constructor to be invoked, which happens to be the body of the class itself.

I believe this is a clear and proper use of which. You might say that the default constructor constitutes the body of the class as I get the feeling there are no other methods.

1
  • You are right. It makes sense to say that the default constructor constitutes the body of the class.. Jul 24, 2012 at 18:39
1

OP should have noted from "They have the Supreme Court on their side[,] which ruled in their favour" (in the linked question) that "which" can often apply to the entire preceding phrase.

OP's first example here is both clumsy phrasing and conceptually flawed. Per the above, the natural interpretation is the fact that Class Sheltie of Dog.scala illustrates variable shadowing is the reason the class does what it does. That can only make sense if we interpret it as meaning the class is specifically written for the purpose of illustrating variable shadowing.

But OP says the reason the class does what it does is because of variable shadowing, which I don't think that makes any sense at all. I'm stuck between a weird interpretation and a nonsense one.

The second example is natural English, and unambiguous. Although only the default constructor is referenced by which, not the whole of the preceding phrase, that's not a problem. It's the only plausible noun phrase, and we can easily see it's a suitable candidate for being the body of the class. It could be recast to put "which" closer to its referent, but that might seem a little more awkward...

This causes the default constructor, which happens to be the body of the class itself, to be invoked.


Note that if instead OP's second example had been...

This causes the default constructor to be invoked, which is undesirable.

...we're back with the "whole phrase" interpretation - it's not the default constructor which is undesirable, but the fact that something causes it to be invoked.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.