이진 데이터를 stdout으로 출력하려고합니다 (Kemal을 사용하여 일부 동적 바이너리 데이터를 제공하기 위해). size = File.size("./img.png")
slice = Slice(UInt8).new(size)
File.open("./img.png") do |file|
file.read_fully(slice)
end
내가 성
레일 개발자로서 우리 서버에서 Nginx + Unicorn에 익숙합니다. 크리스탈 웹 앱/케말과 유사한 솔루션이 있습니까? 저는 Nginx 전문가가 아니지만 직접 crystal HTTP 서버 또는 Kemal 또는 빠른 http 서버에 proxy_pass를 사용할 수 있다고 가정합니다 ... 내가 놓치고 싶은 것은 프로세스 관리, GC 옵션, 다시 스폰하기,
나는 allocates 8mb stacks using mmap 프로그램을 실행 중입니다. 얼마나 많은 스택을 (10 만개를 목표로) 할당 할 수 있는지 테스트하는 동안 가상 메모리 크기는 예상대로 빠르게 증가하고 예약 된 크기는 작게 유지됩니다 (1GB 미만). 그러면 프로그램이 Cannot allocate new fiber stack: Cannot all
클래스를 Int32 유형의 age 특성으로 정의하고 제공되지 않을 경우 기본값을 지정합니다. 내가 처음 하나를 수행하는 방법을 알고 : class Person
def initialize(@age : Int32)
end
end
와 두 번째를 : class Person
def initialize(@age = 0)
로 정의하기 이처럼 사용이 실행시는 array = Container.new(Int32)
# or
array = Container.new(String)
그러나, 내가 얻을 : can't use Class as the type of instance variable @dtype of Crystalla::Ndarray, use a more specific
Crystal 개체에 대한 유효성을 정의하는 기본 방법이 있습니까? class Person
def initialize(@age : Int32)
end
end
가 어떻게 간단한 검증 if age < 18을 추가 할 수 있습니다 의이 클래스를 생각해 보자? 예는 : Person.new(10)
>> Error: attibute 'a
객체의 유형/클래스에 기반한 간단한 if 문을 사용해야합니다. 나는 사용자 정의 Array 클래스와 Matrix 클래스를 가지고 있습니다. if 문 내가 이것을 왜 exactyle입니다 undefined method 'number_of_cols' for Array
: Array 클래스의 요소는이 작업을 실행하는 경우 그러나, 나는 오류를 얻을 numbe
그래서 저는 루비 배경이없는 크리스탈을 배웠고 기본적으로 배열을 복사하기 위해 API가 #dup과 #clone 인 것으로 나타났습니다. 정확히 두 가지의 차이점은 무엇입니까? API는 #dup 얕은 배열은 #clone 깊은 배열은 배열을 말하는 동안 배열을 복사 말한다. 나는 그것이 정확히 무엇을 수반하는지 그리고 어느 것이 내가 사용해야 만하는지 명확하지
나는 이미 관련 질문을했습니다. here 대답이 내 문제를 해결했지만 유사한 문제가 계속 발생하기 때문에 크리스탈 체크 유형에 대한 일반적인 오해가 있습니다. 누군가 내가 이것을 이해하도록 도울 수 있다면 대단해. 저는 Ruby와 함께 훌륭하게 작동 할 많은 것들을 시도했지만 Crystal과는 절대적으로 일하지 않습니다 (나는 많은 차이점을 가지고 있지만
나는이 서명하는 기능이 있습니다 const char* get_version();
내 선언은 다음과 같습니다 fun get_version(): LibC::Char*
그리고 그것을 사용하는 : version = MyLib.get_version()
puts version # how to convert to String?
어떻게 리턴 문자열을 관리 할