Справка:Оформление кода

Материал из FedoraMD.org Wiki
Версия от 11:56, 16 июля 2008; OlegA (обсуждение | вклад) (Новая: Для лучшего чтения текста лучше выделять код в определенное поле, которое можно скопировать с точнос...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Для лучшего чтения текста лучше выделять код в определенное поле, которое можно скопировать с точностью до символа.

В вики предусмотренно несколько способов:

1. Включение кода в текст, используется тег <code></code>. Пример: Здесь код

2. Включение много сторчного кода, используется тэг <pre></pre>. Пример:

Здесь:

код

3. Включение кода с подсветкой, в зависимости от формата, языка текста, используется тэг <source lang=""></source>. В ковычках необходимо указать тип.

Список типов: 4gl, a4c, abp, ada, agda, ampl, amtrix, applescript, arc, arm, as, asm, asp, aspect, au3, avenue, awk, bat, bb, bib, bms, boo, c, cb, cfc, clipper, clp, cob, cs, css, d, diff, dot, dylan, e, erl, euphoria, exp, f77, f90, flx, frink, haskell, hcl, httpd, icn, idl, ini, inp, io, j, java, js, jsp, lbn, ldif, lgt, lisp, lotos, ls, lsl, lua, ly, m, make, mel, mib, miranda, ml, mo, mod3, mpl, ms, mssql, n, nas, nice, nsi, nut, oberon, objc, octave, oorexx, os, pas, php, pike, pl, pl1, pov, pro, progress, ps, ps1, psl, py, pyx, q, qu, r, rb, rexx, rnc, s, sas, sc, scala, scilab, sh, sma, smalltalk, sml, snobol, spec, spn, sql, sybase, tcl, tcsh, test_re, tex, ttcn3, txt, vb, verilog, vhd, xml, xpp, y

Пример PHP:

<?php  
class C1 extends C2 implements I1,I2{
  private $a;
  protected $b;
 
  function __construct($a,$b){
    parent::__construct($a,$b);
    $this->a = $a;
    $this->b = $b;
  }
 
  public function plus(){
    return $a+$b;
  }
/* ...............  */
}
 
$d = new C1(1,2);
echo $d->plus();
?>

Пример C++:

#include <iostream>   // для использования std::cout
#include <vector>     // для std::vector<>
#include <map>        // для std::map<> и std::pair<>
#include <algorithm>  // для std::for_each()
#include <string>     // для std::string
 
using namespace std;  // используем пространство имён "std"
 
void display_item_count(pair< string const, vector<string> > const& person) {
   // person - это пара двух объектов: person.first - это его имя,
   // person.second - это список его предметов (вектор строк)
   cout << person.first << " is carrying " << person.second.size() << " items" << endl;
}
 
int main()
{
   // объявляем карту со строковыми ключами и данными в виде векторов строк
   map< string, vector<string> > items;
 
   // Добавим в эту карту пару человек и дадим им несколько предметов
   items["Anya"].push_back("scarf");
   items["Dimitri"].push_back("tickets");
   items["Anya"].push_back("puppy");
 
   // Переберём все объекты в контейнере
   for_each(items.begin(), items.end(), display_item_count);
}

Пример Perl:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, world!";

Пример Python:

from timeit import Timer
def case1():  # А. инкрементальные конкатенации в цикле
    s = ""
    for i in range(10000):
        s += str(i)
 
def case2():  # Б. через промежуточный список и метод join
    s = []
    for i in range(10000):
        s.append(str(i))
    s = "".join(s)
 
def case3():  # В. списковое выражение и метод join
    return "".join([str(i) for i in range(10000)])
 
def case4():  # Г. генераторное выражение и метод join
    return "".join(str(i) for i in range(10000))
 
for v in range(1,5):
    print (Timer("func()","from __main__ import case%s as func" % v).timeit(200))