2016-02-22 4 views
4

Разработчики говорят, что Crystal следует за синтаксисом языка Ruby. Могу ли я (или буду в будущем) просто требовать камень Ruby, и он волшебным образом строит и правильно работает и так далее?Можно ли использовать камни Ruby с кристаллом?

+0

Возможно, какой-то встроенный конвертер? –

ответ

12

No.

язык эволюционировал много и значительно отличается от Ruby, в эти дни. Хотя он немного похож на Ruby, если вы на самом деле его попробуете, вы быстро поймете, почему этот вопрос даже не возникает, за исключением самых простых камней, которые вы можете себе представить. Всего два примера:

Кристалл не имеет одинарные кавычки строковые литералы:

'c'  # Ok in Ruby and Crystal, but different things, 
      # a String in Ruby, a Char in Crystal 

"a string" # Ok in Ruby and Crystal, a String in both 

'a string' # Ok in Ruby, but a compile time error in 
      # Crystal, since character literals are for a single character 

Кристалл не может определить тип пустых массивов или хэшей:

["foo"]    # Ok in Ruby and Crystal, an Array in Ruby, 
         # an Array(String) in Crystal 

{"foo" => "bar"}  # Ok in Ruby and Crystal, a Hash 
         # in Ruby, a Hash(String, String) in Crystal 

[]      # Ok in Ruby, but a compile time error in Crystal 
[] of String   # Ok in Crystal, but a syntax error in Ruby 
{}      # Ok in Ruby, but a compile time error in Crystal 
{} of String => String # Ok in Crystal, but a syntax error in Ruby 

Вы можете прочитать, например here или here.