Перейти к публикации
  • Сейчас на странице   Всего пользователей: 4   (0 пользователей, 4 гостя)

Kant

Программирование ver 4.1

Рекомендованные сообщения

(изменено)

А для чего в нормальном языке нужно сразу вызывать созданные анонимные функции? :palevo:

 

А вообще это может выглядеть примерно как ->{ puts 1 }.call


Изменено пользователем TycoooN

Поделиться сообщением


Ссылка на сообщение

А для чего в нормальном языке нужно сразу вызывать созданные анонимные функции? :palevo:

 

А вообще это может выглядеть примерно как ->{ puts 1 }.call

class CreateProducts < ActiveRecord::Migration
 def change
   suppress_messages do
  create_table :products do |t|
    t.string :name
    t.text :description
    t.timestamps
  end
   end
   say "Created a table"
   suppress_messages {add_index :products, :name}
   say "and an index!", true
   say_with_time 'Waiting for a while' do
  sleep 10
  250
   end
 end
end

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
(изменено)

например для инкапсуляции

 

var gay = (function(){
var gays = ['viza', 'tyson', 'kazik', 'rubish'];
return gays[Math.random()*gays.length|0]
}());


Изменено пользователем 2poy_nyasha

Поделиться сообщением


Ссылка на сообщение
(изменено)

А для чего в нормальном языке нужно сразу вызывать созданные анонимные функции? :palevo:

 

А вообще это может выглядеть примерно как ->{ puts 1 }.call

компораторы, кликхэндлеры, лисенеры, визиторы, и тд и тп :hmm: Хотя формально это конечно же классы, по крайней мере в java, Но чаще всего в них ровно 1 перегружаемый метод.


Изменено пользователем DIMAN123456789

Поделиться сообщением


Ссылка на сообщение

А для чего в нормальном языке нужно сразу вызывать созданные анонимные функции? :palevo:

 

А вообще это может выглядеть примерно как ->{ puts 1 }.call

компораторы, кликхэндлеры, лисенеры, визиторы, и тд и тп :hmm: Хотя формально это конечно же классы, по крайней мере в java, Но чаще всего в них ровно 1 перегружаемый метод.

CreateProducts тоже класс, но с виду не скажешь :(

Поделиться сообщением


Ссылка на сообщение

А для чего в нормальном языке нужно сразу вызывать созданные анонимные функции? :palevo:

 

А вообще это может выглядеть примерно как ->{ puts 1 }.call

class CreateProducts < ActiveRecord::Migration
 def change
suppress_messages do
  create_table :products do |t|
	t.string :name
	t.text :description
	t.timestamps
  end
end
say "Created a table"
suppress_messages {add_index :products, :name}
say "and an index!", true
say_with_time 'Waiting for a while' do
  sleep 10
  250
end
 end
end

 

Это к чему?

 

А для чего в нормальном языке нужно сразу вызывать созданные анонимные функции? :palevo:

 

А вообще это может выглядеть примерно как ->{ puts 1 }.call

компораторы, кликхэндлеры, лисенеры, визиторы, и тд и тп :hmm: Хотя формально это конечно же классы, по крайней мере в java, Но чаще всего в них ровно 1 перегружаемый метод.

 

И че они сразу вызываются после объявления? :hmm:

Поделиться сообщением


Ссылка на сообщение

К тому что твой раби на рельсах говно.

Можешь считать это началом холивара.

Давай, принимай удар. Оправдай этот костыль с официального сайта Ruby On Rails.

Поделиться сообщением


Ссылка на сообщение

В чем конкретно костыль?

Поделиться сообщением


Ссылка на сообщение

например для инкапсуляции

 

var gay = (function(){
var gays = ['viza', 'tyson', 'kazik', 'rubish'];
return gays[Math.random()*gays.length|0]
}());

 

Во всех нормальных языках и так локальные переменные локальны на уровне блока.

 

Создавать класс с названием CreateProducts. Не нарушение ли это семантики языка?

То есть из-за неправильного (сугубо на твой взгляд) названия класса миграций весь фреймворк говно? Ок.

Поделиться сообщением


Ссылка на сообщение

А че не так с названием миграции? Оо

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Я бы назвал CreateProductsTable. Но это дело вкуса, данный спор ни о чем, и ником образом не показывает хуевость языка / платформы. Всегда забавляли подобные холивары.

Поделиться сообщением


Ссылка на сообщение

ок, можно назвать CreateProductsMigration

слепо следовать стандартам / правилам - не всегда целесообразно (в данном конкретном случае, вообще никакой разницы нет имхо)

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

например для инкапсуляции

 

var gay = (function(){
var gays = ['viza', 'tyson', 'kazik', 'rubish'];
return gays[Math.random()*gays.length|0]
}());

 

Во всех нормальных языках и так локальные переменные локальны на уровне блока.

суть в том, что это будет переменной

например gay = 'tyson'

а вовсе не функцией

Поделиться сообщением


Ссылка на сообщение
(изменено)

Суть в том, что это просто нахуй не надо. Серьезно, кроме жабаскрипта нигде не видел таких извращений. Если нужно что-то вычислить, это выносится в отдельный метод.

А если уж очень надо, то в руби можно было бы сделать так:

 

gay = begin
 gays = %w[2poy TheDeadBrain diman]
 gays.sample
end

 

Просто захуячить блок кода, без гейских вызовов анонимных функций.


Изменено пользователем TycoooN

Поделиться сообщением


Ссылка на сообщение

Суть в том, что это просто нахуй не надо. Серьезно, кроме жабаскрипта нигде не видел таких извращений. Если нужно что-то вычислить, это выносится в отдельный метод.

А если уж очень надо, то в руби можно было бы сделать так:

 

gay = begin
 gays = %w[2poy TheDeadBrain diman]
 gays.sample
end

 

Просто захуячить блок кода, без гейских вызовов анонимных функций.

тебе пиздец

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

нет, оборачивания это очень мощная штука для создания модулей

Поделиться сообщением


Ссылка на сообщение

 

prodota = (test*)malloc(LENGTH_PD*sizeof(test));
for (int i = 0; i < LENGTH_PD; i++)
{
 prodota->x = (int**)malloc(X_ROWS*sizeof(int*));
 for (int j = 0; j < X_ROWS; j++)
 {
	  prodota->x[ j ] = (int*)malloc(X_COLS*sizeof(int));
 }
}

prodota->x = (int**)malloc(X_ROWS*sizeof(int*));

это же не обязательно в цикле?

ну, в "этом" ты выделяешь память под каждую строку матрицы. если не менять суть задачи, то обязательно.

 

так то ты можешь сразу выделить линейно память на X_ROWS*X_COLS элементов, а потом расставить указатели на нужные строки, правда, потом реаллок делать чуток напряжнее. на видяхах текстуры именно так и хранятся.

хм, почему же тогда память под обычный двумерный массив выделяется так?

 

int **array1 = (int **)malloc(nrows * sizeof(int *));
for(i = 0; i < nrows; i++)
  array1[i] = (int *)malloc(ncolumns * sizeof(int));

 

 

 

 

да, я проебался с тем индексом у массива продоты.

Ну и в чем твой вопрос не ясно, ведь у меня там точно такое же выделение памяти под двумерный массив в х, только делается это для каждого элемента массива продота.

просто уточнил, чтобы все четко было

 

Би май дарлинг

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...