Skip to content

Instantly share code, notes, and snippets.

@dskecse
Last active May 22, 2026 09:07
Show Gist options
  • Select an option

  • Save dskecse/a1d168d1db0b312cb35346da9a4f5808 to your computer and use it in GitHub Desktop.

Select an option

Save dskecse/a1d168d1db0b312cb35346da9a4f5808 to your computer and use it in GitHub Desktop.
Fetching field values across the records in Python and Ruby
from dataclasses import dataclass
@dataclass
class FailureMode:
name: str
evaluation_criteria: str
failure_modes = [
FailureMode(name="incomplete_answer", evaluation_criteria="..."),
FailureMode(name="safety_violations", evaluation_criteria="..."),
FailureMode(name="unrealistic_tools", evaluation_criteria="..."),
FailureMode(name="overcomplicated_solution", evaluation_criteria="..."),
FailureMode(name="missing_context", evaluation_criteria="..."),
FailureMode(name="poor_quality_tips", evaluation_criteria="..."),
]
print(failure_modes[0].name) # => incomplete_answer
print([failure_mode.name for failure_mode in failure_modes]) # list comprehension
# => ['incomplete_answer', 'safety_violations', 'unrealistic_tools', 'overcomplicated_solution', 'missing_context', 'poor_quality_tips']
# class FailureMode
# attr_reader :name
#
# def initialize(name:, evaluation_criteria:)
# @name = name
# @evaluation_criteria = evaluation_criteria
# end
# end
FailureMode = Data.define(:name, :evaluation_criteria)
failure_modes = [
FailureMode.new(name: "incomplete_answer", evaluation_criteria: "..."),
FailureMode.new(name: "safety_violations", evaluation_criteria: "..."),
FailureMode.new(name: "unrealistic_tools", evaluation_criteria: "..."),
FailureMode.new(name: "overcomplicated_solution", evaluation_criteria: "..."),
FailureMode.new(name: "missing_context", evaluation_criteria: "..."),
FailureMode.new(name: "poor_quality_tips", evaluation_criteria: "..."),
]
puts failure_modes.first.name # => incomplete_answer
print failure_modes.map(&:name)
# => ["incomplete_answer", "safety_violations", "unrealistic_tools", "overcomplicated_solution", "missing_context", "poor_quality_tips"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment