Из эмпирического тестирования кажется, что max()
и min()
в списке вернут первое в списке, которое соответствует max()
/ min()
в случае связи:
>>> test = [(1, "a"), (1, "b"), (2, "c"), (2, "d")]
>>> max(test, key=lambda x: x[0])
(2, 'c')
>>> test = [(1, "a"), (1, "b"), (2, "d"), (2, "c")]
>>> max(test, key=lambda x: x[0])
(2, 'd')
>>> min(test, key=lambda x: x[0])
(1, 'a')
>>> test = [(1, "b"), (1, "a"), (2, "d"), (2, "c")]
>>> min(test, key=lambda x: x[0])
(1, 'b')
И Отличное слежение Джереми подтверждает, что это действительно так.
Вы можете бросить все, что бросается на Java.
class YourBoss extends Throwable {
}
public class Main{
public void main(String[] s) throws YourBoss {
try{
throw new YourBoss();
}catch(Exception e){
}catch(Error e){
}
}
}
Я бы определенно оказал Перлу честь иметь несколько ужасных примеров:
if(!$#var)
или
if($mystring =~ m/(\d+)/) {
либо в java (это если утверждение приводит к присвоению)
result = (Boolean condition) ? (if Boolean is true) : (if Boolean is false);
, либо
data Nat = Z|S Nat deriving Show
nattoInt Z = 0
nattoInt (S a) = 1 + nattoInt a
buildNat 0 = Z
buildNat a = S (buildNat (a - 1))
в Haskell... Я до сих пор не совсем понимаю, как это определяет натуральные числа (я прекрасно понимаю ТЕОРИЮ :-p)
.]Сегодня на всех языках:[
] [TypeA a = (TypeA)some_operation_returning_TypeB(1,2,3); // TypeB is not inheriting TypeA
]
[]не работает во время выполнения с сообщением (или подобным) "Cast to TypeA failed exception". Это говорит нам о том, насколько ленивы на самом деле программисты. Они никак не могут выдать сообщение "Не удалось присвоить переменной 'a' типаA значение 'some_operation_returning_TypeB(1,2,3)' типаB". Нееееет... их девиз - "Твой, кто делает ошибки, должен страдать"[
].] вот мои 2 цента. На c++: [
] [int* t = new int(15);
delete t;
] ]В c++[
] [const char* wtf()
{
char buf[100];
return buf;
}
string s = ... + wtf() + ...;
]
[]создает интересные значения в s. Частично строка, частично содержимое стека, смешанное с нулями, так что s.length()!=strlen(s.c_str()). Самое странное, что у компилятора нет абсолютно никаких проблем с возвращением указателей в стек - рука программиста компилятора, наверное, отвалилась бы, если бы он добавил туда предупреждение.[
].Я нахожу любовь Javascript Date Object к 110 году восхитительной... Попробуйте.
<Script language ="JavaScript">
<!--
var now = new Date()
var dia = now.getDay()
var mes = now.getMonth()
var fecha
//Day of the week
if(dia==0){
fecha="Domingo, ";
}else if(dia==1){
fecha="Lunes, ";
}else if(dia==2){
fecha="Martes, ";
}else if(dia==3){
fecha="Miércoles, ";
}else if(dia==4){
fecha="Jueves, ";
}else if(dia==5){
fecha="Viernes, ";
}else{
fecha="Sábado, ";
}
fecha = fecha + now.getDate() + " de "
//Which month is it?
if(mes==0){
fecha=fecha + "Enero"
}else if(mes==1){
fecha=fecha + "Febrero"
}else if(mes==2){
fecha=fecha + "Marzo"
}else if(mes==3){
fecha=fecha + "Abril"
}else if(mes==4){
fecha=fecha + "Mayo"
}else if(mes==5){
fecha=fecha + "Junio"
}else if(mes==6){
fecha=fecha + "Julio"
}else if(mes==7){
fecha=fecha + "Agosto"
}else if(mes==8){
fecha=fecha + "Septiembre"
}else if(mes==9){
fecha=fecha + "Octubre"
}else if(mes==10){
fecha=fecha + "Noviembre"
}else{
fecha=fecha + "Diciembre"
}
//Year
fecha = fecha + " del " + now.getYear()
document.write(fecha);
//-->
</Script>
Сценарий на испанском - извините, если вы не понимаете код... Идея в том, чтобы вы увидели результат 110 года.
Другая альтернатива состоит в том, чтобы иметь представление контейнера, которое добавляется в зависимости от того, какой taureView
является текущим в качестве подвида. Можно даже указать, что каждая таблица находится в другом контроллере ракурса, чтобы не разделять вещи, создав контроллеры ракурса табличного ракурса, а затем добавив .view в качестве подвида контейнера, но если вы это сделаете, вам придется вручную вызвать viewWillAppean
и viewWillDisapear
(что не очень сложно, так как вы просто называете их при замене таблиц при касании сегментированного элемента управления).
Android не предоставляет пути изменить языковой стандарт приложения; это делается на общесистемном уровне.
Что я полагаю имеет больше смысла, чем необходимость устанавливать язык в нескольких отдельных приложениях.
Edit, 2010-03-09:
Видимо, я ошибаюсь в этом не быть возможным для каждого приложения.
Вот вопрос, показывающий, что вы можете изменить языковой стандарт - очевидно, для каждого действия. В этом случае необходимо вручную выполнить ротацию экрана и другие изменения конфигурации, поскольку в противном случае Операция
будет перезапущена и при каких-либо изменениях вернется к исходной конфигурации
.
Изменение языкового стандарта в самом приложении
Android - принудительный языковой стандарт сбрасывается при изменении ориентации
В Python каждая последовательность содержит пустую последовательность.
answer = input("Enter 'Y[es] or N[o]:")
if answer in 'YyNn': # verify input
process(answer)
Просто нажимая на возврат в приведенном выше запросе, установите ответ
в значение null последовательности, передайте , если ответ в...
и обрабатываться как правильный ответ. Говоря более кратко:
>>> "ABCDEFGHIJ".__contains__("")
True
Как обычно, поведение Питона здесь математически и логически безупречно. Как я помню из давнего класса в теории набора: Пустой набор является членом каждого набора.
Это все еще удивительно в тех нескольких случаях, когда я был укушен этим, но я бы не имел этого по-другому.
Лучше всего показать вход в конкурс Perl Perl Perl в 2000 году:
#:: ::-| ::-| .-. :||-:: 0-| .-| ::||-| .:|-. :||
open(Q,$0);while(<Q>){if(/^#(.*)$/){for(split('-',$1)){$q=0;for(split){s/\|
/:.:/xg;s/:/../g;$Q=$_?length:$_;$q+=$q?$Q:$Q*20;}print chr($q);}}}print"\n";
#.: ::||-| .||-| :|||-| ::||-| ||-:: :|||-| .:|
Код полностью объяснен его автором в http://mysite.verizon.net/les.peters /id2.html
Не в стандартном контексте безопасности.
Если у вас есть ситуация, когда у вас возникли повышенные права безопасности (например, внутри пользовательского расширения браузера), то может стать возможным.
-121--1134656-в JavaScript:
2 == [2]
// даже незнакомец 2 == [[[[[[2]]]
// и вниз-правый орех var a = {"abc": 1}; [[[[«ABC»]]]] === A [«ABC»]; // Это также верно
, к счастью, добрые люди в Stackoverflow.com объяснили все это: http: /stackoverflow.com/questions/1724255/why-does-2-in-javascript
Тот факт, что в C ++ нет инкапсуляции (или Java). Любой объект может нарушать инкапсуляцию любого другого объекта, беспорядок с его личными данными, если это тот же тип. Например:
#include <iostream>
using namespace std;
class X
{
public:
// Construct by passing internal value
X (int i) : i (i) {}
// This breaks encapsulation
void violate (X & other)
{
other.i += i;
}
int get () { return i; }
private:
int i;
};
int main (int ac, char * av[])
{
X a(1), b(2), c(3);
a.violate (c);
b.violate (c);
cout << c.get() << endl; // "6"
}
В MOD_REWRITE
RewriteRule ^([a-zA-Z0-9_-]+)\.php$ $1/ [R,NC]
RewriteRule ^([a-zA-Z0-9_-]+)/$ $1\.php [NC,L]
вызовет:
"file.php > file > file.php > file > file.php > file > ..."
И наконец:
Error 500 Too Many Redirects
(В общем, я считаю, что редактирование файлов .htaccess так же утомительно, как построение правильно функционирующего регулярного выражения.)
PHP
$ php -r '::'
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
WTF? http://en.wikipedia.org/wiki/Scope_resolution_operator
Почему бы не сказать неожиданный T_SCOPE_RESOLUTION_OPERATOR
?