|
|
|
|
|
by whstl
395 days ago
|
|
Good answer. To elaborate on it and provide examples. In languages that don't have expression inspection capabilities you have to replace the `(p) => p.Price < 100` part with something that is possible for the language to inspect. Normally it's strings or something using a builder pattern. For example, in TypeORM: queryBuilder.where("product.price < :price", { price: 100 })
And in Mongoose: Product.find({ price: { $lt: 100 } });
The LINQ-ish version would be: Product.find((p) => p.price < 100);
--Similarly, for Ruby on Rails: Product.where("price < ?", 100)
Ruby's Sequel overloads operators to have a more natural syntax: DB[:products].where { price < 100 }
But the "lambda" syntax would be: Product.where { |p| p.price < 100 }
|
|