본문 바로가기

[Ruby] 루비의 깔끔한 문법 1. @를 이용한 로컬 변수와, 인스턴스 변수의 구분 def foo @var1 = 1234 # 인스턴스 변수 var2 = 1234 # 지역 변수 end 루비는 변수 이름에 @를 붙이면 인스턴스 변수로 동작한다.이러한 강제적인 컨벤션은 완벽한 인텔리센스가 제공되지 못하는 루비 특성 상 굉장히 유용하며, 코드를 보았을 때 어떠한 변수가 인스턴스인지, 로컬인지를 한눈에 파악할 수 있도록 해준다.C++등에서 쓰이는 이름 앞에 m_를 붙이는 컨벤션보다 깔끔하다는것은 말할 것도 없다. 2. !, ? 를 접미사로 가지는 네이밍 규칙 queue.empty? # isEmpty buffer.reverse! # reverse한 결과를 복사-리턴하지 않고 자기 자신을 바꾸는것을 의미 메소드 뒤의 ? 는 이 메소드가 bool .. 더보기
[C#] string과 String의 차이 String -> System.String -> .Net Framework 타입string - > C# 타입 C# 타입이 .Net 타입에 별명임 더보기
[Go] Channel Direction https://gobyexample.com/channel-directions 채널을 함수의 파라미터로 사용할 때, 채널의 방향을 설정할 수 있습니다. 이렇게 방향이 정해진 채널은 수신 또는 송신만 수행할 수 있는데, 이러한 제약사항은 코드의 타입 안정성을 높혀줍니다. package main import "fmt" // ping 함수에 넘어오는 pings는 값을 전송하는것만이 가능합니다. // 만약 pings에 수신을 시도하면 컴파일 에러가 발생합니다. func ping(pings chan 더보기