Здравствуйте, eao197, Вы писали:
Не противопоставления ради, а для дополнения:
E>Единицы измерения
E>E>event_queue "airspace" do
E> generate_event_every 5.minutes + 26.seconds
E> collision_radius 197.feet + 6.inches
E>end
E>
Algebra:
(2 * #orange) + (3 * #apple) "= 2orange+3apple"
0.65s * #US * 100 "= 65.00US"
Второй вариант:
Measurements:
4 ~> 'kg' "makes 4 kilograms"
5 as: 'cd.m/hr2' "makes 5 meter-candelas per hour squared"
1 ~> 'm' ~> 'cm' "makes 1 meter, and converts it into 100 centimeters"
4 mL "makes 4 milliliters"
E>
E>Генерация XML
E>E>builder = SimpleBuilder.new
E>builder.entry { |x|
E> x.name me.name
E> x.email me.email
E>}
E>
E>результат
E>E><entry><name>Jim</name><email>jim@fakemail.com</email></entry>
E>
VW ST:
aBuilder entry: [:entry |
entry name: self name.
entry email: [:email |
item title: 'This is my email'.
item description: 'This is the description of the e-mail']].
Такая метода — стандартный способ генерации XHTML в
seaside.
E>
E>DSL вместо явного написания SQL
E>E>route "Problems" do
E> step "Problem Resolution"
E>end
E>route "EMail Order" do
E> step "Validate Customer"
E> step "Assemble Order"
E> step "Charge Credit Card" do
E> on "invalid", :route => "Problems", :step => "Problem Resolution"
E> end
E> step "Ship"
E>end
E>generate_sql
E>
E>вместо
E>E>INSERT INTO queues(id, name) VALUES (1, 'Validate Customer');
E>INSERT INTO queues(id, name) VALUES (2, 'Validate Books');
E>INSERT INTO queues(id, name) VALUES (3, 'Charge Credit Card');
E>INSERT INTO queues(id, name) VALUES (4, 'Ship Order');
E>INSERT INTO queues(id, name) VALUES (5, 'Problem Resolution');
E>INSERT INTO routes(id, name) VALUES (1, 'EMail Book Orders');
E>INSERT INTO routes(id, name) VALUES (2, 'Problems');
E>INSERT INTO steps(id, route_id, queue_id) VALUES(1, 1, 1);
E>INSERT INTO steps(id, route_id, queue_id) VALUES(2, 1, 2);
E>INSERT INTO steps(id, route_id, queue_id) VALUES(3, 1, 3);
E>INSERT INTO steps(id, route_id, queue_id) VALUES(4, 1, 4);
E>INSERT INTO steps(id, route_id, queue_id) VALUES(5, 2, 5);
E>INSERT INTO alternatives(id, step_id, code, next_step_id)
E> VALUES (1, 3, 'invalid', 5);
E>
ROE:
courseTitlesForProfessorNamed: aString
|courses|
courses := (professors * courses
select: [[:ea | (ea lastName = aString) & (ea id = ea professorID)].
^ (courses project: #title) copyFrom: 1 to: 10.
SELECT title
FROM Professor, Course
WHERE Professor.lastName = 'Foo' AND Professor.id = Course.professorID LIMIT 10
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>