- 1
- 2
- 3
1С::Функторы::АппликативныйФунктор::Монад 1С::Монада::НаЭкран -> 1С::Монада::Символ,1С::Монада::СимволСлед
| Пустота = Отчёт.Откат()
| 1С::Буква = 1С::МонадаМир::ВводВывод::Печать 1С::Буква
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−119
1С::Функторы::АппликативныйФунктор::Монад 1С::Монада::НаЭкран -> 1С::Монада::Символ,1С::Монада::СимволСлед
| Пустота = Отчёт.Откат()
| 1С::Буква = 1С::МонадаМир::ВводВывод::Печать 1С::Буква
Многие интересуются, существует ли в 1С метод вывода монады на экран? Оказывается, существует!
Данный аппликативный функтор не требует теор.ката, хотя и не без улыбки, выводит квантовое состояние функциональной монады в виде стрелок и морфизмов.
PS Автор не я, а мой коллега, который, ковыряясь в 1С, обнаружил в нём "Функциональный режим"
+46
public function custom_result_object($class_name)
{
if (array_key_exists($class_name, $this->custom_result_object))
{
return $this->custom_result_object[$class_name];
}
if ($this->result_id === FALSE OR $this->num_rows() == 0)
{
return array();
}
// add the data to the object
$this->_data_seek(0);
$result_object = array();
while ($row = $this->_fetch_object())
{
$object = new $class_name();
foreach ($row as $key => $value)
{
$object->$key = $value;
}
$result_object[] = $object;
}
// return the array
return $this->custom_result_object[$class_name] = $result_object;
}
// --------------------------------------------------------------------
/**
* Query result. "object" version.
*
* @access public
* @return object
*/
public function result_object()
{
if (count($this->result_object) > 0)
{
return $this->result_object;
}
// In the event that query caching is on the result_id variable
// will return FALSE since there isn't a valid SQL resource so
// we'll simply return an empty array.
if ($this->result_id === FALSE OR $this->num_rows() == 0)
{
return array();
}
$this->_data_seek(0);
while ($row = $this->_fetch_object())
{
$this->result_object[] = $row;
}
return $this->result_object;
}
+62
_L1:
if(i$ >= len$)
break MISSING_BLOCK_LABEL_133;
Constructor constructor = arr$[i$];
if(Objects.equals(pattern, constructor.getParameterTypes()))
return instantiateByConstructor(constructor, params);
i$++;
goto _L1
return instantiateByClass(clazz);
Exception e;
e;
Exception cause = e;
TopS BI и где вы только находите таких программистов.......
+20
#include <iostream>
#include <functional>
using namespace std;
template<class TReceiver, class TResult>
struct TMessage
{
virtual const TResult sendTo(const TReceiver&) const = 0;
virtual const TResult sendTo(TReceiver&) const = 0;
virtual ~TMessage(void){}
};
template<class TReceiver, class T, class TResult=void>
struct TTypedMessage : public TMessage<TReceiver, TResult>
{
T _data;
explicit TTypedMessage(const T& data):_data(data)
{}
const TResult sendTo(const TReceiver& functor) const
{
return functor(_data);
}
const TResult sendTo(TReceiver& functor) const
{
return functor(_data);
}
};
class T1
{
typedef T1 TThis;
public:
void operator()(const int& i)const{cout <<"int"<< i<<endl;}
void operator()(const double& i)const{cout <<"double"<< i<<endl;}
void operator()(const std::reference_wrapper<double>& i)const{cout <<"double&"<< i.get()<<endl;}
template<class T>
void operator()(const T& i)const{cout << "UnknowenMesage"<<endl;}
};
class T2
{
typedef T2 TThis;
public:
void operator()(int i)const{cout <<"int"<< i<<endl;}
void operator()(double i)const{cout <<"doble"<< i<<endl;}
void operator()(std::reference_wrapper<double> i)const{cout <<"double&"<< i.get()<<endl;}
};
template<class TMessage, class TReceiver, class TResult=void>
TResult sendMessage(TReceiver& Receiver, TMessage& Message)
{
TTypedMessage<TReceiver, TMessage, TResult> TypedMessage(Message);
return TypedMessage.sendTo(Receiver);
}
template<class TMessage, class TReceiver, class TResult=void>
TResult sendMessage(const TReceiver& Receiver, TMessage& Message)
{
TTypedMessage<TReceiver, TMessage, TResult> TypedMessage(Message);
return TypedMessage.sendTo(Receiver);
}
template<class TMessage, class TReceiver, class TResult=void>
TResult sendMessage(TReceiver& Receiver, const TMessage& Message)
{
TTypedMessage<TReceiver, TMessage, TResult> TypedMessage(Message);
return TypedMessage.sendTo(Receiver);
}
template<class TMessage, class TReceiver, class TResult=void>
TResult sendMessage(const TReceiver& Receiver, const TMessage& Message)
{
TTypedMessage<TReceiver, TMessage, TResult> TypedMessage(Message);
return TypedMessage.sendTo(Receiver);
}
int main() {
T1 a;
T2 b;
sendMessage(a, 10);
sendMessage(a, 10.0);
double d=0;
sendMessage(a, std::ref(d));
sendMessage(b, 10);
sendMessage(b, 10.0);
sendMessage(b, std::ref(d));
sendMessage(a, string("kokoko"));
int aa=6;
sendMessage(a, aa);
return 0;
}
Найдено на просторах Интранета:
http://ideone.com/pMSA1p
В чем смысл? Так получается больше кода?
−94
#!/usr/local/bin/cpython
回答 = 读入('你认为中文程式语言有存在价值吗 ? (有/没有)')
如 回答 == '有':
写 '好吧, 让我们一起努力!'
不然 回答 == '没有':
写 '好吧,中文并没有作为程式语言的价值.'
否则:
写 '请认真考虑后再回答.'
http://ru.wikipedia.org/wiki/ChinesePython
Сопроваждай, пробуй!
+95
println (13.0 to 14.0 by 0.1);
println (1.3 to 1.4 by 0.01);
println (7.0 to 8.2 by 0.3);
//Output:
NumericRange(13.0, 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14.0)
NumericRange(1.3, 1.31, 1.32, 1.33, 1.34, 1.35, 1.36, 1.37, 1.38, 1.39)
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
at java.math.BigDecimal.divide(BigDecimal.java:1616)
Скала - говно. Вернее даже говнище. И это достойно отдельного поста.
Консолька для запуска тут:
http://www.simplyscala.com/
+141
public static string GetFormURLParams(bool ld, bool размещен, bool зарегистр, bool поступил, bool неДляРазмещения, bool удален,
string nomerDoc, string vhIshNom, string naim, string ntd,
string vidDoc, string razdel, string tipDok,
NullableDateTime датаДок1, bool датаДокПериод, NullableDateTime датаДок2,
NullableDateTime датаРег1, bool датаРегПериод, NullableDateTime датаРег2,
Территория территория, Улица улица, String дом1, Boolean диапазон, String дом2,
string keyWords, bool scYes, bool scNo, bool scCancel)
{
var str = GetOnlyOwnParams(ld, размещен, зарегистр, поступил, неДляРазмещения, удален,
nomerDoc, vhIshNom, naim, ntd,
vidDoc, razdel, tipDok,
keyWords, scYes, scNo, scCancel);
str += DatePickerPeriod.GetParams("dt1", датаДок1, датаДокПериод, датаДок2);
str += DatePickerPeriod.GetParams("dt2", датаРег1, датаРегПериод, датаРег2);
str += AdresSearch.GetParams("adr", территория, улица, дом1, диапазон, дом2);
return str;
}
ни много ни мало
+22
#include <iostream>
using namespace std;
auto fw(int i)->bool
{
return cout<<"Привет станция мир"<<i<<"!"<<endl, true;
}
auto ff()->bool
{
return cout<<"Это должно быть последние выполненное подвыражение."<<endl, false;
}
auto ft()->bool
{
return cout<<"Хьюстон, у нас КРЕСТОПРОБЛЕМЫ. Нарушен порядок вычисления и ленивость логических операторов. Мы падаем!!!!1111"<<endl, true;
}
struct TBabylonBug
{
bool a=true;
TBabylonBug(){}
TBabylonBug(bool a):a(a){}
const TBabylonBug operator&&(const bool ophui) const
{
return a&&ophui;
}
const TBabylonBug operator&&(const TBabylonBug& ophui) const
{
return a&&ophui.a;
}
};
int main() {
cout<<"кo"<<endl;
true&&fw(1)&&fw(2)&&ff()&&ft();
cout<<"кo ко"<<endl;
cout<<"TBabylonBug().a = "<<boolalpha<<TBabylonBug().a<<endl;
TBabylonBug()&&fw(1)&&fw(2)&&ff()&&ft();
cout<<"кo ко ко"<<endl;
return 0;
}
http://liveworkspace.org/code/efffb5204b0f69a2725b7d9f4ba0d570
+48
$sql='SELECT DISTINCT id,title,img,description,adder,added,
GROUP_CONCAT(DISTINCT cid,"-",caty ) AS caty,
GROUP_CONCAT(DISTINCT oid,"-",obs,"-",face,"-",rola,"-",typ) AS obs
FROM film
LEFT JOIN f_c ON f_c.f_id = film.id
LEFT JOIN cat ON f_c.c_id = cat.cid
LEFT JOIN f_o ON f_o.f_id = film.id
LEFT JOIN obs ON f_o.o_id = obs.oid
WHERE film.id ='.$fid;
$wynik=mysql_fetch_assoc(mysql_query($sql));
if(isset($wynik['id'])){
$array = explode(',', $wynik['obs']);
$r=array();//director - 0
$s=array();//Screenwriter - 1
$ak=array();//actors - 2
$akn=array();//actors 2 plan - 3
$np=array();//From Idea By - 4
$p=array();//producers - 5
$m=array();//music - 6
foreach ($array as $item)
{
$a = explode('-', $item);
if( $a[4] == 0 ) {
$r[] = $a[0].','.$a[1].','.$a[2].','.$a[3];
} elseif($a[4] == 1 ) {
$s[] = $a[0].','.$a[1].','.$a[2].','.$a[3];
} elseif($a[4] == 2 ) {
$ak[] = $a[0].','.$a[1].','.$a[2].','.$a[3];
} elseif($a[4] == 3 ) {
$akn[] = $a[0].','.$a[1].','.$a[2].','.$a[3];
} elseif($a[4] == 4 ) {
$np[] = $a[0].','.$a[1].','.$a[2].','.$a[3];
} elseif($a[4] == 5 ) {
$p[] = $a[0].','.$a[1].','.$a[2].','.$a[3];
} elseif($a[4] == 6 ) {
$m[] = $a[0].','.$a[1].','.$a[2].','.$a[3];
}
}
function dzielperson($data){
$i = 0;
$ile=count($data);
while ($i < $ile) {
$a = explode(",", $data[$i]);
$caty='<a href="/person/'.dolink($a[1]).'-'.$a[0].'" class="link1">'.$a[1].'</a>'.($i==($ile-1) ? '':', ');
$i++;
}
return $caty;
}
echo '<br>Title: '.$wynik[title];
echo '<br>Desription: '.$wynik[description];
echo '<br>directors: '.dzielperson($r);
echo '<br>screenwriters: '.dzielperson($s);
echo '<br>actors: '.dzielperson($ak);
echo '<br>actors 2 plan: '.dzielperson($akn);
echo '<br>From Idea By '.dzielperson($np);
echo '<br>Producers: '.dzielperson($p);
echo '<br>Music: '.dzielperson($m);
−154
sub makeCleanString {
my ($self, $uncleanString) = @_;
$uncleanString = lc($uncleanString);
my @allowedChars = ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "@", ".", " ");
my $cleanString = "";
# SPLIT THE uncleanString INTO AN ARRAY
my @usernameAR = split(//, $uncleanString);
my $usernameARcount = @usernameAR;
my $run=0;
for ($run=0;$run<$usernameARcount;$run++) {
if(grep $_ eq $usernameAR[$run], @allowedChars) {
$cleanString .= $usernameAR[$run];
}
}
return $cleanString;
}
Так же есть подобные методы только для букв и цифр