Используйте SHOW INDEX
как так:
SHOW INDEX FROM [tablename]
Документы: https://dev.mysql.com/doc/refman/5.0/en/show-index.html
a + b
, карта списка f
) Но, как и каждая функция, они имеют свои последствия, это часть дизайна, когда использовать:
Когда использовать неявный тип преобразования и обобщения вообще.
Ничего не бесплатно. Scala - мощный инструмент, поэтому вы можете навредить себе.
Одна вещь, которая мне нравится, - это возможность что-то написать например:
case class Person(name: String, age: Int)
Вместо:
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public int getAge{
return age;
}
public String toString() {
return String.format("Person(%s, %d)", name, age);
}
public boolean equals(Object other) {
if (other == this)
return true;
if (other.getClass() != getClass())
return false;
Person p = (Person) other;
return getName().equals(p.getName()) && getAge().equals(p.getAge());
}
public int hashCode() {
int h = getName().hashCode();
h = 37 * h + getAge(); //or whatever it is!
return h;
}
}
Я думаю, что двумя основными особенностями Scala являются:
Однако одна вещь, которая мне не слишком нравится наличие неявных преобразований (они похожи на неявное преобразование C ++), что звучит как быстрый взлом, например, клейкая лента
На ваше рассмотрение
В Scala есть мощная концепция множественного наследования: черты ! Это очень важно для того, чтобы приблизиться к наследованию реализации Эйфеля . Он также имеет некоторое сходство с примесными модулями Ruby .
Я с нетерпением жду возможности появления в 2.8 дополнительных именованных параметров. Они упростят создание самодокументируемого кода для неизменяемых объектов, поскольку вы можете использовать имена параметров при вызове конструктора.
Кроме того, возможности копирования в классах case в 2.8 упростят реализацию объектов «копирование при изменении» во многом подобно неизменяемым коллекциям, уже имеющимся в Scala.
Здесь мы работаем над Scala 2.8, поэтому некоторые из них еще не полностью выпущены ...
Scala особенно помогает при удалении шаблонов:
и добавление функциональных конструкций для дальнейшего уменьшения размера вашей программы:
Это также прекрасно работает с некоторыми недостатками дизайна в Java
I like the fact that functions are now Objects, and that primitives are wrapped by default. The ability of the compiler to intelligently infer type is also nice.
Я не согласен с некоторыми предположениями по этому вопросу.
Scala работает на JVM , поэтому поддержка параллелизма (на уровне ВМ) не может быть лучше, чем Java. Имейте в виду, акторы могут быть лучшей моделью, чем потоки Java , но я был бы удивлен, если бы акторы не могли быть реализованы на Java.
Кроме того, в Java есть Регулярные выражения .