Изменения

Материал из Chaotic Onyx
Перейти к навигацииПерейти к поиску
Перевод кусочка оригинального гайда по DM "Выбор аргументов". Не претендую на полную точность перевода.
Строка 354: Строка 354:  
(Конечно, каждый настоящий программист знает, что конца не существует. В лучшем случае есть уровень полноты, к которому человек приближается асимптотически. В худшем... ну, неважно, в худшем, эти темные скелеты, трупные программы-паразиты, которые высасывают душу, пока человек снова не сдастся, набивая очередную тысячу строк запутанного спагетти-кода, извивающегося, как гнездо ленточных червей, и долгие бессонные ночи превращаются в недели, годы, а признаков завершения все еще нет! Так мне сказали. Будучи одним из веселых дневных программистов, ложащихся спать до полуночи и встающих на рассвете, я не знаю, правдивы ли такие истории ужасов. Если это случится с вами, я могу дать несколько советов по содержанию коровы).
 
(Конечно, каждый настоящий программист знает, что конца не существует. В лучшем случае есть уровень полноты, к которому человек приближается асимптотически. В худшем... ну, неважно, в худшем, эти темные скелеты, трупные программы-паразиты, которые высасывают душу, пока человек снова не сдастся, набивая очередную тысячу строк запутанного спагетти-кода, извивающегося, как гнездо ленточных червей, и долгие бессонные ночи превращаются в недели, годы, а признаков завершения все еще нет! Так мне сказали. Будучи одним из веселых дневных программистов, ложащихся спать до полуночи и встающих на рассвете, я не знаю, правдивы ли такие истории ужасов. Если это случится с вами, я могу дать несколько советов по содержанию коровы).
   −
== A Choice of Arguments ==
+
== Выбор аргументов ==
   −
Notice how in the previous section, there was a slight asymmetry in the two versions of wink. In one case the target was a mob argument and in the other it was the source. In the latter case, we specified that the source could be anywhere in view of the user, but in the case of the argument we never said anything about the range. What if we wanted to restrict winking to a shorter distance in that case?
+
Обратите внимание, что в предыдущем разделе в двух версиях "wink" была небольшая асимметрия. В одном случае целью был аргумент моба, а в другом - источник. В последнем случае мы указали, что источник может находиться в любом месте в поле зрения пользователя, но в случае с аргументом мы ничего не сказали о дальности действия. Что, если мы захотим ограничить подмигивание меньшим расстоянием в этом случае?
   −
As it happens, arguments can be limited in much the same way as the source of a verb.
+
Как оказалось, аргументы могут быть ограничены примерно так же, как и источник ''verb''.
   −
VerbName(Var1 as Type1 in List1,Var2 as Type2 in List2,...)
+
VerbName(Var1 as Type1 in List1,Var2 as Type2 in List2,...)
For example, here is a verb for prodding your neighbor.
+
 
 +
Например, вот ''verb'', с помощью которого можно подтолкнуть своего соседа.
    
  mob/verb/poke(M as mob in view(1))
 
  mob/verb/poke(M as mob in view(1))
 
     view() << "[usr] pokes [M]!"
 
     view() << "[usr] pokes [M]!"
   −
The use of the in clause in the argument definition limits the user's choice to mobs in neighboring positions. You can use any list expression to define the set of possible values. The most common ones are those available for defining the range of a verb source (section 4.3.3). When no in clause is used, the default list for mob, obj, turf, and area input types is view().
+
Использование выражения ''in'' в определении аргумента ограничивает выбор пользователя мобами, находящимися в соседних позициях. Для определения набора возможных значений можно использовать любое списочное выражение. Наиболее распространенными являются те, что используются для определения диапазона источника ''verb'' (раздел 4.3.3). Если выражение ''in'' не используется, списком по умолчанию для типов ввода mob, obj, turf и area является ''view()''.
   −
For example, here is a verb to communicate (by frequency modulated electromagnetic waves) with any other player in the game.
+
Например, вот ''verb'', позволяющий общаться (с помощью частотно-модулированных электромагнитных волн) с любым другим игроком в игре.
    
  mob/verb/commune(M as mob in world,txt as text)
 
  mob/verb/commune(M as mob in world,txt as text)
 
     M << "[usr] communes to you, '[txt]'"
 
     M << "[usr] communes to you, '[txt]'"
   −
Actually, world is an individual object, but in this context it is treated as a list and is therefore an abbreviation for world.contents, a list of every object in the game.
+
На самом деле, ''world'' - это отдельный объект, но в данном контексте он рассматривается как список и поэтому является сокращением от ''world.contents'', списка всех объектов в игре.
 
      
== Default Arguments ==
 
== Default Arguments ==
33

правки

Навигация